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