From 08165d5018d1b132d541c0fbd1451c90a114edad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com>
Date: Fri, 29 May 2026 22:03:20 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E5=85=B8=E6=B7=BB=E5=8A=A0=E7=BB=84?=
=?UTF-8?q?=E7=BB=87=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=94=B6=E8=B4=A7=E6=89=B9?=
=?UTF-8?q?=E6=AC=A1=E5=8F=B7=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/system/SysDictDataMapper.xml | 3 +
.../ReceiptMaterialDetailImpl.java | 84 +++++++++++++++----
2 files changed, 72 insertions(+), 15 deletions(-)
diff --git a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml
index daae13bd7..4e2988ca2 100644
--- a/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml
+++ b/mhd-modules/mhd-system/src/main/resources/mapper/system/SysDictDataMapper.xml
@@ -43,6 +43,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND status = #{status}
+
+ AND organization_id = #{organizationId}
+
AND (top_organization_id = #{topOrganizationId} OR is_default = 'Y')
diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java
index 7043d3ab2..795912381 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java
@@ -439,8 +439,7 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl materialMoreDetailList = receiptMaterialDetailDO.getMaterialMoreDetailList();
if (CollectionUtils.isEmpty(materialMoreDetailList)) {
// 处理子项
@@ -1342,7 +1344,7 @@ public class ReceiptMaterialDetailImpl extends ServiceImpl list = receiptMaterialDetailDO.getMaterialMoreDetailList();
+ if (list == null) {
+ list = new ArrayList<>();
+ receiptMaterialDetailDO.setMaterialMoreDetailList(list);
+ }
+ boolean updated = false;
+ for (MaterialMoreDetailDO item : list) {
+ if ("批次号".equals(item.getBatchLabels())) {
+ item.setAttributeValue(batchNumber.trim());
+ updated = true;
+ break;
+ }
+ }
+ if (!updated) {
+ List built = buildMaterialMoreDetailFromReceiptFields(receiptMaterialDetailDO);
+ for (MaterialMoreDetailDO item : built) {
+ if ("批次号".equals(item.getBatchLabels())) {
+ list.add(item);
+ break;
+ }
+ }
+ }
+ }
+
+ /**
+ * 将收货明细批次号回写入库单明细 batch_number 字段
+ */
+ private void syncBatchNumberToInMaterialDetail(ReceiptMaterialDetailDO receiptMaterialDetailDO) {
+ if (receiptMaterialDetailDO == null) {
+ return;
+ }
+ Long inUniqueId = receiptMaterialDetailDO.getInUniqueId();
+ String batchNumber = receiptMaterialDetailDO.getBatchNumber();
+ if (inUniqueId == null || StringUtils.isBlank(batchNumber)) {
+ return;
+ }
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ UpdateWrapper updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("unique_id", inUniqueId)
+ .eq("del_flag", 1)
+ .set("batch_number", batchNumber.trim())
+ .set("update_by", loginUser.getUserid())
+ .set("update_by_name", loginUser.getUsername())
+ .set("update_time", new Date());
+ iInMaterialDetailService.update(updateWrapper);
+ }
+
}
\ No newline at end of file