From 78dc49df9441b3999cb3e6c7338e2a79d2fb1e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 14 Mar 2026 18:30:12 +0800 Subject: [PATCH] =?UTF-8?q?PDA=E6=8C=89=E5=8D=95=E7=A7=BB=E4=BD=8D?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShiftManageApplicationService.java | 22 +++++++++++++++++++ .../repository/po/ShiftManagePO.java | 8 +++++++ .../shiftManage/ShiftManageAppApi.java | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/shiftManage/ShiftManageApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/shiftManage/ShiftManageApplicationService.java index b15f5244e..bfd01c581 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/shiftManage/ShiftManageApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/shiftManage/ShiftManageApplicationService.java @@ -126,6 +126,28 @@ public class ShiftManageApplicationService { return shiftManageDomainService.queryList(shiftManageDO); } + /** + * 按单移位管理 PDA 列表查询,填充待移位数量(物料明细待移位数量、待移位物料种数)供列表展示 + */ + public List queryListForApp(ShiftManageDO shiftManageDO) { + List list = queryList(shiftManageDO); + if (CollectionUtils.isEmpty(list)) return list; + for (ShiftManagePO po : list) { + // 待移位总数量 = 计划数量 - 已移位数量 + BigDecimal qty = po.getQuantity() != null ? po.getQuantity() : BigDecimal.ZERO; + BigDecimal shifted = po.getShiftQuantity() != null ? po.getShiftQuantity() : BigDecimal.ZERO; + BigDecimal waitQty = qty.subtract(shifted).max(BigDecimal.ZERO); + po.setWaitShiftQuantity(waitQty); + // 列表「移位数量」展示待移位总数量,前端绑定 shiftQuantity 即可正确显示 + po.setShiftQuantity(waitQty); + // 待移位物料种数 = 物料种数 - 移位物料种数 + int mt = po.getMaterialTypeQuantity() != null ? po.getMaterialTypeQuantity() : 0; + int sm = po.getShiftMaterialQuantity() != null ? po.getShiftMaterialQuantity() : 0; + po.setWaitShiftMaterialQuantity(Math.max(0, mt - sm)); + } + return list; + } + /** * app 获取移位详情。支持两种入参:按单移位传 shiftManageId,从库存/容器移位传 materialInventoryId,返回结构一致 */ diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/repository/po/ShiftManagePO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/repository/po/ShiftManagePO.java index c8beb3f72..fd73933e6 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/repository/po/ShiftManagePO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/shiftManage/repository/po/ShiftManagePO.java @@ -74,6 +74,14 @@ public class ShiftManagePO extends BaseVOEntity { @Excel(name = "移位物料种数") private Integer shiftMaterialQuantity; + @ApiModelProperty("待移位物料种数(列表展示用,= 物料种数 - 移位物料种数)") + @TableField(exist = false) + private Integer waitShiftMaterialQuantity; + + @ApiModelProperty("待移位数量(列表展示用,= 计划数量 - 移位数量)") + @TableField(exist = false) + private BigDecimal waitShiftQuantity; + @ApiModelProperty("移位状态:1-已创建 2-待移位 3-移位中 4-已完成") @Excel(name = "移位状态:1-已创建 2-待移位 3-移位中 4-已完成") private Integer shiftStatus; diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/shiftManage/ShiftManageAppApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/shiftManage/ShiftManageAppApi.java index f1ab27377..bcb2d4cb1 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/shiftManage/ShiftManageAppApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/shiftManage/ShiftManageAppApi.java @@ -42,7 +42,7 @@ public class ShiftManageAppApi extends BaseController { ShiftManageDO shiftManageDO = shiftManageAssembler.toDO(shiftManageDTO); startPage(); shiftManageDO.setOperatorsBy(SecurityUtils.getLoginUser().getUserPo().getUserId()); - List list = shiftManageApplicationService.queryList(shiftManageDO); + List list = shiftManageApplicationService.queryListForApp(shiftManageDO); return getDataTableApi(list); }