From 81b9f5c7bb5c4131310bfae8fe9b0607de15f750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 8 Dec 2025 17:30:27 +0800 Subject: [PATCH] =?UTF-8?q?fix(inventory):=20=E4=BF=AE=E6=AD=A3=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E5=8F=B7=E8=B5=8B=E5=80=BC=E5=8F=8A=E7=89=A9=E6=96=99?= =?UTF-8?q?=E6=89=AB=E7=A0=81=E9=80=BB=E8=BE=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将InProduceOrderController中批次号赋值改为使用item.getBatchNo() - 在bomService扫描类型判断后正确设置物料齐套状态isQiTao - 根据物料编号匹配替换接收物料查询条件中的ID匹配为materialNo匹配 - 统一调整各Controller中获取扫描类型type的缩进格式 - 修正OutProduceController中获取扫描类型的位置及相关逻辑 - 优化TransferCompanyController更新仓储信息逻辑,避免空列表更新异常 - 调整SapService日志等级,SAP返回表打印改为trace,避免日志过多 - 修正WmsStructuralPackageOrderMapper.xml中字段别名factory_code为factory_no --- .../admin/controller/InProduceOrderController.java | 5 +++-- .../wms/admin/controller/OutProduceController.java | 2 +- .../admin/controller/TransferCompanyController.java | 13 ++++++++----- .../java/com/nflg/wms/admin/service/SapService.java | 2 +- .../pojo/qo/InProduceOrderReceiveMaterialQO.java | 4 ---- .../wms/common/pojo/vo/InProduceOrderItemVO.java | 7 +++++++ .../mapper/WmsStructuralPackageOrderMapper.xml | 2 +- 7 files changed, 21 insertions(+), 14 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 b2996a26..f9145ed7 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 @@ -224,7 +224,7 @@ public class InProduceOrderController extends BaseController { dto.setPrintNum(DF.format(BigDecimal.ONE)); } dto.setSupplierCode(""); - dto.setBatchNo(""); + dto.setBatchNo(item.getBatchNo()); dto.setQrCode(QRCodeUtil.generateQRCodeBase64(generateQRContent(dto, ""), 100, 100)); datas.add(dto); } @@ -304,6 +304,7 @@ public class InProduceOrderController extends BaseController { .toList(); Integer type = bomService.getScanType(it.getMaterialNo()); children.forEach(child -> { + child.setQiTao(Objects.nonNull(type)); if (Objects.equals(type, 0)) { child.setMustScan(false); } @@ -355,7 +356,7 @@ public class InProduceOrderController extends BaseController { datas.forEach(it -> { InProduceOrderReceiveMaterialQO materialQO = request.getItems() .stream() - .filter(q -> Objects.equals(q.getId(), it.getId())) + .filter(q -> StrUtil.equals(q.getMaterialNo(), it.getMaterialNo())) .findFirst() .orElse(null); if (Objects.isNull(materialQO)) { diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java index ab5f04c6..c70a56dc 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java @@ -281,7 +281,6 @@ public class OutProduceController extends BaseController { WmsOutProduce order = outProduceService.lambdaQuery().eq(WmsOutProduce::getNo, no).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List datas = outProduceItemService.getList(order.getId()); - Integer type = bomService.getScanType(order.getPlnbez()); return ApiResult.success(new OutProduce1VO() .setId(order.getId()) .setAufnr(order.getAufnr()) @@ -300,6 +299,7 @@ public class OutProduceController extends BaseController { .setMeins(item.getMeins()) .setNum(item.getSqsl().subtract(item.getNum())); vo.setQiTao(bomService.isParent(item.getMatnr())); + Integer type = bomService.getScanType(item.getMatnr()); if (vo.isQiTao() && Objects.equals(type, 1)) { vo.setChildren(bomService.getChildrenVO(item.getMatnr())); } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java index 9ac8710f..c611bae4 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java @@ -519,16 +519,19 @@ public class TransferCompanyController extends BaseController { .setCreateTime(Instant.now()) ); }); - List items = transferCompanyTicketItemService.getList(ticket.getId()); - items.removeIf(it -> qo.getItems().stream().anyMatch(q -> Objects.equals(q.getId(), it.getId()))); - VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(items)) - .throwMessage("以下物料未设置入库储位:" + StrUtil.join(",", items.stream().map(TransferCompanyItemVO::getMatnr).toList())); +// List items = transferCompanyTicketItemService.getList(ticket.getId()); +// items.removeIf(it -> qo.getItems().stream().anyMatch(q -> Objects.equals(q.getId(), it.getId()))); +// VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(items)) +// .throwMessage("以下物料未设置入库储位:" + StrUtil.join(",", items.stream().map(TransferCompanyItemVO::getMatnr).toList())); List ticketItems = qo.getItems().stream() + .filter(it -> StrUtil.isNotBlank(it.getBinNos())) .map(q -> new WmsTransferCompanyTicketItem() .setId(q.getId()) .setBinNos1(q.getBinNos()) ).toList(); - transferCompanyTicketItemService.updateBatchById(ticketItems); + if (CollectionUtil.isNotEmpty(ticketItems)) { + transferCompanyTicketItemService.updateBatchById(ticketItems); + } inventoryService.in(records.stream() .collect(Collectors.groupingBy(InMaterialScanRecord::getKey)) .values() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java index 5328d4ef..1b60fe37 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java @@ -415,7 +415,7 @@ public class SapService { .throwMessage(STATE.SAPErr, "SAP:" + structure.getString("MSG")); JCoTable table = function.getTableParameterList().getTable("T_OUT"); - log.info("SAP返回: {}", table); + log.trace("SAP返回: {}", table); List datas = JCoUtil.toBeanList(table, SAPMaterialInfoInOrderDTO.class); log.debug("数据:{}", JSONUtil.toJsonStr(datas)); return datas; diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderReceiveMaterialQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderReceiveMaterialQO.java index b3a8bed2..14c3af71 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderReceiveMaterialQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderReceiveMaterialQO.java @@ -1,7 +1,6 @@ package com.nflg.wms.common.pojo.qo; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; import lombok.Data; import java.util.List; @@ -9,9 +8,6 @@ import java.util.List; @Data public class InProduceOrderReceiveMaterialQO { - @NotNull - private Long id; - /** * 物料编号 */ 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 d7bc062d..c439e679 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 @@ -1,5 +1,6 @@ package com.nflg.wms.common.pojo.vo; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.experimental.Accessors; @@ -66,6 +67,12 @@ public class InProduceOrderItemVO { */ private String sernr; + /** + * 是否齐套物料 + */ + @JsonProperty("isQiTao") + private boolean isQiTao = false; + /** * 是否必须扫码,如果为false的话可以不扫码 */ diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderMapper.xml index bece4445..e53167a3 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderMapper.xml @@ -50,7 +50,7 @@