From 9a54619974c146426e9471926499b3ac273527fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 25 May 2026 14:07:23 +0800 Subject: [PATCH] =?UTF-8?q?bug-1510=20=E5=8F=91=E8=B4=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?-=E6=9D=A1=E7=A0=81=E6=89=93=E5=8D=B0-=E7=89=A9=E6=96=99?= =?UTF-8?q?=E7=A0=81=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/WmsShipmentMaterialCode.java | 2 +- .../controller/MaterialCodeController.java | 12 +++++++ .../controller/PackagingCodeController.java | 32 +++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsShipmentMaterialCode.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsShipmentMaterialCode.java index 42c2db7a..3daad8b2 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsShipmentMaterialCode.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsShipmentMaterialCode.java @@ -62,7 +62,7 @@ public class WmsShipmentMaterialCode implements Serializable { private String orderDate; /** - * 状态,0:未开始;1:打包中;2:已完成 + * 状态,0:未装货;1:已装货;2:已装车;3:已发车;4:已收货 */ private Integer status; diff --git a/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/MaterialCodeController.java b/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/MaterialCodeController.java index 8e39c328..c4556ef0 100644 --- a/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/MaterialCodeController.java +++ b/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/MaterialCodeController.java @@ -719,12 +719,24 @@ public class MaterialCodeController extends BaseController { WmsShipmentPackagingCode info = packagingCodeService.getById(qo.getPackagingCodeId()); VUtil.trueThrowBusinessError(Objects.isNull(info)).throwMessage("包装箱不存在"); VUtil.trueThrowBusinessError(info.getStatus() > 1).throwMessage("包装箱已装车"); + Set materialCodeIds = materialCodeForwardService.lambdaQuery() + .select(WmsShipmentMaterialCodeForward::getMaterialCodeId) + .in(WmsShipmentMaterialCodeForward::getId, qo.getIds()) + .list() + .stream() + .map(WmsShipmentMaterialCodeForward::getMaterialCodeId) + .collect(Collectors.toSet()); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(materialCodeIds)).throwMessage("没有需要装箱的数据"); materialCodeForwardService.lambdaUpdate() .set(WmsShipmentMaterialCodeForward::getStatus, 2) .set(WmsShipmentMaterialCodeForward::getPackagingCodeId, qo.getPackagingCodeId()) .isNull(WmsShipmentMaterialCodeForward::getPackagingCodeId) .in(WmsShipmentMaterialCodeForward::getId, qo.getIds()) .update(); + materialCodeService.lambdaUpdate() + .set(WmsShipmentMaterialCode::getStatus,2) + .in(WmsShipmentMaterialCode::getId, materialCodeIds) + .update(); return ApiResult.success(); } diff --git a/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/PackagingCodeController.java b/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/PackagingCodeController.java index e78081e7..55406281 100644 --- a/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/PackagingCodeController.java +++ b/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/PackagingCodeController.java @@ -65,6 +65,9 @@ public class PackagingCodeController extends BaseController { @Resource private IDictionaryItemService dictionaryItemService; + @Resource + private IWmsShipmentMaterialCodeService materialCodeService; + @Resource private BasdeSerialNumberControllerService serialNumberControllerService; @@ -225,6 +228,20 @@ public class PackagingCodeController extends BaseController { materialCodeItemQrService.updateBatchById(itemQrs); materialCodeItemService.updateStatusAndBoxNoAndActualNum(items, 2, info.getNo(), null, itemId2ActualNumMap); + // 更新WmsShipmentMaterialCode状态为1(已装货) + Set materialCodeIds = items.stream() + .map(WmsShipmentMaterialCodeItem::getMaterialCodeId) + .collect(Collectors.toSet()); + if (CollectionUtil.isNotEmpty(materialCodeIds)) { + materialCodeService.lambdaUpdate() + .set(WmsShipmentMaterialCode::getStatus, 1) + .set(WmsShipmentMaterialCode::getUpdateBy, UserUtil.getUserName()) + .set(WmsShipmentMaterialCode::getUpdateTime, LocalDateTime.now()) + .in(WmsShipmentMaterialCode::getId, materialCodeIds) + .eq(WmsShipmentMaterialCode::getStatus, 0) + .update(); + } + addMaterialCodeItemIfNumBigThenActualNum(materialCodeItemKey2NewActualNumMap, items); } return ApiResult.success(); @@ -361,6 +378,21 @@ public class PackagingCodeController extends BaseController { ); materialCodeItemQrService.updateBatchById(itemQrs); materialCodeItemService.updateStatusAndBoxNoAndActualNum(items, 2, info.getNo(),null, itemId2ActualNumMap); + + // 更新WmsShipmentMaterialCode状态为1(已装货) + Set materialCodeIds = items.stream() + .map(WmsShipmentMaterialCodeItem::getMaterialCodeId) + .collect(Collectors.toSet()); + if (CollectionUtil.isNotEmpty(materialCodeIds)) { + materialCodeService.lambdaUpdate() + .set(WmsShipmentMaterialCode::getStatus, 1) + .set(WmsShipmentMaterialCode::getUpdateBy, UserUtil.getUserName()) + .set(WmsShipmentMaterialCode::getUpdateTime, LocalDateTime.now()) + .in(WmsShipmentMaterialCode::getId, materialCodeIds) + .eq(WmsShipmentMaterialCode::getStatus, 0) + .update(); + } + addMaterialCodeItemIfNumBigThenActualNum(materialCodeItemKey2NewActualNumMap, items); return ApiResult.success();