From 6d3c1b388be4f631f0fcb056fa20c9743f9513f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 13 Nov 2025 18:17:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E8=AE=A2=E5=8D=95=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E8=BF=87=E8=B4=A6=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E6=98=AF=E6=B8=85=E7=82=B9=E4=BB=B6=EF=BC=8C=E5=88=99=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E4=B8=BB=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF=E8=BF=87?= =?UTF-8?q?=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InProduceOrderController.java | 48 ++++++++++++------- .../common/pojo/vo/InProduceOrderItemVO.java | 5 ++ 2 files changed, 37 insertions(+), 16 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java index 175cf6bd..7037c729 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java @@ -353,7 +353,6 @@ public class InProduceOrderController extends BaseController { } List materialNos = new ArrayList<>(); List records = new ArrayList<>(); - List input1 = new ArrayList<>(); datas.forEach(it -> { BigDecimal num = BigDecimal.ZERO; InProduceOrderReceiveMaterialQO materialQO = request.getItems().stream().filter(q -> StrUtil.equals(q.getMaterialNo(), it.getMaterialNo())).findFirst().orElse(null); @@ -382,20 +381,6 @@ public class InProduceOrderController extends BaseController { .setCreateBy(UserUtil.getUserName()) .setCreateTime(Instant.now()) ); - if (!order.getList()) { - Zwm00Mb107QO q = input1.stream().filter(ip -> StrUtil.equals(ip.getCHARG(), content.getBatchNo())).findFirst() - .orElseGet(() -> { - Zwm00Mb107QO qo = new Zwm00Mb107QO() - .setPWERK(it.getFactoryNo()) - .setPSMNG(BigDecimal.ZERO) - .setAMEIN(it.getUnit()) - .setLGORT(it.getWarehouseNo()) - .setCHARG(content.getBatchNo()); - input1.add(qo); - return qo; - }); - q.setPSMNG(q.getPSMNG().add(content.getNum())); - } } if (num.compareTo(it.getNum()) != 0) { materialNos.add(it.getMaterialNo()); @@ -410,6 +395,37 @@ public class InProduceOrderController extends BaseController { }); VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(materialNos)) .throwMessage("以下物料的扫码数量与收货数量不一致:" + StrUtil.join(",", materialNos)); + List input1; + List sernrs; + if (order.getList()) { + input1 = list.stream() + .filter(it -> Objects.equals(it.getParentId(), 0L)) + .map(it -> new Zwm00Mb107QO() + .setPWERK(it.getFactoryNo()) + .setPSMNG(it.getNum()) + .setAMEIN(it.getUnit()) + .setLGORT(it.getWarehouseNo()) + .setCHARG(it.getBatchNo())) + .toList(); + sernrs = list.stream() + .filter(it -> Objects.equals(it.getParentId(), 0L)) + .map(InProduceOrderItemVO::getSernr) + .toList(); + } else { + input1 = records.stream().collect(Collectors.groupingBy(InMaterialScanRecord::getBatchNo)) + .entrySet() + .stream() + .map(kv -> new Zwm00Mb107QO() + .setPWERK(kv.getValue().get(0).getFactoryNo()) + .setPSMNG(kv.getValue().stream().map(InMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) + .setAMEIN(kv.getValue().get(0).getUnit()) + .setLGORT(kv.getValue().get(0).getWarehouseNo()) + .setCHARG(kv.getKey())) + .toList(); + sernrs = records.stream() + .map(InMaterialScanRecord::getSerialNo) + .toList(); + } inventoryService.in(input1.stream().map(it -> new InventoryDTO() .setMaterialNo(request.getItems().get(0).getMaterialNo()) .setNum(it.getPSMNG()) @@ -419,7 +435,7 @@ public class InProduceOrderController extends BaseController { ); inMaterialScanRecordRespository.saveAll(records); //同步入库信息到SAP - Zwm00Mb107DTO dto = sapService.zwm00_mb107(order.getOrderNo(), UserUtil.getUserName(), input1, null); + Zwm00Mb107DTO dto = sapService.zwm00_mb107(order.getOrderNo(), UserUtil.getUserName(), input1, sernrs); order.setMblnr(dto.getE_MBLNR()); order.setMjahr(dto.getE_MJAHR()); order.setState((short) 1); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InProduceOrderItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InProduceOrderItemVO.java index 3f4655e3..dd847ff7 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InProduceOrderItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InProduceOrderItemVO.java @@ -60,4 +60,9 @@ public class InProduceOrderItemVO { * 批次号 */ private String batchNo; + + /** + * 序列号 + */ + private String sernr; }