diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml index 1f6ec2c34..f0a763a7d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml @@ -2027,6 +2027,8 @@ ldpl.quantity AS retentionQuantity, 1 AS conditions, ldpl.waybill_number AS waybillNumber, + ldpl.material_name AS materialName, + ldpl.material_code AS materialNumber, ldpl.waybill_id AS waybillId, ldpl.order_package_status AS orderPackageStatus, ldpl.warehouse_id AS warehouseId, diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 2cc380f28..6b60e0c80 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -351,7 +351,10 @@ (SELECT SUM(aldrs.reality_num) FROM logpm_distribution_reservation_stocklist AS aldrs WHERE aldrs.reservation_id = #{reservationId} AND aldrs.stock_list_status != 2 AND FIND_IN_SET(aldrs.stocklist_id,t.aaa)) AS realNum, (SELECT SUM(newldrs.reservation_num) FROM logpm_distribution_reservation_stocklist AS newldrs WHERE newldrs.reservation_id = #{reservationId} ANd newldrs.stock_list_status != 2 AND FIND_IN_SET(newldrs.stocklist_id,t.aaa)) AS planNum, - concat(ifnull(t1.allocation_ids,''),if(t1.allocation_ids is not null,',',''), ifnull(t2.allocation_ids,'')) allocations + CASE ldslNew.source_type + WHEN 1 THEN t1.allocation_ids + ELSE t2.allocation_ids + END allocations FROM ( SELECT diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index 7d57ee7fa..d8b12076e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -6009,6 +6009,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl carsLoadScanIdList); + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml index a683078fc..078c45086 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml @@ -848,4 +848,12 @@ and final_node_id is null + + delete from logpm_trunkline_cars_load_scan + where id in + + #{item} + + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java index 2b2ed285f..c012a6b7c 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java @@ -154,4 +154,7 @@ public interface ITrunklineCarsLoadScanService extends BaseService carsLoadScanIdList); + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java index aac2f069d..f4f6dfd09 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/InComingServiceImpl.java @@ -327,7 +327,7 @@ public class InComingServiceImpl implements IInComingService { map.put("trayCode", trayCode); map.put("warehouseId", warehouseId); map.put("orderPackageCode", packageCode); - warehouseTrayTypeClient.orderScanOrderPackageCode(map); + warehouseTrayTypeClient.orderScanOrderPackageCodeReturnR(map); } }); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java index 582ed00aa..3c78e60d8 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java @@ -373,4 +373,9 @@ public class TrunklineCarsLoadScanServiceImpl extends BaseServiceImpl carsLoadScanIdList) { + baseMapper.deleteListByCarsLoadScanIds(carsLoadScanIdList); + } + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index 5d31b3f27..6758d2a92 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -973,10 +973,10 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl orderPackageCodes = new ArrayList<>(); orderPackageCodes.add(scanCode); @@ -6035,9 +6035,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl carsLoadScanIdList, Long loadId, Long warehouseId) { + + TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId); + if (Objects.isNull(carsLoadEntity)) { + log.warn("##################removeCarsLoadScanListByCancelLoad: 配载计划不存在 loadId={}", loadId); + return R.fail(405, "配载计划不存在"); + } + + Long nowWarehouseId = carsLoadEntity.getNowWarehouseId(); + + if (!nowWarehouseId.equals(warehouseId)) { + log.warn("##################removeCarsLoadScanListByCancelLoad: 暂未有权限进行操作 nowWarehouseId={} warehouseId={}", nowWarehouseId, warehouseId); + return R.fail(405, "暂未有权限进行操作"); + } + String loadStatus = carsLoadEntity.getLoadStatus(); + if (!"100".equals(loadStatus)) { + log.warn("##################removeCarsLoadScanListByCancelLoad: 当前配载计划不属于取消配载状态 loadStatus={} warehouseId={}", loadStatus, warehouseId); + return R.fail(405, "当前配载计划不属于取消配载状态"); + } + + TrunklineCarsLoadLineEntity carsLoadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId); + if (Objects.isNull(carsLoadLineEntity)) { + log.warn("##################removeCarsLoadScanListByCancelLoad: 当前节点信息不存在 loadId={} warehouseId={}", loadId, warehouseId); + return R.fail(405, "当前节点信息不存在"); + } + + String nodeStatus = carsLoadLineEntity.getNodeStatus(); + if (!"10".equals(nodeStatus)) { + log.warn("##################removeCarsLoadScanListByCancelLoad: 当前节点不是到车状态 nodeStatus={} warehouseId={}", nodeStatus, warehouseId); + return R.fail(405, "当前节点不是到车状态"); + } + + BasicdataWarehouseEntity basicdataWarehouse = basicdataWarehouseClient.getEntityWarehouseId(warehouseId); + if(Objects.isNull(basicdataWarehouse)){ + log.warn("##################removeCarsLoadScanListByCancelLoad: 仓库信息不存在 warehouseId={}", warehouseId); + return R.fail(405, "仓库信息不存在"); + } + + String warehouseName = basicdataWarehouse.getName(); + + List trunklineCarsLoadScanEntities = trunklineCarsLoadScanService.listByIds(carsLoadScanIdList); + + //把trunklineCarsLoadScanEntities只提取isData等于1的数据 + List hasDataScanEntites = trunklineCarsLoadScanEntities.stream().filter(carsLoadScanEntity -> carsLoadScanEntity.getIsData() == 1).collect(Collectors.toList()); + + + //把hasDataScanEntites通过fromWarehouseId进行分组 + Map> fromWarehouseIdMap = hasDataScanEntites.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getFromWarehouseId)); + + List updateStockArticleList = new ArrayList<>(); + List updateParcelListList = new ArrayList<>(); + + fromWarehouseIdMap.keySet().forEach(fromWarehouseId -> { + List scanEntities = fromWarehouseIdMap.get(fromWarehouseId); + //把scanEntities中所有元素的以orderCode进行分组 + Map> orderCodeMap = scanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getOrderCode)); + Set orderCodeSet = orderCodeMap.keySet(); + FindParamterDTO findParamterDTO = new FindParamterDTO(); + findParamterDTO.setOrderCodeSet(orderCodeSet); + findParamterDTO.setWarehouseId(fromWarehouseId); + List stockArticleEntityList = distributionStockArticleClient.findListByOrderCodesAndWarehouseId(findParamterDTO); + //把stockArticleEntityList转化成OrderCode为key的Map + Map stockArticleMap = stockArticleEntityList.stream().collect(Collectors.toMap(DistributionStockArticleEntity::getOrderCode, Function.identity())); + + orderCodeMap.keySet().forEach(orderCode -> { + DistributionStockArticleEntity stockArticle = stockArticleMap.get(orderCode); + if(!Objects.isNull(stockArticle)){ + List orderCodeEntities = orderCodeMap.get(orderCode); + //把orderCodeEntities中所有元素的num求和 + Integer num = orderCodeEntities.stream().map(TrunklineCarsLoadScanEntity::getNum).reduce(Integer::sum).get(); + DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity(); + updateStockArticle.setId(stockArticle.getId()); + updateStockArticle.setHandQuantity(stockArticle.getHandQuantity() + num); + updateStockArticleList.add(updateStockArticle); + } + }); + + //把scanEntities通过只保留type等于1的数据 + List type1ScanEntities = scanEntities.stream().filter(carsLoadScanEntity -> carsLoadScanEntity.getType() == 1).collect(Collectors.toList()); + //把type1ScanEntities中所有元素的scanCode放入一个Set + Set scanCodeSet = type1ScanEntities.stream().map(TrunklineCarsLoadScanEntity::getScanCode).collect(Collectors.toSet()); + findParamterDTO.setOrderPackageCodeList(new ArrayList<>(scanCodeSet)); + List parcelListEntityList = distributionParcelListClient.findListByOrderPackageCodeList(findParamterDTO); + parcelListEntityList.forEach(parcelListEntity -> { + Long waybillId = parcelListEntity.getWaybillId(); + DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); + parcelList.setId(parcelListEntity.getId()); + parcelList.setOrderPackageStatus("20"); + if(!Objects.isNull(waybillId)){ + Long acceptWarehouseId = parcelListEntity.getAcceptWarehouseId(); + if(acceptWarehouseId.equals(fromWarehouseId)){ + parcelList.setIsTransfer(0); + }else{ + parcelList.setIsTransfer(1); + } + } + updateParcelListList.add(parcelList); + }); + }); + + if(CollUtil.isNotEmpty(updateStockArticleList)){ + distributionStockArticleClient.updateByBatchId(updateStockArticleList); + } + + if(CollUtil.isNotEmpty(updateParcelListList)){ + distributionParcelListClient.updateList(updateParcelListList); + } + + if(CollUtil.isNotEmpty(carsLoadScanIdList)){ + trunklineCarsLoadScanService.deleteListByCarsLoadScanIds(carsLoadScanIdList); + } + + if(CollUtil.isNotEmpty(trunklineCarsLoadScanEntities)){ + //把trunklineCarsLoadScanEntities中所有元素保留type等于1的数据 + List type1ScanEntities = trunklineCarsLoadScanEntities.stream().filter(carsLoadScanEntity -> carsLoadScanEntity.getType() == 1).collect(Collectors.toList()); + //把type1ScanEntities通过finalNodeId进行分组 + Map> finalNodeIdMap = type1ScanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getFinalNodeName)); + finalNodeIdMap.keySet().forEach(finalNodeName -> { + List finalNodeIdEntities = finalNodeIdMap.get(finalNodeName); + List orderPackageCodes = new ArrayList<>(); + finalNodeIdEntities.forEach(carsLoadScanEntity -> { + Integer type = carsLoadScanEntity.getType(); + if(type.equals(1)){ + orderPackageCodes.add(carsLoadScanEntity.getScanCode()); + } + }); + String content = "包件在 " + warehouseName + "取消装车,配载计划目的仓 " + finalNodeName; + packageTrackLogAsyncService.addPackageTrackLog(AuthUtil.getTenantId(), AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()), AuthUtil.getNickName(), orderPackageCodes, warehouseId, warehouseName, WorkNodeEnums.CANCEL_INITIAL_WAREHOUSE_LOADING.getCode(), content); + }); + } + + + if (!Objects.isNull(loadId)) { + updateNumByLoadId(loadId); + } + + return R.success("删除成功"); + } + + @Override public R unloadPackage(Long loadId, String orderPackageCode, Long warehouseId, Integer unbindTray, String remark, Integer incomingType) { log.info("#############unloadPackage: 卸车包件"); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionScanMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionScanMapper.xml index 7330ce208..9cfeb6e64 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionScanMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseRetentionScanMapper.xml @@ -41,7 +41,7 @@