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); }