From a39074d437f8d6a640823a88b18157420c7c56b5 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Wed, 23 Jul 2025 15:47:32 +0800 Subject: [PATCH] =?UTF-8?q?mdf:=E5=85=A5=E5=BA=93=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E6=B7=B7=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InBillServiceImpl.java | 22 ++++++++++++------- .../service/impl/OutBillServiceImpl.java | 1 + 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java index dd5099e..7ddeee9 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/InBillServiceImpl.java @@ -53,6 +53,8 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.math.BigInteger; import java.util.*; +import java.util.function.Predicate; +import java.util.function.ToIntFunction; import java.util.stream.Collectors; /** @@ -375,7 +377,8 @@ public class InBillServiceImpl extends ServiceImpl i struct_id = struct.getStruct_id(); struct_code = struct.getStruct_code(); struct_name = struct.getStruct_name(); - } else { + } else + { Structattr structattr = iStructattrService.findById(map.get("struct_id")); MdPbStoragevehicleinfo mdPbStoragevehicleinfo = mdPbStoragevehicleinfoMapper.selectOne(new LambdaQueryWrapper<>(MdPbStoragevehicleinfo.class) .eq(MdPbStoragevehicleinfo::getStoragevehicle_code, map.get("storagevehicle_code")) @@ -419,13 +422,16 @@ public class InBillServiceImpl extends ServiceImpl i .eq(IOStorInvDis::getIostorinv_id,iostorinvId) .eq(IOStorInvDis::getStoragevehicle_code,storagevehicleCode) ); - //维护单据明细表里 分配数量 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("iostorinvdtl_id",map.get("iostorinvdtl_id")); - jsonObject.put("bill_status",IOSEnum.BILL_STATUS.code("分配完")); - jsonObject.put("assign_qty",map.get("plan_qty")); - jsonObject.put("unassign_qty","0"); - ioStorInvDtlMapper.updateById(jsonObject.toJavaObject(IOStorInvDtl.class)); + //维护单据明细表里分配数量 + List dtlCollect = disList.stream().map(IOStorInvDis::getIostorinvdtl_id).collect(Collectors.toList()); + List dtls = ioStorInvDtlMapper.selectList(new LambdaQueryWrapper().in(IOStorInvDtl::getIostorinvdtl_id, dtlCollect)); + for (IOStorInvDtl dtl : dtls) { + int disQtySum = disList.stream().filter(dis -> dis.getIostorinvdtl_id().equals(dtl.getIostorinvdtl_id())).mapToInt(value -> value.getPlan_qty().intValue()).sum(); + dtl.setBill_status(IOSEnum.BILL_STATUS.code("分配完")); + dtl.setAssign_qty(BigDecimal.valueOf(disQtySum)); + dtl.setUnassign_qty(BigDecimal.valueOf(0)); + ioStorInvDtlMapper.updateById(dtl); + } //根据单据标识判断分配明细是否都已经分配完成 int disCount = ioStorInvDisMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDis.class) .eq(IOStorInvDis::getIostorinv_id, iostorinvId) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java index a0172ed..6ce16ec 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/impl/OutBillServiceImpl.java @@ -370,6 +370,7 @@ public class OutBillServiceImpl extends ServiceImpl i mater.setQty(unassign_qty); mater.setPcsn(pcsn); mater.setMaterial_code(material_code); + mater.setMaterial_id(material_id); List list = new ArrayList<>(); list.add(mater); List structMaterials = iStructattrService.outBoundSectDiv(