From 9db78617fecc5c00daa6c2af348fc52bb21f517c Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 1 Jun 2026 18:36:56 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8A=A5=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stockShelfOrder/repository/po/StockShelfOrderPO.java | 3 +++ .../stockShelfOrder/repository/todo/StockShelfOrderDO.java | 4 ++++ .../interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java | 3 +++ .../resources/mapper/stockInOrder/StockInOrderMapper.xml | 5 +++++ .../mapper/stockShelfOrder/StockShelfOrderMapper.xml | 1 + 5 files changed, 16 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java index 434ad9dd0..8e4fa9f9c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/po/StockShelfOrderPO.java @@ -139,4 +139,7 @@ public class StockShelfOrderPO extends StockInOrderBasePO { @Excel(name = "批次号") private String batchNo; + + @ApiModelProperty("是否报关") + private Long needCustomsDeclaration; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java index 7c43fdc51..a5922b243 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/repository/todo/StockShelfOrderDO.java @@ -151,4 +151,8 @@ public class StockShelfOrderDO extends StockInOrderBaseDO { @ApiModelProperty("批次号") @Excel(name = "批次号") private String batchNo; + + @ApiModelProperty("是否报关") + private Long needCustomsDeclaration; + } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java index bece64af4..7f434bd31 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockShelfOrder/StockShelfOrderDTO.java @@ -140,4 +140,7 @@ public class StockShelfOrderDTO extends StockInOrderBaseDTO { @ApiModelProperty("批次号") @Excel(name = "批次号") private String batchNo; + + @ApiModelProperty("是否报关") + private Long needCustomsDeclaration; } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml index 3c3e82f8e..b899afa65 100644 --- a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml @@ -137,6 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ,b.notice_number, b.warehouse_id, b.warehouse_code, b.warehouse_name, b.shipper_id, b.shipper_code, b.shipper_name, b.order_type_code, b.order_type_name, b.supplier_id, b.supplier_code, b.supplier_name, b.expect_time, b.supply_chain_number, b.priority_level_code, b.priority_level_name, b.direct_warehouse, b.annex_url, b.material_quantity as in_order_material_quantity, b.quantity as in_order_quantity + ,b.NEED_CUSTOMS_DECLARATION @@ -195,6 +196,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and b.quantity = #{quantity} + + and b.need_customs_declaration = #{needCustomsDeclaration} + + diff --git a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml index 3c57d6b8f..793f86d71 100644 --- a/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockShelfOrder/StockShelfOrderMapper.xml @@ -104,6 +104,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.del_flag = #{delFlag} and a.del_flag = 1 + From 6254b61739d2ccca76d6f014976af2a993c0452c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Mon, 1 Jun 2026 18:50:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?PDA=E6=8B=A3=E8=B4=A7=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E5=8D=95=E5=8F=B7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeliveTaskApplicationService.java | 72 +++++++++++++++++-- 1 file changed, 67 insertions(+), 5 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveTask/DeliveTaskApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveTask/DeliveTaskApplicationService.java index ac93f0151..9d8f116e5 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveTask/DeliveTaskApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/deliveTask/DeliveTaskApplicationService.java @@ -1,5 +1,6 @@ package com.mhd.wms.application.service.deliveTask; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mhd.common.core.utils.StringUtils; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; @@ -9,11 +10,17 @@ import com.mhd.wms.domain.deliveTask.repository.po.DeliveTaskPO; import com.mhd.wms.domain.deliveTask.repository.po.DeliveTaskSumPO; import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO; import com.mhd.wms.domain.deliveTask.service.DeliveTaskDomainService; +import com.mhd.wms.domain.stockOutTaskOrder.entity.StockOutTaskOrder; +import com.mhd.wms.domain.stockOutTaskOrder.repository.facade.IStockOutTaskOrderService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.Collections; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 下发任务ApplicationService @@ -27,6 +34,9 @@ public class DeliveTaskApplicationService { @Autowired private DeliveTaskDomainService deliveTaskDomainService; + @Autowired + private IStockOutTaskOrderService stockOutTaskOrderService; + /** * 分页查询下发任务列表 @@ -62,13 +72,65 @@ public class DeliveTaskApplicationService { } // 不按 task_status 默认过滤;若请求传入 taskStatus 则仍可按状态筛选 List list = deliveTaskDomainService.queryListApp(deliveTaskDO); - // PDA 列表展示业务单号:task_number 存 RW* 任务流水,tracking_number 为收货/上架/拣货等来源单号 - list.forEach(po -> { - if (po != null && StringUtils.isNotBlank(po.getTrackingNumber())) { + applyPdaListDisplayTaskNumber(list); + return list; + } + + /** + * PDA 列表展示业务单号:库表 task_number 为 RW* 下发流水;tracking_number 为关联业务单号。 + * 拣货(taskType=3) tracking 存 JHZY* 作业单号(接收任务用),展示时反查 JH* 拣货单号,与收货/上架/复核口径一致。 + */ + private void applyPdaListDisplayTaskNumber(List list) { + if (CollectionUtils.isEmpty(list)) { + return; + } + List pickingTaskNumbers = list.stream() + .filter(po -> po != null && Integer.valueOf(3).equals(po.getTaskType())) + .map(DeliveTaskPO::getTrackingNumber) + .filter(StringUtils::isNotBlank) + .distinct() + .collect(Collectors.toList()); + Map pickingOrderNumberByTaskNumber = resolvePickingOrderNumberByTaskNumber(pickingTaskNumbers); + for (DeliveTaskPO po : list) { + if (po == null || StringUtils.isBlank(po.getTrackingNumber())) { + continue; + } + if (Integer.valueOf(3).equals(po.getTaskType())) { + String pickingOrderNumber = pickingOrderNumberByTaskNumber.get(po.getTrackingNumber()); + po.setTaskNumber(StringUtils.isNotBlank(pickingOrderNumber) + ? pickingOrderNumber + : po.getTrackingNumber()); + } else { po.setTaskNumber(po.getTrackingNumber()); } - }); - return list; + } + } + + /** 按 JHZY* 作业单号批量解析 JH* 拣货单号 */ + private Map resolvePickingOrderNumberByTaskNumber(List taskNumbers) { + if (CollectionUtils.isEmpty(taskNumbers)) { + return Collections.emptyMap(); + } + List rows = stockOutTaskOrderService.list(new LambdaQueryWrapper() + .in(StockOutTaskOrder::getTaskNumber, taskNumbers) + .eq(StockOutTaskOrder::getDelFlag, 1)); + if (CollectionUtils.isEmpty(rows)) { + return Collections.emptyMap(); + } + return rows.stream() + .filter(row -> StringUtils.isNotBlank(row.getTaskNumber())) + .collect(Collectors.toMap( + StockOutTaskOrder::getTaskNumber, + row -> normalizePickingOrderNumber(row), + (a, b) -> a)); + } + + private static String normalizePickingOrderNumber(StockOutTaskOrder row) { + String pickingOrderNumber = row.getPickingOrderNumber(); + if (StringUtils.isNotBlank(pickingOrderNumber) && pickingOrderNumber.startsWith("JH")) { + return pickingOrderNumber; + } + return row.getTaskNumber(); } /** From 7d4b3852ea8a170421c2ccb022ebaa4da2d7787b Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 1 Jun 2026 19:11:24 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8A=A5=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/pickingOrder/repository/po/PickingOrderPO.java | 3 +++ .../domain/pickingOrder/repository/todo/PickingOrderDO.java | 3 +++ .../wms/interfaces/dto/pickingOrder/PickingOrderDTO.java | 3 +++ .../resources/mapper/pickingOrder/PickingOrderMapper.xml | 6 ++++++ 4 files changed, 15 insertions(+) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java index d97950c84..6721e7bb2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/po/PickingOrderPO.java @@ -159,4 +159,7 @@ public class PickingOrderPO extends StockOutOrderBasePO { @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("是否报关") + private String needDeclareFlag; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java index 858f13adc..15c9d1428 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/repository/todo/PickingOrderDO.java @@ -206,4 +206,7 @@ public class PickingOrderDO extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("是否报关") + private String needDeclareFlag; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java index 5c20ebf3e..5294c2bee 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/pickingOrder/PickingOrderDTO.java @@ -174,4 +174,7 @@ public class PickingOrderDTO extends BaseVOEntity { @ApiModelProperty("推送人姓名") private String pushByName; + + @ApiModelProperty("是否报关") + private String needDeclareFlag; } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml index 470bfba95..c162f8537 100644 --- a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml @@ -32,6 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -108,12 +109,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.del_flag = #{delFlag} and a.del_flag = 1 + + and b.need_declare_flag = #{needDeclareFlag} +