From a4c6dc7d185fec2101154fa069ee6c3a5aaad61f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 28 May 2026 22:04:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=A3=E8=B4=A7=E5=8D=95=E5=8F=B7=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/po/StockOutTaskOrderPO.java | 3 ++ .../StockOutTaskOrderDomainService.java | 28 +++++++++++++++++++ .../stockOutTaskOrderAppApi.java | 4 +++ .../StockOutTaskOrderMapper.xml | 6 ++++ 4 files changed, 41 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutTaskOrder/repository/po/StockOutTaskOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutTaskOrder/repository/po/StockOutTaskOrderPO.java index a47876e0a..72dab9c3b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutTaskOrder/repository/po/StockOutTaskOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutTaskOrder/repository/po/StockOutTaskOrderPO.java @@ -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; diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutTaskOrder/service/StockOutTaskOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutTaskOrder/service/StockOutTaskOrderDomainService.java index 0715610a7..5b66ed57e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutTaskOrder/service/StockOutTaskOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutTaskOrder/service/StockOutTaskOrderDomainService.java @@ -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() + .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()); } } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutTaskOrder/stockOutTaskOrderAppApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutTaskOrder/stockOutTaskOrderAppApi.java index fdd9a7574..9e0549531 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutTaskOrder/stockOutTaskOrderAppApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutTaskOrder/stockOutTaskOrderAppApi.java @@ -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 list = stockOutTaskOrderApplicationService.queryList(stockOutTaskOrderDO); diff --git a/mhd_wms/src/main/resources/mapper/stockOutTaskOrder/StockOutTaskOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutTaskOrder/StockOutTaskOrderMapper.xml index da2493a12..b13339fc6 100644 --- a/mhd_wms/src/main/resources/mapper/stockOutTaskOrder/StockOutTaskOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockOutTaskOrder/StockOutTaskOrderMapper.xml @@ -80,6 +80,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.type = #{type} + + and a.task_number like 'JHZY%' + + + and a.task_number like 'FHZY%' + and a.warehouse_id = #{warehouseId}