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}
+