From 78c9ab191ab119b4f041f0c3e93f924e470afdaf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com>
Date: Wed, 1 Jul 2026 11:35:22 +0800
Subject: [PATCH 01/10] =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=8B=A3=E8=B4=A7?=
=?UTF-8?q?=E5=8D=95=E6=89=93=E5=8D=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../domain/pickingOrder/repository/po/PickingOrderPO.java | 3 +++
.../resources/mapper/pickingOrder/PickingOrderMapper.xml | 5 +++--
2 files changed, 6 insertions(+), 2 deletions(-)
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 02fa68661..3e75cd15a 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
@@ -125,6 +125,9 @@ public class PickingOrderPO extends StockOutOrderBasePO {
@ApiModelProperty("出库单号")
@Excel(name = "出库单号")
private String outOrderNumber;
+ @ApiModelProperty("出库单id")
+ @Excel(name = "出库单id")
+ private String outOrderId;
@ApiModelProperty("业务单号")
@Excel(name = "业务单号")
diff --git a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml
index 19ef51784..df72d453e 100644
--- a/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml
+++ b/mhd_wms/src/main/resources/mapper/pickingOrder/PickingOrderMapper.xml
@@ -38,6 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -45,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a.picking_order_id, a.organization_id, a.organization_name, a.top_organization_id, a.order_number, a.picking_order_number,
a.status, a.type, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_name, a.quantity, a.weight_limit, a.volume_limit, a.material_quantity,
IFNULL((SELECT SUM(b.picking_quantity) FROM picking_material_detail b WHERE b.picking_order_number = a.picking_order_number AND b.del_flag = 1), 0) AS picking_quantity,
- a.picking_material_quantity, a.abnormal, a.task_distribution, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time,
+ a.picking_material_quantity, a.abnormal, a.task_distribution, a.remark, a.create_time, a.create_by, a.create_by_name, a.update_time,b.out_order_id,
a.update_by, a.update_by_name, a.del_flag,a.out_order_number, a.business_order_no, a.order_type_code, a.order_type_name, a.priority_level_code, a.priority_level_name
,a.push_status,a.push_time,a.push_by,a.push_by_name,
(SELECT m.goods_type FROM PICKING_MATERIAL_DETAIL d
@@ -144,7 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
,b.need_Declare_Flag
from picking_order a
- left join STOCK_OUT_ORDER b ON a.order_number = b.out_Order_number
+ left join STOCK_OUT_ORDER b ON a.order_number = b.out_order_number
From bc962c3131e72f5af9fa057196f149f3b06be94d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com>
Date: Wed, 1 Jul 2026 14:20:57 +0800
Subject: [PATCH 02/10] =?UTF-8?q?=E5=A4=8D=E6=A0=B8=E6=95=B0=E9=87=8F?=
=?UTF-8?q?=E6=A3=80=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reviewOrder/ReviewOrderApplicationService.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java
index 8e884d7c7..0329feb68 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java
@@ -336,6 +336,17 @@ public class ReviewOrderApplicationService {
syncOutOrderCheckQtyByReviewConfirm(reviewOrderId, loginUser);
// 与出库单「复核确认」一致:复核数量与拣货数量不一致时生成复核异常单(FHYC)
genOutOrderAbnormalAfterReviewConfirm(reviewOrderId);
+ // 校验:复核确认前,已复核数量必须等于计划数量
+ List details = reviewOrderMapper.queryDetailByReviewOrderId(reviewOrderId);
+ if (!CollectionUtils.isEmpty(details)) {
+ for (ReviewMaterialDetailPO detail : details) {
+ BigDecimal reviewed = nz(detail.getReviewedQty());
+ BigDecimal plan = nz(detail.getMaterialPlanQty());
+ if (reviewed.compareTo(plan) != 0) {
+ throw new ServiceException("该物料已复核数量不等于计划数量");
+ }
+ }
+ }
ReviewOrder order = reviewOrderMapper.selectById(reviewOrderId);
if (order == null) {
continue;
From 9511a389467e561f2058fd246483d53b23898788 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com>
Date: Wed, 1 Jul 2026 15:28:30 +0800
Subject: [PATCH 03/10] =?UTF-8?q?=E4=B8=80=E8=88=AC=E8=B4=B8=E6=98=93?=
=?UTF-8?q?=E6=8E=A8=E9=80=81=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...sinessDocumentOrderApplicationService.java | 85 ++++++++++++++++---
.../OrderWithMaterialDTO.java | 12 +++
.../OriginalImportExportDocumentApi.java | 61 +++++++++++++
3 files changed, 145 insertions(+), 13 deletions(-)
diff --git a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java
index 8d7aae772..f21dd00a0 100644
--- a/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java
+++ b/mhd_oms/src/main/java/com/mhd/oms/application/service/businessDocumentOrder/BusinessDocumentOrderApplicationService.java
@@ -25,6 +25,8 @@ import com.mhd.oms.domain.gwLog.entity.GwLog;
import com.mhd.oms.domain.gwLog.repository.mapper.GwLogMapper;
import com.mhd.oms.domain.documentPushMaterialRecord.entity.DocumentPushMaterialRecord;
import com.mhd.oms.domain.documentPushMaterialRecord.repository.mapper.DocumentPushMaterialRecordMapper;
+import com.mhd.oms.domain.erpCountry.entity.ErpCountry;
+import com.mhd.oms.domain.erpCountry.repository.mapper.ErpCountryMapper;
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO;
import com.mhd.oms.interfaces.dto.businessDocumentOrder.BusinessDocumentOrderDTO;
import com.mhd.system.api.model.LoginUser;
@@ -42,6 +44,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
+import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -93,6 +96,9 @@ public class BusinessDocumentOrderApplicationService {
@Resource
private DocumentPushMaterialRecordMapper documentPushMaterialRecordMapper;
+ @Resource
+ private ErpCountryMapper erpCountryMapper;
+
/**
* 分页查询【请填写功能名称】列表
*/
@@ -246,6 +252,10 @@ public class BusinessDocumentOrderApplicationService {
body.put("goodsType", goodsType != null ? goodsType : "");
body.put("ieFlag", order.getIeType() != null ? order.getIeType() : "");
body.put("corpCode", corpCode != null ? corpCode : "");
+ // 启运/运抵国地区(收货地→ErpCountry表)
+ body.put("stshipTrsarvNatcd", lookupErpCountryCode(order.getUnloadAreaId(), order.getUnloadName()));
+ // 贸易国地区(发货地→ErpCountry表)
+ body.put("tradeAreaCode", lookupErpCountryCode(order.getLoadingAreaId(), order.getLoadingName()));
List