From 64e2bfd431b4d458adbbfd22072316d2dc7255fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 2 Jun 2026 16:33:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(srm):=20=E6=B7=BB=E5=8A=A0=E6=97=A0?= =?UTF-8?q?=E7=A0=81=E6=94=B6=E8=B4=A7=E5=8D=95=E9=A1=B9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 getListForNoScan 接口用于获取可无码收货单项列表 - 添加 NoScanItemVO 数据传输对象定义 - 实现订单项过滤逻辑,排除已收货完成或存在二维码的物料 - 集成 noScanningBaseControllerService 二维码检查服务 - 计算待收货数量并映射为返回对象列表 --- .../admin/controller/NormalPGIController.java | 24 +++++++++++++ .../nflg/wms/common/pojo/vo/NoScanItemVO.java | 36 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/NoScanItemVO.java diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index 0c7297da..f4cae594 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -187,6 +187,30 @@ public class NormalPGIController extends BaseController { return ApiResult.success(pdaOrderVO); } + /** + * 获取可无码收货单项列表 + * @param orderId 订单ID + */ + @GetMapping("getListForNoScan") + @ApiMark(moduleName = "送货单管理", apiName = "获取可无码收货单项列表") + public ApiResult> getListForNoScan(@RequestParam Long orderId) { + List items = wmsSrmOrderItemService.lambdaQuery() + .eq(WmsSrmOrderItem::getOrderId, orderId) + .list(); + items.removeIf(item -> item.getDeliveryQty().compareTo(item.getReceiptQty()) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getItemCode())); + return ApiResult.success( + items.stream() + .map(item -> new NoScanItemVO() + .setRowNo(item.getLineNumber()) + .setOrderItemId(item.getId()) + .setMaterialNo(item.getItemCode()) + .setMaterialDesc(item.getItemName()) + .setNum(item.getDeliveryQty().subtract(item.getReceiptQty()))) + .toList() + ); + } + /** * 无码收货确认(质检物料生成待检单;非质检物料:无二维码直接入库,有二维码则生成上架任务) */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/NoScanItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/NoScanItemVO.java new file mode 100644 index 00000000..38457347 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/NoScanItemVO.java @@ -0,0 +1,36 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class NoScanItemVO { + + /** + * 行号 + */ + private String rowNo; + + /** + * 订单项ID + */ + private Long orderItemId; + + /** + * 物料编号 + */ + private String materialNo; + + /** + * 物料描述 + */ + private String materialDesc; + + /** + * 数量 + */ + private BigDecimal num; +}