From 7b7ce757e052877f075cbdc82b844b594b44af57 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Fri, 27 Mar 2026 11:15:26 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A3=85=E7=AE=B1=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/wms/common/pojo/qo/MaterialCodeSearchQO.java | 5 +++++ .../nflg/wms/shipment/controller/MaterialCodeController.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/MaterialCodeSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/MaterialCodeSearchQO.java index 3076370b..176d78cb 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/MaterialCodeSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/MaterialCodeSearchQO.java @@ -27,6 +27,11 @@ public class MaterialCodeSearchQO extends SearchBaseQO { */ private String customerName; + /** + * 装箱状态 + */ + private Integer packingStatus; + /** * 下单开始日期 */ 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 023230d0..309690be 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 @@ -161,7 +161,7 @@ public class MaterialCodeController extends BaseController { .like(StrUtil.isNotBlank(request.getSoNo()), WmsShipmentMaterialCode::getSoNo, request.getSoNo()) .like(StrUtil.isNotBlank(request.getMaterialNo()), WmsShipmentMaterialCode::getMaterialNo, request.getMaterialNo()) .like(StrUtil.isNotBlank(request.getCustomerName()), WmsShipmentMaterialCode::getCustomerName, request.getCustomerName()) - .orderByAsc(WmsShipmentMaterialCode::getStatus) + .eq(Objects.nonNull(request.getPackingStatus()), WmsShipmentMaterialCode::getStatus, request.getPackingStatus()) .orderByAsc(WmsShipmentMaterialCode::getStatus) .orderByDesc(WmsShipmentMaterialCode::getId) .page(new Page<>(request.getPage(), request.getPageSize())) ); From e82c429e5043a62ab4968205fd50f39f02815890 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Fri, 27 Mar 2026 11:29:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A3=85=E7=AE=B1=E6=89=93=E5=8C=85?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0pc=E7=AB=AF=E7=89=88=E6=9C=AC=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/pojo/qo/ShipmentPCPackingQO.java | 22 ++++++++ .../controller/PackagingCodeController.java | 52 +++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ShipmentPCPackingQO.java diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ShipmentPCPackingQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ShipmentPCPackingQO.java new file mode 100644 index 00000000..a3a9d6d4 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ShipmentPCPackingQO.java @@ -0,0 +1,22 @@ +package com.nflg.wms.common.pojo.qo; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +@Data +public class ShipmentPCPackingQO { + /** + * 包装箱ID + */ + @NotNull + private Long packagingCodeId; + + /** + * 物料条码号 + */ + @NotEmpty + private List codes; +} 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 c0d349e3..2e178720 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 @@ -211,6 +211,58 @@ public class PackagingCodeController extends BaseController { return ApiResult.success(); } + /** + * 装箱打包(PC使用) + */ + @Transactional + @PostMapping("pcPack") + public ApiResult pcPack(@Valid @RequestBody ShipmentPCPackingQO shipmentPCPackingQO){ + List ids = shipmentPCPackingQO.getCodes().stream() + .map(code -> materialCodeItemQrService.getInfoByQRCode(code)) + .filter(Objects::nonNull) + .map(ShipmentMaterialCodeQRVO::getId) + .toList(); + List items = materialCodeItemQrService.lambdaQuery() + .in(WmsShipmentMaterialCodeItemQr::getId, ids) + .list(); + VUtil.trueThrowBusinessError(items.size() != ids.size()).throwMessage("数据有变动,请重新扫码"); + items.removeIf(item -> item.getStatus() == 1); + if (CollectionUtil.isEmpty(items)) { + return ApiResult.success(); + } + WmsShipmentPackagingCode info = packagingCodeService.getById(shipmentPCPackingQO.getPackagingCodeId()); + VUtil.trueThrowBusinessError(Objects.isNull(info)).throwMessage("包装箱不存在"); + VUtil.trueThrowBusinessError(info.getStatus() == 2).throwMessage("该箱已发车"); + if (info.getStatus() == 0) { + packagingCodeService.lambdaUpdate() + .set(WmsShipmentPackagingCode::getStatus, 1) + .set(WmsShipmentPackagingCode::getUpdateBy, UserUtil.getUserName()) + .set(WmsShipmentPackagingCode::getUpdateTime, LocalDateTime.now()) + .eq(WmsShipmentPackagingCode::getId, shipmentPCPackingQO.getPackagingCodeId()) + .eq(WmsShipmentPackagingCode::getStatus, 0) + .update(); + } + items.forEach(item -> { + item.setStatus(1); + item.setUpdateBy(UserUtil.getUserName()); + item.setUpdateTime(LocalDateTime.now()); + }); + packagingCodeItemService.saveBatch( + items.stream().map(it -> new WmsShipmentPackagingCodeItem() + .setPackagingCodeId(shipmentPCPackingQO.getPackagingCodeId()) + .setMaterialCodeItemQrId(it.getId()) + .setCreateBy(UserUtil.getUserName()) + .setCreateTime(LocalDateTime.now()) + ).toList() + ); + materialCodeItemQrService.updateBatchById(items); + materialCodeItemService.updatePackingNum(items.stream() + .map(WmsShipmentMaterialCodeItemQr::getItemId) + .collect(Collectors.toSet()) + ); + return ApiResult.success(); + } + /** * 获取包装已打包的物料列表(PDA使用) * @param packagingCodeId 包装箱ID