拣货单号查询修改

This commit is contained in:
秦鸿展
2026-05-28 22:04:29 +08:00
parent f905b77316
commit a4c6dc7d18
4 changed files with 41 additions and 0 deletions
@@ -90,6 +90,9 @@ public class StockOutTaskOrderPO extends BaseVOEntity {
@Excel(name = "拣货单号")
private String pickingOrderNumber;
@ApiModelProperty("复核单号(仅 taskType=4 复核作业时有值;库表复用 picking_order_number 存 FH 单号)")
private String reviewOrderNumber;
@ApiModelProperty("计划数量(明细计划数量汇总,与作业明细 quantity 一致)")
@Excel(name = "计划数量")
private BigDecimal quantity;
@@ -406,9 +406,37 @@ public class StockOutTaskOrderDomainService {
if (taskNumber.startsWith("FHZY")) {
po.setTaskType(4);
po.setStatusName(mapReviewStatusName(po.getStatus()));
// 复核作业单生成时把复核单号写入 picking_order_number,列表/详情单独暴露 reviewOrderNumber
po.setReviewOrderNumber(po.getPickingOrderNumber());
} else {
po.setTaskType(3);
po.setStatusName(mapPickingStatusName(po.getStatus()));
resolvePickingOrderNumberForPickTask(po);
}
}
/**
* 拣货作业(JHZY)的 picking_order_number 应为 JH 拣货单号;若误存 FH 复核单号则按出库单号反查拣货单。
*/
private void resolvePickingOrderNumberForPickTask(StockOutTaskOrderPO po) {
if (po == null) {
return;
}
String stored = po.getPickingOrderNumber();
if (stored != null && stored.startsWith("JH")) {
return;
}
if (!StringUtils.hasText(po.getOrderNumber())) {
return;
}
PickingOrder row = pickingOrderService.getOne(new LambdaQueryWrapper<PickingOrder>()
.eq(PickingOrder::getOrderNumber, po.getOrderNumber())
.eq(PickingOrder::getDelFlag, 1)
.likeRight(PickingOrder::getPickingOrderNumber, "JH")
.orderByDesc(PickingOrder::getCreateTime)
.last("LIMIT 1"));
if (row != null && StringUtils.hasText(row.getPickingOrderNumber())) {
po.setPickingOrderNumber(row.getPickingOrderNumber());
}
}
@@ -40,6 +40,10 @@ public class stockOutTaskOrderAppApi extends BaseController {
{
//转换实体
StockOutTaskOrderDO stockOutTaskOrderDO = stockOutTaskOrderAssembler.toDO(stockOutTaskOrderDTO);
// PDA 拣货列表仅查拣货作业(JHZY*);复核作业(FHZY*)的 picking_order_number 存的是复核单号 FH*
if (stockOutTaskOrderDO.getTaskType() == null) {
stockOutTaskOrderDO.setTaskType(3);
}
startPage();
stockOutTaskOrderDO.setOperatorsBy(SecurityUtils.getLoginUser().getUserPo().getUserId());
List<StockOutTaskOrderPO> list = stockOutTaskOrderApplicationService.queryList(stockOutTaskOrderDO);
@@ -80,6 +80,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="type != null ">
and a.type = #{type}
</if>
<if test="taskType != null and taskType == 3">
and a.task_number like 'JHZY%'
</if>
<if test="taskType != null and taskType == 4">
and a.task_number like 'FHZY%'
</if>
<if test="warehouseId != null ">
and a.warehouse_id = #{warehouseId}
</if>