diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutTaskOrder/StockOutTaskOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutTaskOrder/StockOutTaskOrderApplicationService.java index 5ee5ea58e..f4b420b41 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutTaskOrder/StockOutTaskOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutTaskOrder/StockOutTaskOrderApplicationService.java @@ -252,21 +252,31 @@ public class StockOutTaskOrderApplicationService { if (stockOutTaskOrderPO == null) { return; } - List allDetails = new ArrayList<>(); + // 按 materialDetailId 去重:taskStorageList 与 taskMaterialList 可能包含相同明细(按库位/按物料分组),避免重复导致 PC 端显示条数翻倍 + Map allDetailsMap = new LinkedHashMap<>(); if (!CollectionUtils.isEmpty(stockOutTaskOrderPO.getTaskStorageList())) { for (TaskStoragePO taskStorage : stockOutTaskOrderPO.getTaskStorageList()) { if (!CollectionUtils.isEmpty(taskStorage.getTaskPickingMaterialDetailList())) { - allDetails.addAll(taskStorage.getTaskPickingMaterialDetailList()); + for (TaskPickingMaterialDetailPO d : taskStorage.getTaskPickingMaterialDetailList()) { + if (d.getMaterialDetailId() != null) { + allDetailsMap.putIfAbsent(d.getMaterialDetailId(), d); + } + } } } } if (!CollectionUtils.isEmpty(stockOutTaskOrderPO.getTaskMaterialList())) { for (TaskMaterialPO taskMaterial : stockOutTaskOrderPO.getTaskMaterialList()) { if (!CollectionUtils.isEmpty(taskMaterial.getTaskPickingMaterialDetailList())) { - allDetails.addAll(taskMaterial.getTaskPickingMaterialDetailList()); + for (TaskPickingMaterialDetailPO d : taskMaterial.getTaskPickingMaterialDetailList()) { + if (d.getMaterialDetailId() != null) { + allDetailsMap.putIfAbsent(d.getMaterialDetailId(), d); + } + } } } } + List allDetails = new ArrayList<>(allDetailsMap.values()); if (CollectionUtils.isEmpty(allDetails)) { return; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java index 09645246c..226def69c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java @@ -290,6 +290,8 @@ public class StockOutOrderDO extends BaseVOEntity { @ApiModelProperty("小于复核状态: 1-未复核 2-复核中 3-已复核") private Integer ltCheckStatus; + @ApiModelProperty("PDA复核查询tab: 1-列表(待复核) 2-历史记录(已复核)") + private Integer tabType; @ApiModelProperty("to") @Excel(name = "to") diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutOrder/StockOutOrderAssembler.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutOrder/StockOutOrderAssembler.java index eab32d9ca..1517a6854 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutOrder/StockOutOrderAssembler.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutOrder/StockOutOrderAssembler.java @@ -35,6 +35,7 @@ public class StockOutOrderAssembler { stockOutOrderDO.setCreateTimeEnd(stockOutOrderDTO.getCreateTimeEnd()); stockOutOrderDO.setAuditTimeStart(stockOutOrderDTO.getAuditTimeStart()); stockOutOrderDO.setAuditTimeEnd(stockOutOrderDTO.getAuditTimeEnd()); + stockOutOrderDO.setTabType(stockOutOrderDTO.getTabType()); return stockOutOrderDO; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java index f41734755..f8116c8fe 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java @@ -280,6 +280,8 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO { @ApiModelProperty("小于复核状态: 1-未复核 2-复核中 3-已复核") private Integer ltCheckStatus; + @ApiModelProperty("PDA复核查询tab: 1-列表(待复核) 2-历史记录(已复核)") + private Integer tabType; @ApiModelProperty("to") @Excel(name = "to") diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutOrder/StockOutOrderAppApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutOrder/StockOutOrderAppApi.java index cb797b2c1..3f25460ae 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutOrder/StockOutOrderAppApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutOrder/StockOutOrderAppApi.java @@ -50,8 +50,14 @@ public class StockOutOrderAppApi extends BaseController { stockOutOrderDO.setCheckOperatorsBy(userPo.getUserId()); stockOutOrderDO.setOrganizationId(userPo.getOrganizationId()); stockOutOrderDO.setTopOrganizationId(userPo.getTopOrganizationId()); - stockOutOrderDO.setGtCheckStatus(null); // 清除,避免与 lt 冲突 - stockOutOrderDO.setLtCheckStatus(3); // check_status < 3,只查未复核(1)、复核中(2),不查已复核(3) + stockOutOrderDO.setGtCheckStatus(null); + stockOutOrderDO.setLtCheckStatus(null); + // tabType=2 历史记录:check_status>2(已复核);否则 列表:check_status<3(未复核、复核中) + if (Integer.valueOf(2).equals(stockOutOrderDO.getTabType())) { + stockOutOrderDO.setGtCheckStatus(2); + } else { + stockOutOrderDO.setLtCheckStatus(3); + } stockOutOrderDO.setDelFlag(1); AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); if (associationWarehouseCacheDO != null) {