From b6bbc8dc21d590a7da5758bfd746a820121ea5b2 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Thu, 19 Dec 2024 16:45:52 +0800 Subject: [PATCH 01/20] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OpenOrderController.java | 7 ++++++ .../service/impl/OpenOrderServiceImpl.java | 22 ++++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java index a6260a6f2..330665bb6 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java @@ -999,6 +999,13 @@ public class OpenOrderController { log.warn("#################openOrderParamVerify: 发货单位不能为空 shipper={} ", shipper); throw new CustomerException(405, "发货单位不能为空"); } + + Long consigneeId = openOrderDTO.getConsigneeId(); + if(Objects.isNull(consigneeId)){ + log.warn("#################openOrderParamVerify: 收货单位不能为空 consigneeId={} ", consigneeId); + throw new CustomerException(405, "收货单位信息不能为空"); + } + String consignee = openOrderDTO.getConsignee(); if (StringUtil.isBlank(consignee)) { log.warn("#################openOrderParamVerify: 收货单位不能为空 consignee={} ", consignee); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 4e3ee3e4e..70921d2e2 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -642,11 +642,11 @@ public class OpenOrderServiceImpl implements IOpenOrderService { waybillEntity.setShipperAddress(openOrderDTO.getShipperAddress()); Long consigneeId = openOrderDTO.getConsigneeId();//收货单位id - if (Objects.isNull(consigneeId)) { - //如果收货单位没有id值,则把收货单位信息自动添加到client中 - consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); - - } +// if (Objects.isNull(consigneeId)) { +// //如果收货单位没有id值,则把收货单位信息自动添加到client中 +// consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); +// +// } waybillEntity.setConsigneeId(consigneeId); waybillEntity.setConsignee(openOrderDTO.getConsignee()); waybillEntity.setConsigneeName(openOrderDTO.getConsigneeName()); @@ -2936,6 +2936,18 @@ public class OpenOrderServiceImpl implements IOpenOrderService { // 得到改单之前的收货单位 oldConsignee = waybillEntity.getConsignee(); + Long newConsigneeId = openOrderDTO.getConsigneeId(); + + if(Objects.isNull(newConsigneeId)){ + if(waybillType == 1){ + log.warn("#############updateWaybill: 运单收货单位id为空 waybillId={} newConsigneeId={}", waybillId,newConsigneeId); + return R.fail(405, "运单收货单位信息有误"); + }else if(waybillType == 2){ + newConsigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + openOrderDTO.setConsigneeId(newConsigneeId); + } + } + String updateMsg = verifyUpdateData(openOrderDTO, waybillEntity); warehouseWaybillClient.updateEntity(waybillEntity); From 6a389857b3012c448ef271ee9fc092ea37d9d720 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Thu, 19 Dec 2024 17:45:15 +0800 Subject: [PATCH 02/20] =?UTF-8?q?feat(all):=20=E8=BD=A6=E6=AC=A1=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改报表逻辑 --- .../report/BillPlanReportListener.java | 3 + .../report/BillReViewReportListener.java | 3 + .../report/BillSignforReportListener.java | 3 + .../report/DeliverFinishReportListener.java | 8 ++- .../report/LoadingReportListener.java | 3 + .../receiver/report/PlanReportListener.java | 63 +++++++++++-------- .../receiver/report/ReViewReportListener.java | 3 + .../receiver/report/ReportListener.java | 16 +++++ .../report/ReservationPlanReportListener.java | 33 +++++++++- .../report/SignforReportListener.java | 3 + .../receiver/report/StockReportListener.java | 3 + 11 files changed, 112 insertions(+), 29 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillPlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillPlanReportListener.java index 7da811533..b13146aae 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillPlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillPlanReportListener.java @@ -72,12 +72,15 @@ public class BillPlanReportListener implements ReportService { } cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getMallName()) && StrUtil.isNotEmpty(item.getMaterielCode()) && StrUtil.isNotEmpty(item.getIncomingBatch())) .collect(Collectors.groupingBy(item -> item.getMallName() + item.getMaterielCode() + item.getIncomingBatch())); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillReViewReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillReViewReportListener.java index fa43d913a..0526cdee9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillReViewReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillReViewReportListener.java @@ -69,12 +69,15 @@ public class BillReViewReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillSignforReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillSignforReportListener.java index b72db0bee..9b2d98247 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillSignforReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillSignforReportListener.java @@ -69,12 +69,15 @@ public class BillSignforReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/DeliverFinishReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/DeliverFinishReportListener.java index 9eafa08a8..743fdf2b0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/DeliverFinishReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/DeliverFinishReportListener.java @@ -288,6 +288,9 @@ public class DeliverFinishReportListener implements ReportService { if (addvaluePackageMap.containsKey(entity.getOrderPackageCode() + "1")) { stairsNumber = Convert.toInt(addvaluePackageMap.get(entity.getOrderPackageCode() + "1")); } + if (!NumberUtil.equals(stairsNumber, 0)) { + stairsNumber = stairsNumber - 1; + } // 平移米数 Integer translationNumber = 0; if (addvaluePackageMap.containsKey(entity.getOrderPackageCode() + "3")) { @@ -757,9 +760,12 @@ public class DeliverFinishReportListener implements ReportService { } Set longs = valueMap.keySet(); Integer dkp = 0; - if(CollUtil.isNotEmpty(allRouteMap)){ + if (CollUtil.isNotEmpty(allRouteMap)) { dkp = allRouteMap.keySet().size(); } + if (!NumberUtil.equals(dkp, 0)) { + dkp = dkp - 1; + } for (Map.Entry entityEntry : valueMap.entrySet()) { QualityDeliverEntity value2 = entityEntry.getValue(); String siteSubsidyCost = priceVO.getSiteSubsidyCost(); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/LoadingReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/LoadingReportListener.java index 1fd9864bf..534562090 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/LoadingReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/LoadingReportListener.java @@ -69,12 +69,15 @@ public class LoadingReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java index 862c5cf1b..ce2a75fb7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -30,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -80,24 +82,30 @@ public class PlanReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getPlanReservationCode() + item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getPlanReservationCode() + item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getPlanReservationCode()) && StrUtil.isNotEmpty(item.getMallName()) && StrUtil.isNotEmpty(item.getMaterielCode())) .collect(Collectors.groupingBy(item -> item.getPlanReservationCode() + item.getMallName() + item.getMaterielCode())); } else { - // 没有查询到,延迟30秒重新推送 + // 没有查询到,延迟10秒重新推送 factoryDataClient.sendMessage(SendMsg.builder() .exchange(FanoutConstants.distribution.DeliveryAndPlan.EXCHANGE_DELAY) .routingKey(null) .message(msg) - .delay(30000) + .delay(10000) .build()); return; } } + Set cmpSet = new HashSet<>(); + Set ltlSet = new HashSet<>(); + Set invSet = new HashSet<>(); for (ReservationVO reservationVO : reservationVOList) { String reservationCode = reservationVO.getReservationCode(); List details = reservationVO.getPackageDataList(); @@ -130,6 +138,9 @@ public class PlanReportListener implements ReportService { sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } + if(StrUtil.isNotEmpty(detail.getPackageCode())){ + cmpSet.add(reservationCode + detail.getPackageCode()); + } } else if (ObjectUtil.equals(detail.getPackageType(), PackageTypeEnums.LTL)) { qualityDeliverEntity.setOrderCode(detail.getOrderCode()); qualityDeliverEntity.setCategory(detail.getProductName()); @@ -142,6 +153,9 @@ public class PlanReportListener implements ReportService { sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } + if(StrUtil.isNotEmpty(detail.getProductName()) && StrUtil.isNotEmpty(detail.getOrderCode())){ + ltlSet.add(reservationCode + detail.getProductName() + detail.getOrderCode()); + } } else if (ObjectUtil.equals(detail.getPackageType(), PackageTypeEnums.INV)) { qualityDeliverEntity.setBizCode(reservationVO.getReservationCode()); qualityDeliverEntity.setIncomingBatch(detail.getPickupBatch()); @@ -165,36 +179,31 @@ public class PlanReportListener implements ReportService { } } } + if(StrUtil.isNotEmpty(detail.getMallName()) && StrUtil.isNotEmpty(detail.getMaterialCode())){ + invSet.add(reservationCode + detail.getMallName() + detail.getMaterialCode()); + } } } } - // 系统中有的包件在当前不存在,则删除 - Set cmpSet = details.stream() - .filter(item -> ObjectUtil.equals(item.getPackageType(), PackageTypeEnums.CMP)) - .map(i -> reservationCode + i.getPackageCode()).collect(Collectors.toSet()); - for (Map.Entry> entry : cmpMap.entrySet()) { - String key = entry.getKey(); - if (!cmpSet.contains(key)) { - sendReport(entry.getValue().get(0), BizOperationEnums.DELETE); - } + } + for (Map.Entry> entry : cmpMap.entrySet()) { + String key = entry.getKey(); + if (!cmpSet.contains(key)) { + sendReport(entry.getValue().get(0), BizOperationEnums.DELETE); } - Set ltlSet = details.stream().filter(item -> ObjectUtil.equals(item.getPackageType(), PackageTypeEnums.LTL)) - .map(i -> reservationCode + i.getProductName() + i.getOrderCode()).collect(Collectors.toSet()); - for (Map.Entry> entry : ltlMap.entrySet()) { - String key = entry.getKey(); - if (!ltlSet.contains(key)) { - sendReport(entry.getValue().get(0), BizOperationEnums.DELETE); - } + } + for (Map.Entry> entry : ltlMap.entrySet()) { + String key = entry.getKey(); + if (!ltlSet.contains(key)) { + sendReport(entry.getValue().get(0), BizOperationEnums.DELETE); } - Set invSet = details.stream().filter(item -> ObjectUtil.equals(item.getPackageType(), PackageTypeEnums.INV)) - .map(i -> reservationCode + i.getMallName() + i.getMaterialCode()).collect(Collectors.toSet()); - for (Map.Entry> entry : invMap.entrySet()) { - String key = entry.getKey(); - if (!invSet.contains(key)) { - List value = entry.getValue(); - for (QualityDeliverEntity entity : value) { - sendReport(entity, BizOperationEnums.DELETE); - } + } + for (Map.Entry> entry : invMap.entrySet()) { + String key = entry.getKey(); + if (!invSet.contains(key)) { + List value = entry.getValue(); + for (QualityDeliverEntity entity : value) { + sendReport(entity, BizOperationEnums.DELETE); } } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReViewReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReViewReportListener.java index b0eb33f8b..dd4e6c9e7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReViewReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReViewReportListener.java @@ -68,12 +68,15 @@ public class ReViewReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReportListener.java index 74806f7d4..d0daefdfe 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReportListener.java @@ -55,6 +55,7 @@ public class ReportListener { try { selectReportService(BillPlanReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("自提任务生成明细报表失败: {}", e.getMessage()); } } @@ -82,6 +83,7 @@ public class ReportListener { try { selectReportService(BillReViewReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("自提复核生成明细报表失败: {}", e.getMessage()); } } @@ -109,6 +111,7 @@ public class ReportListener { try { selectReportService(BillSignforReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("自提签收扫描生成明细报表失败: {}", e.getMessage()); } } @@ -136,6 +139,7 @@ public class ReportListener { try { selectReportService(CarStartReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("发车生成明细报表失败: {}", e.getMessage()); } } @@ -163,6 +167,7 @@ public class ReportListener { try { selectReportService(ConsigneeArriveReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("配送到达生成明细报表失败: {}", e.getMessage()); } } @@ -218,6 +223,7 @@ public class ReportListener { try { selectReportService(LoadingReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("装车生成明细报表失败: {}", e.getMessage()); } } @@ -245,6 +251,7 @@ public class ReportListener { try { selectReportService(PlanReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("配送计划生成明细报表失败: {}", e.getMessage()); } } @@ -274,6 +281,7 @@ public class ReportListener { try { selectReportService(PlanReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("配送计划生成明细报表失败: {}", e.getMessage()); } } @@ -301,6 +309,7 @@ public class ReportListener { try { selectReportService(ReservationPlanReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("预约计划生成明细报表失败: {}", e.getMessage()); } } @@ -328,6 +337,7 @@ public class ReportListener { try { selectReportService(ReturnWarehouseReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("回库生成明细报表失败: {}", e.getMessage()); } } @@ -355,6 +365,7 @@ public class ReportListener { try { selectReportService(ReViewReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("文员复核生成明细报表失败: {}", e.getMessage()); } } @@ -382,6 +393,7 @@ public class ReportListener { try { selectReportService(SignforReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("签收扫描生成明细报表失败: {}", e.getMessage()); } } @@ -409,6 +421,7 @@ public class ReportListener { try { selectReportService(StockReportListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("备货生成明细报表失败: {}", e.getMessage()); } } @@ -437,6 +450,7 @@ public class ReportListener { try { selectReportService(QualityDeliverListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("配送明细基础表处理失败: {}", e.getMessage()); } } @@ -465,6 +479,7 @@ public class ReportListener { try { selectReportService(QualityDeliverAddListener.class).buildReport(msg); } catch (Exception e) { + e.printStackTrace(); log.error("配送明细基础表Add失败: {}", e.getMessage()); } } @@ -487,6 +502,7 @@ public class ReportListener { String trainNumber = vo.getTrainNumber(); qualityDeliverService.carExpenseDispatchDetailFinal(trainNumber); } catch (Exception e) { + e.printStackTrace(); log.error("生成车辆车次成本报表失败: {}", e.getMessage()); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReservationPlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReservationPlanReportListener.java index aa8eb906d..92cdd6d97 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReservationPlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReservationPlanReportListener.java @@ -25,7 +25,6 @@ import org.springblade.core.tool.utils.BeanUtil; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -71,13 +70,45 @@ public class ReservationPlanReportListener implements ReportService { } cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getMallName()) && StrUtil.isNotEmpty(item.getMaterielCode()) && StrUtil.isNotEmpty(item.getIncomingBatch())) .collect(Collectors.groupingBy(item -> item.getMallName() + item.getMaterielCode() + item.getIncomingBatch())); + // 移除指定包件 + if (BizOperationEnums.REMOVE.equals(bizOperation)) { + if (CollUtil.isNotEmpty(details)) { + for (PackageData detail : details) { + if (ObjectUtil.equals(detail.getPackageType(), PackageTypeEnums.CMP)) { + if (cmpMap.containsKey(detail.getPackageCode())) { + QualityDeliverEntity qualityDeliverEntity = new QualityDeliverEntity(); + qualityDeliverEntity.setId(cmpMap.get(detail.getPackageCode()).get(0).getId()); + sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); + } + } + if (ObjectUtil.equals(detail.getPackageType(), PackageTypeEnums.LTL)) { + if (ltlMap.containsKey(detail.getProductName() + detail.getOrderCode())) { + QualityDeliverEntity qualityDeliverEntity = new QualityDeliverEntity(); + qualityDeliverEntity.setId(ltlMap.get(detail.getProductName() + detail.getOrderCode()).get(0).getId()); + sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); + } + } + if (ObjectUtil.equals(detail.getPackageType(), PackageTypeEnums.INV)) { + if (invMap.containsKey(detail.getMallName() + detail.getMaterialCode() + detail.getPickupBatch())) { + QualityDeliverEntity qualityDeliverEntity = new QualityDeliverEntity(); + qualityDeliverEntity.setId(invMap.get(detail.getMallName() + detail.getMaterialCode() + detail.getPickupBatch()).get(0).getId()); + sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); + } + } + } + } + return; + } } } if (CollUtil.isNotEmpty(details)) { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/SignforReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/SignforReportListener.java index a89cca8fb..466ac1398 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/SignforReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/SignforReportListener.java @@ -70,12 +70,15 @@ public class SignforReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java index b8a37f4df..a42d9214e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java @@ -65,12 +65,15 @@ public class StockReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) .collect(Collectors.groupingBy(item -> item.getOrderPackageCode())); ltlMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.LTL.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getCategory()) && StrUtil.isNotEmpty(item.getOrderCode())) .collect(Collectors.groupingBy(item -> item.getCategory() + item.getOrderCode())); invMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.INV.getCode())) + .filter(item -> StrUtil.isNotEmpty(item.getMallName()) && StrUtil.isNotEmpty(item.getMaterielCode())) .collect(Collectors.groupingBy(item -> item.getMallName() + item.getMaterielCode())); } } From ad36e3f1e606ae4ce3ceebecacac3c738f50f590 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Thu, 19 Dec 2024 17:56:29 +0800 Subject: [PATCH 03/20] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logpm/trunkline/controller/OpenOrderController.java | 4 ++-- .../trunkline/service/impl/OpenOrderServiceImpl.java | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java index 330665bb6..e862cce07 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java @@ -1002,8 +1002,8 @@ public class OpenOrderController { Long consigneeId = openOrderDTO.getConsigneeId(); if(Objects.isNull(consigneeId)){ - log.warn("#################openOrderParamVerify: 收货单位不能为空 consigneeId={} ", consigneeId); - throw new CustomerException(405, "收货单位信息不能为空"); + log.warn("#################openOrderParamVerify: 请先维护收货单位 consigneeId={} ", consigneeId); + throw new CustomerException(405, "请先维护收货单位"); } String consignee = openOrderDTO.getConsignee(); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 70921d2e2..ae8c836b4 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -4874,6 +4874,14 @@ public class OpenOrderServiceImpl implements IOpenOrderService { editOrderMsgVO.setOldValue(consignee); editOrderMsgVO.setNewValue(newConsignee); msgList.add(editOrderMsgVO); + }else{ + if (!ObjectUtil.equals(consignee, newConsignee)) { + EditOrderMsgVO editOrderMsgVO = new EditOrderMsgVO(); + editOrderMsgVO.setItemName("收货单位"); + editOrderMsgVO.setOldValue(consignee); + editOrderMsgVO.setNewValue(newConsignee); + msgList.add(editOrderMsgVO); + } } String newConsigneeName = openOrderDTO.getConsigneeName(); From cb69f7cdb97a12c799c4275d793202370320c0d6 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Thu, 19 Dec 2024 17:57:17 +0800 Subject: [PATCH 04/20] =?UTF-8?q?feat(all):=20=E8=BD=A6=E6=AC=A1=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改报表逻辑 --- .../com/logpm/distribution/entity/QualityDeliverEntity.java | 5 +++++ .../distribution/receiver/report/PlanReportListener.java | 1 + .../service/impl/DistributionDeliveryListServiceImpl.java | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java index 79824d951..9bfe75ef7 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java @@ -374,6 +374,11 @@ public class QualityDeliverEntity extends TenantEntity { */ @ApiModelProperty(value = "配送公司") private String distributionCompany; + /** + * 配送备注 + */ + @ApiModelProperty(value = "配送备注") + private String deliveryRemark; /** * 配送是否整车计费 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java index ce2a75fb7..296c2d526 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java @@ -127,6 +127,7 @@ public class PlanReportListener implements ReportService { .bizCode(reservationVO.getReservationCode()) .ynWholeVehicle(vo.getYnWholeVehicle()) .deliveryFee(vo.getPrice()) + .deliveryRemark(vo.getRemark()) .build(); if (ObjectUtil.equals(detail.getPackageType(), PackageTypeEnums.CMP)) { qualityDeliverEntity.setConditions(1); 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 071d3f7ff..caebc5e37 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 @@ -3741,7 +3741,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl reservationVOList = distributionDeliveryListService.getDeliveryreBroadcastData(distributionDeliveryListEntity.getId(), distributionDeliveryListEntity.getWarehouseId()); distributionTaskVO.setReservationVOList(reservationVOList); From bada215f584e1f1849be0c74a3d7c67e4e7b32a3 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Thu, 19 Dec 2024 17:58:11 +0800 Subject: [PATCH 05/20] =?UTF-8?q?feat(all):=20=E8=BD=A6=E6=AC=A1=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改报表逻辑 --- .../java/org/springblade/common/model/DistributionTaskVO.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/blade-biz-common/src/main/java/org/springblade/common/model/DistributionTaskVO.java b/blade-biz-common/src/main/java/org/springblade/common/model/DistributionTaskVO.java index d8ab3113c..911eb7ad6 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/model/DistributionTaskVO.java +++ b/blade-biz-common/src/main/java/org/springblade/common/model/DistributionTaskVO.java @@ -26,6 +26,8 @@ public class DistributionTaskVO implements Serializable { private String ynWholeVehicle; /** 三方配送价格 */ private String price; + /** 配送任务备注 */ + private String remark; /** 司机和车辆信息 */ private List planDriverbindCars; From 528f0c8609e975a38306291e1192586f22e00392 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Thu, 19 Dec 2024 18:29:30 +0800 Subject: [PATCH 06/20] =?UTF-8?q?feat(all):=20=E8=BD=A6=E6=AC=A1=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改报表逻辑 --- .../distribution/entity/QualityDeliverEntity.java | 9 +++++++-- .../entity/ExpenseDispatchTrainDetailEntity.java | 14 ++++++++++---- .../receiver/report/SignforReportListener.java | 1 + .../impl/DistributionSignforServiceImpl.java | 6 +++--- .../service/impl/QualityDeliverServiceImpl.java | 3 ++- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java index 9bfe75ef7..83a34b82c 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/QualityDeliverEntity.java @@ -520,9 +520,9 @@ public class QualityDeliverEntity extends TenantEntity { @ApiModelProperty(value = "到达地址") private String arriveAddress; /** - * 签收人id + * 签收归属司机id */ - @ApiModelProperty(value = "签收人id") + @ApiModelProperty(value = "签收归属司机id") private String signUserId; /** * 签收人 @@ -564,6 +564,11 @@ public class QualityDeliverEntity extends TenantEntity { */ @ApiModelProperty(value = "签收车辆id") private Long signCarId; + /** + * 签收归属司机 + */ + @ApiModelProperty(value = "签收归属司机") + private String signDriverName; /** * 签收类型(按件签收 批量签收 补录) */ diff --git a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/ExpenseDispatchTrainDetailEntity.java b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/ExpenseDispatchTrainDetailEntity.java index 481933157..238494f66 100644 --- a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/ExpenseDispatchTrainDetailEntity.java +++ b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/entity/ExpenseDispatchTrainDetailEntity.java @@ -45,6 +45,12 @@ public class ExpenseDispatchTrainDetailEntity extends TenantEntity { @ApiModelProperty(value = "配送车辆") @ExcelProperty("配送车辆") private String deliveryVehicle; + /** + * 配送司机 + */ + @ApiModelProperty(value = "配送司机") + @ExcelProperty("配送司机") + private String deliveryDriver; /** * 配送车型 */ @@ -106,11 +112,11 @@ public class ExpenseDispatchTrainDetailEntity extends TenantEntity { @ExcelIgnore private String carrierType; /** - * 配送司机 + * 配送备注 */ - @ApiModelProperty(value = "配送司机") - @ExcelProperty("配送司机") - private String deliveryDriver; + @ApiModelProperty(value = "配送备注") + @ExcelProperty("配送备注") + private String deliveryRemark; /** * 计划总件数 */ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/SignforReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/SignforReportListener.java index 466ac1398..e5f386619 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/SignforReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/SignforReportListener.java @@ -89,6 +89,7 @@ public class SignforReportListener implements ReportService { .warehouseId(warehouseId) .orderPackageCode(detail.getPackageCode()) .signUserId(vo.getDriverId()) + .signDriverName(vo.getDriverName()) .signUserName(bean.getOperator()) .signTime(bean.getOperatorTime()) .signCarNumber(vo.getVehicleName()) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index 86cf18451..2a46e08d6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -3205,7 +3205,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Thu, 19 Dec 2024 19:08:52 +0800 Subject: [PATCH 07/20] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OpenOrderServiceImpl.java | 2 +- .../impl/TrunklineCarsLoadServiceImpl.java | 22 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index ae8c836b4..120b8fff6 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -2941,7 +2941,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { if(Objects.isNull(newConsigneeId)){ if(waybillType == 1){ log.warn("#############updateWaybill: 运单收货单位id为空 waybillId={} newConsigneeId={}", waybillId,newConsigneeId); - return R.fail(405, "运单收货单位信息有误"); + return R.fail(405, "请先维护收货单位信息"); }else if(waybillType == 2){ newConsigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); openOrderDTO.setConsigneeId(newConsigneeId); 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 1ee3d6dda..300a100a4 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 @@ -1498,17 +1498,17 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl map = new HashMap<>(); - map.put("messageId", CommonUtil.getUUID()); - map.put("messageData", jsonObject); - map.put("createTime", System.currentTimeMillis()); - map.put("flagType", "TrunklineUnloadConfirm"); - rabbitTemplate.convertAndSend(RabbitConstant.TRUNKLINE_UNLOAD_CONFIRM_EXCHANGE, RabbitConstant.TRUNKLINE_UNLOAD_CONFIRM_ROUTING, map); +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("loadId", loadId); +// jsonObject.put("carsNo", carsLoadEntity.getCarsNo()); +// jsonObject.put("warehouseId", warehouseId); +// +// Map map = new HashMap<>(); +// map.put("messageId", CommonUtil.getUUID()); +// map.put("messageData", jsonObject); +// map.put("createTime", System.currentTimeMillis()); +// map.put("flagType", "TrunklineUnloadConfirm"); +// rabbitTemplate.convertAndSend(RabbitConstant.TRUNKLINE_UNLOAD_CONFIRM_EXCHANGE, RabbitConstant.TRUNKLINE_UNLOAD_CONFIRM_ROUTING, map); try { List brands = this.baseMapper.fingPackageCodeByLoadId(loadId, warehouseId); From c1631164719a1f1d9e5c0d1686e8f162c75789d7 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Fri, 20 Dec 2024 01:02:57 +0800 Subject: [PATCH 08/20] =?UTF-8?q?feat(all):=20=E8=BD=A6=E6=AC=A1=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改报表逻辑 --- .../receiver/report/PlanReportListener.java | 16 +++++++++++----- .../report/QualityDeliverAddListener.java | 5 ++++- .../receiver/report/StockReportListener.java | 15 ++++++++++----- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java index 296c2d526..7b9cdc8c6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java @@ -106,6 +106,7 @@ public class PlanReportListener implements ReportService { Set cmpSet = new HashSet<>(); Set ltlSet = new HashSet<>(); Set invSet = new HashSet<>(); + Set invedSet = new HashSet<>(); for (ReservationVO reservationVO : reservationVOList) { String reservationCode = reservationVO.getReservationCode(); List details = reservationVO.getPackageDataList(); @@ -114,7 +115,6 @@ public class PlanReportListener implements ReportService { QualityDeliverEntity qualityDeliverEntity = QualityDeliverEntity.builder() .warehouseName(bean.getWarehouse()) .warehouseId(warehouseId) - .orderPackageCode(detail.getPackageCode()) .planTrainNumber(vo.getTrainNumber()) .deliveryTime(DateUtil.parseDate(vo.getTaskTime())) .deliveryType(vo.getType()) @@ -169,13 +169,19 @@ public class PlanReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { if (BizOperationEnums.DELETE.equals(bizOperation)) { for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { - qualityDeliverEntity.setId(deliverEntity.getId()); - sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); + if(!invedSet.contains(deliverEntity.getId())){ + qualityDeliverEntity.setId(deliverEntity.getId()); + sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); + } + invedSet.add(deliverEntity.getId()); } } else { for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { - qualityDeliverEntity.setId(deliverEntity.getId()); - sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); + if(!invedSet.contains(deliverEntity.getId())){ + qualityDeliverEntity.setId(deliverEntity.getId()); + sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); + } + invedSet.add(deliverEntity.getId()); } } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/QualityDeliverAddListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/QualityDeliverAddListener.java index febe14ba9..0047f45fd 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/QualityDeliverAddListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/QualityDeliverAddListener.java @@ -31,7 +31,6 @@ import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.Nullable; -import org.springblade.common.constant.WorkNodeEnums; import org.springblade.common.enums.BizOperationEnums; import org.springblade.common.enums.PackageTypeEnums; import org.springblade.core.redis.cache.BladeRedis; @@ -98,6 +97,10 @@ public class QualityDeliverAddListener implements ReportService { // 查询不存在时更新,存在时修改 saveOrUpdate(null, qualityDeliverEntity); } + if (ObjectUtil.equals(bean.getOperation(), BizOperationEnums.MODIFY)) { + // 查询不存在时更新,存在时修改 + qualityDeliverService.updateById(qualityDeliverEntity); + } } /** diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java index a42d9214e..2d7981935 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java @@ -135,11 +135,11 @@ public class StockReportListener implements ReportService { } } else { List collect = qualityDeliverEntities.stream() - .filter( i -> StrUtil.isEmpty(i.getStockupCode())) + .filter(i -> StrUtil.isEmpty(i.getStockupCode())) .collect(Collectors.toList()); if (CollUtil.isNotEmpty(collect)) { qualityDeliverEntity.setId(collect.get(0).getId()); - sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); + sendReport(qualityDeliverEntity, BizOperationEnums.ADD); } } } @@ -155,11 +155,16 @@ public class StockReportListener implements ReportService { .operation(operationEnums) .node(WorkNodeEnums.STOCKING_OPERATION.getValue()) .build(); + String exchange = ReportConstants.REPORT_QUALITY_DELIVER_EXCHANGE; + String routKey = ReportConstants.REPORT_QUALITY_DELIVER_ROUTINGKEY; + if (operationEnums.equals(BizOperationEnums.ADD)) { + qualityDeliverService.updateById(qualityDeliverEntity); + return; + } factoryDataClient.sendMessage(SendMsg.builder() - .exchange(ReportConstants.REPORT_QUALITY_DELIVER_EXCHANGE) - .routingKey(ReportConstants.REPORT_QUALITY_DELIVER_ROUTINGKEY) + .exchange(exchange) + .routingKey(routKey) .message(JSONUtil.toJsonStr(dto)) - .delay(3000) .build()); } From 44499ff1a68b5eb419dd232e59a69eca0ea4d3a6 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Fri, 20 Dec 2024 10:10:40 +0800 Subject: [PATCH 09/20] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OpenOrderController.java | 10 ++-- .../service/impl/OpenOrderServiceImpl.java | 59 ++++++++++++++++--- 2 files changed, 55 insertions(+), 14 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java index e862cce07..e9e0414c9 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java @@ -1000,11 +1000,11 @@ public class OpenOrderController { throw new CustomerException(405, "发货单位不能为空"); } - Long consigneeId = openOrderDTO.getConsigneeId(); - if(Objects.isNull(consigneeId)){ - log.warn("#################openOrderParamVerify: 请先维护收货单位 consigneeId={} ", consigneeId); - throw new CustomerException(405, "请先维护收货单位"); - } +// Long consigneeId = openOrderDTO.getConsigneeId(); +// if(Objects.isNull(consigneeId)){ +// log.warn("#################openOrderParamVerify: 请先维护收货单位 consigneeId={} ", consigneeId); +// throw new CustomerException(405, "请先维护收货单位"); +// } String consignee = openOrderDTO.getConsignee(); if (StringUtil.isBlank(consignee)) { diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 120b8fff6..9c4c20da0 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -631,9 +631,16 @@ public class OpenOrderServiceImpl implements IOpenOrderService { waybillEntity.setCustomerTrain(openOrderDTO.getTrainNumber()); waybillEntity.setGoodsCode(openOrderDTO.getGoodsCode()); Long shipperId = openOrderDTO.getShipperId(); + String shipper = openOrderDTO.getShipper(); if (Objects.isNull(shipperId)) { //如果发货单位没有id值,则把发货单位信息自动添加到client中 - shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + BasicdataClientEntity clientEntity = basicdataClientClient.findByName(shipper); + if(Objects.isNull(clientEntity)){ + shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + }else{ + shipperId = clientEntity.getId(); + } + } waybillEntity.setShipperId(shipperId); waybillEntity.setShipper(openOrderDTO.getShipper()); @@ -642,11 +649,16 @@ public class OpenOrderServiceImpl implements IOpenOrderService { waybillEntity.setShipperAddress(openOrderDTO.getShipperAddress()); Long consigneeId = openOrderDTO.getConsigneeId();//收货单位id -// if (Objects.isNull(consigneeId)) { -// //如果收货单位没有id值,则把收货单位信息自动添加到client中 -// consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); -// -// } + String consignee = openOrderDTO.getConsignee(); + if (Objects.isNull(consigneeId)) { + //如果收货单位没有id值,则把收货单位信息自动添加到client中 + BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee); + if(Objects.isNull(clientEntity)){ + consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + }else{ + consigneeId = clientEntity.getId(); + } + } waybillEntity.setConsigneeId(consigneeId); waybillEntity.setConsignee(openOrderDTO.getConsignee()); waybillEntity.setConsigneeName(openOrderDTO.getConsigneeName()); @@ -988,9 +1000,16 @@ public class OpenOrderServiceImpl implements IOpenOrderService { waybillEntity.setReplacePrice(openOrderDTO.getReplacePrice()); waybillEntity.setOrderNo(openOrderDTO.getOrderCode()); Long shipperId = openOrderDTO.getShipperId(); + String shipper = openOrderDTO.getShipper(); if (Objects.isNull(shipperId)) { //如果发货单位没有id值,则把发货单位信息自动添加到client中 - shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + BasicdataClientEntity clientEntity = basicdataClientClient.findByName(shipper); + if(Objects.isNull(clientEntity)){ + shipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + }else{ + shipperId = clientEntity.getId(); + } + } waybillEntity.setShipperId(shipperId); waybillEntity.setShipper(openOrderDTO.getShipper()); @@ -999,9 +1018,15 @@ public class OpenOrderServiceImpl implements IOpenOrderService { waybillEntity.setShipperAddress(openOrderDTO.getShipperAddress()); Long consigneeId = openOrderDTO.getConsigneeId();//收货单位id + String consignee = openOrderDTO.getConsignee(); if (Objects.isNull(consigneeId)) { //如果收货单位没有id值,则把收货单位信息自动添加到client中 - consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee); + if(Objects.isNull(clientEntity)){ + consigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + }else{ + consigneeId = clientEntity.getId(); + } } waybillEntity.setConsigneeId(consigneeId); waybillEntity.setConsignee(openOrderDTO.getConsignee()); @@ -5447,6 +5472,15 @@ public class OpenOrderServiceImpl implements IOpenOrderService { stringBuilder.append("发货单位:").append(shipper).append("-->").append(newShipper).append(";"); waybillEntity.setShipper(newShipper); waybillEntity.setShipperId(newShipperId); + if(Objects.isNull(newShipperId)){ + BasicdataClientEntity clientEntity = basicdataClientClient.findByName(newShipper); + if(Objects.isNull(clientEntity)){ + newShipperId = saveNewClient(openOrderDTO.getShipper(), openOrderDTO.getShipperName(), openOrderDTO.getShipperMobile(), openOrderDTO.getShipperAddress(), "6"); + }else{ + newShipperId = clientEntity.getId(); + } + waybillEntity.setConsigneeId(newShipperId); + } } String newShipperName = openOrderDTO.getShipperName(); String shipperName = waybillEntity.getShipperName(); @@ -5479,7 +5513,14 @@ public class OpenOrderServiceImpl implements IOpenOrderService { waybillEntity.setConsigneeId(newConsigneeId); if(Objects.isNull(newConsigneeId)){ waybillEntity.setServiceType(1); - warehouseWaybillClient.updateWaybillCondigneeIdToNull(waybillId); + BasicdataClientEntity clientEntity = basicdataClientClient.findByName(newConsignee); + if(Objects.isNull(clientEntity)){ + newConsigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); + }else{ + newConsigneeId = clientEntity.getId(); + waybillEntity.setServiceType(clientEntity.getTypeService()); + } + waybillEntity.setConsigneeId(newConsigneeId); }else{ BasicdataClientEntity basicdataClient = basicdataClientClient.findEntityById(newConsigneeId); if(!Objects.isNull(basicdataClient)){ From ce01275289cb2223b64d8f3d9656d7a4327a6cce Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Fri, 20 Dec 2024 10:47:09 +0800 Subject: [PATCH 10/20] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OpenOrderServiceImpl.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 9c4c20da0..6e0cdd48b 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -2961,17 +2961,17 @@ public class OpenOrderServiceImpl implements IOpenOrderService { // 得到改单之前的收货单位 oldConsignee = waybillEntity.getConsignee(); - Long newConsigneeId = openOrderDTO.getConsigneeId(); - - if(Objects.isNull(newConsigneeId)){ - if(waybillType == 1){ - log.warn("#############updateWaybill: 运单收货单位id为空 waybillId={} newConsigneeId={}", waybillId,newConsigneeId); - return R.fail(405, "请先维护收货单位信息"); - }else if(waybillType == 2){ - newConsigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); - openOrderDTO.setConsigneeId(newConsigneeId); - } - } +// Long newConsigneeId = openOrderDTO.getConsigneeId(); +// +// if(Objects.isNull(newConsigneeId)){ +// if(waybillType == 1){ +// log.warn("#############updateWaybill: 运单收货单位id为空 waybillId={} newConsigneeId={}", waybillId,newConsigneeId); +// return R.fail(405, "请先维护收货单位信息"); +// }else if(waybillType == 2){ +// newConsigneeId = saveNewClient(openOrderDTO.getConsignee(), openOrderDTO.getConsigneeName(), openOrderDTO.getConsigneeMobile(), openOrderDTO.getConsigneeAddress(), "2"); +// openOrderDTO.setConsigneeId(newConsigneeId); +// } +// } String updateMsg = verifyUpdateData(openOrderDTO, waybillEntity); From bbd6f2610560ae74349d2ad05058b8cf9695ada6 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Fri, 20 Dec 2024 10:55:42 +0800 Subject: [PATCH 11/20] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E5=B9=BF=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/WorkNodeEnums.java | 2 +- .../springblade/common/model/RetentionVO.java | 89 +++++++++++++++++++ .../feign/IDistributionReservationClient.java | 12 +++ .../service/IDistributionNodeWorkService.java | 7 ++ .../impl/DistributionNodeWorkServiceImpl.java | 11 +++ .../WarehouseRetentionScanServiceImpl.java | 43 +++++++++ 6 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 blade-biz-common/src/main/java/org/springblade/common/model/RetentionVO.java diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java b/blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java index 893277c0b..270d49312 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java @@ -81,7 +81,7 @@ public enum WorkNodeEnums implements Serializable { DISTRIBUTION_CAR_START(302040, "配送发车"), DISTRIBUTION_CAR_ARRIVED(302050, "配送到达"), DISTRIBUTION_SIGN_FOR(302060, "配送签收"), - DISTRIBUTION_RETENTION(302070, "配送滞留"), + DISTRIBUTION_RETENTION(302070, "配送回库"), DISTRIBUTION_ABNORMAL_SIGN_FOR(302080, "异常签收"), DISTRIBUTION_FAIL(302090, "配送失败"), diff --git a/blade-biz-common/src/main/java/org/springblade/common/model/RetentionVO.java b/blade-biz-common/src/main/java/org/springblade/common/model/RetentionVO.java new file mode 100644 index 000000000..f5423abb0 --- /dev/null +++ b/blade-biz-common/src/main/java/org/springblade/common/model/RetentionVO.java @@ -0,0 +1,89 @@ +package org.springblade.common.model; + + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 预约作业节点VO + */ +@Data +public class RetentionVO { + + private Long id; + + /** + * 预约单号 + */ + private String reservationCode; + + + /** + * 预约时间 + */ + private Date reservationDate; + + /** + * 收货单位 + */ + private String receivingUnit; + + /** + * 收货人 + */ + private String consignee; + /** + * 收件地址 + */ + private String deliveryAddress; + + /** + * 收件电话 + */ + private String deliveryPhone; + + /** + * 商场名称 + */ + private String mallName; + + + /** + * 门店名称 + */ + private String storeName; + + /** + * 仓库名称 + */ + private String warehouseName; + + /** + * 预约库存品数量 + */ + private Integer reservationStockListNum; + + /** + * 预约定制品数量+预约零担数量 + */ + private Integer reservationNum; + + + /** + * 配送类型;1-商配、2-市配 + */ + private String deliveryType; + + /** + * 预约数据列表 + * 包含包件 零担 库存破 + */ + private List packageDataList; + + + + + +} diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java index e76b29f1d..100fb93f0 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java @@ -20,10 +20,14 @@ import com.logpm.distribution.entity.DistributionReservationEntity; import com.logpm.distribution.vo.DistributionRetentionScanVo; import org.apache.ibatis.annotations.Param; import org.springblade.common.constant.ModuleNameConstant; +import org.springblade.common.model.NodeFanoutMsg; +import org.springblade.common.model.ReservationVO; import org.springblade.core.mp.support.BladePage; +import org.springblade.core.secure.BladeUser; import org.springblade.core.tool.api.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @@ -102,4 +106,12 @@ public interface IDistributionReservationClient { */ @GetMapping(TOP+"/maintainReservationInfo") Boolean maintainReservationInfo(String params); + + /** + * 广播 + * @param nodeFanoutMsg + * @param user + */ + @PostMapping(TOP+"/maintainReservationInfo") + void planRetention(@RequestBody NodeFanoutMsg nodeFanoutMsg,@RequestBody BladeUser user); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java index aff4dae71..8014b515c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java @@ -25,6 +25,13 @@ public interface IDistributionNodeWorkService { */ void planReservation(NodeFanoutMsg nodeFanoutMsg, BladeUser user); + /** + * 预约 + * @param nodeFanoutMsg + * @param user + */ + void planRetention(NodeFanoutMsg nodeFanoutMsg, BladeUser user); + /** * 取消预约 * @param nodeFanoutMsg diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java index c4ae8c1dd..4f4474126 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java @@ -63,6 +63,17 @@ public class DistributionNodeWorkServiceImpl implements IDistributionNodeWorkSer } + @Override + public void planRetention(NodeFanoutMsg nodeFanoutMsg, BladeUser user) { + try { + if (distributionProperties.getSendFanoutMsg()) { + rabbitTemplate.convertAndSend(FanoutConstants.distribution.DeliveryRetention.EXCHANGE, null, com.alibaba.fastjson.JSONObject.toJSONString(nodeFanoutMsg)); + } + } catch (AmqpException e) { + log.error(">>>>>>>>>>>>>>>>>>>>>>>>>> 消息推送失败~ 请联系管理员! ", e); + } + } + @Override public void planDelivery(NodeFanoutMsg nodeFanoutMsg, BladeUser user) { try { diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java index b94e16455..2a7710a79 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java @@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.entity.DistributionLoadscanAbnormalEntity; +import com.logpm.distribution.entity.DistributionReservationEntity; import com.logpm.distribution.entity.DistributionRetentionScanEntity; import com.logpm.distribution.feign.IDistributionLoadscanAbnormalClient; import com.logpm.distribution.feign.IDistributionReservationClient; @@ -38,9 +39,13 @@ import com.logpm.warehouse.vo.WarehouseRetentionRecordVO; import com.logpm.warehouse.excel.WarehouseRetentionRecordExcel; import com.logpm.warehouse.vo.WarehouseRetentionScanVO; import lombok.AllArgsConstructor; +import org.springblade.common.constant.WorkNodeEnums; import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.loading.LoadingAbnormalAuditingStatusConstant; import org.springblade.common.constant.loading.LoadingAbnormalTypeConstant; +import org.springblade.common.enums.BizOperationEnums; +import org.springblade.common.model.NodeFanoutMsg; +import org.springblade.common.model.ReservationVO; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.BladeUser; @@ -170,9 +175,47 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl nodeFanoutMsg = buildNodeFanoutMsgByRestention(warehouseRetentionScan.getReservationId(),distributionLoadscanAbnormalEntity.getWarehouseId()); + reservationClient.planRetention(nodeFanoutMsg,AuthUtil.getUser()); return R.success("操作成功"); } + private NodeFanoutMsg buildNodeFanoutMsgByRestention(Long reservationId,Long warehouseId) { + NodeFanoutMsg nodeFanoutMsg = new NodeFanoutMsg<>(); + + nodeFanoutMsg.setNode(WorkNodeEnums.DISTRIBUTION_RETENTION); + nodeFanoutMsg.setBizOperation(BizOperationEnums.ADD); + nodeFanoutMsg.setOperator(AuthUtil.getNickName()); + nodeFanoutMsg.setOperatorTime(new Date()); + nodeFanoutMsg.setTenantId(AuthUtil.getTenantId()); + ReservationVO reservationVO = getReservationVO(reservationId); + nodeFanoutMsg.setWarehouse(reservationVO.getWarehouseName()); + nodeFanoutMsg.setWarehouseId(warehouseId); + nodeFanoutMsg.setMain(reservationVO); + return nodeFanoutMsg; + + } + + private ReservationVO getReservationVO(Long reservationId) { + List reservationList = reservationClient.getReservationList(reservationId + ""); + DistributionReservationEntity reservationEntity = reservationList.get(0); + ReservationVO reservationVO = new ReservationVO(); + reservationVO.setReservationCode(reservationEntity.getReservationCode()); + reservationVO.setReservationDate(reservationEntity.getReservationDate()); + reservationVO.setConsignee(reservationEntity.getConsignee()); + reservationVO.setDeliveryAddress(reservationEntity.getDeliveryAddress()); + reservationVO.setDeliveryPhone(reservationEntity.getDeliveryPhone()); + reservationVO.setMallName(reservationEntity.getMallName()); + reservationVO.setStoreName(reservationEntity.getStoreName()); + reservationVO.setWarehouseName(reservationEntity.getWarehouseName()); + reservationVO.setDeliveryType(reservationEntity.getDeliveryType()); + reservationVO.setReservationNum(reservationEntity.getReservationNum()); + reservationVO.setReceivingUnit(reservationEntity.getReceivingUnit()); + reservationVO.setId(reservationEntity.getId()); + reservationVO.setReservationStockListNum(reservationEntity.getReservationStockListNum()); + return reservationVO; + } + @Override public R selectWarehouseRetentionRecordNewPage(IPage page, WarehouseRetentionScanDTO warehouseRetentionScan) { From 760a35e5dd9e76e2faca9b35a2f5e89d32282934 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Fri, 20 Dec 2024 11:28:39 +0800 Subject: [PATCH 12/20] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E5=B9=BF=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WarehouseRetentionScanServiceImpl.java | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java index 2a7710a79..0c9f2575f 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java @@ -44,7 +44,9 @@ import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.loading.LoadingAbnormalAuditingStatusConstant; import org.springblade.common.constant.loading.LoadingAbnormalTypeConstant; import org.springblade.common.enums.BizOperationEnums; +import org.springblade.common.enums.PackageTypeEnums; import org.springblade.common.model.NodeFanoutMsg; +import org.springblade.common.model.PackageData; import org.springblade.common.model.ReservationVO; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.redis.cache.BladeRedis; @@ -57,10 +59,7 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -175,12 +174,12 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl nodeFanoutMsg = buildNodeFanoutMsgByRestention(warehouseRetentionScan.getReservationId(),distributionLoadscanAbnormalEntity.getWarehouseId()); + NodeFanoutMsg nodeFanoutMsg = buildNodeFanoutMsgByRestention(warehouseRetentionScan.getReservationId(),warehouseRetentionScan); reservationClient.planRetention(nodeFanoutMsg,AuthUtil.getUser()); return R.success("操作成功"); } - private NodeFanoutMsg buildNodeFanoutMsgByRestention(Long reservationId,Long warehouseId) { + private NodeFanoutMsg buildNodeFanoutMsgByRestention(Long reservationId,WarehouseRetentionScanEntity warehouseRetentionScan) { NodeFanoutMsg nodeFanoutMsg = new NodeFanoutMsg<>(); nodeFanoutMsg.setNode(WorkNodeEnums.DISTRIBUTION_RETENTION); @@ -188,15 +187,15 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl reservationList = reservationClient.getReservationList(reservationId + ""); DistributionReservationEntity reservationEntity = reservationList.get(0); ReservationVO reservationVO = new ReservationVO(); @@ -213,6 +212,24 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl Date: Fri, 20 Dec 2024 12:36:11 +0800 Subject: [PATCH 13/20] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E5=B9=BF=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/broadcast/FanoutConstants.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java b/blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java index 845c2da98..3e3105c01 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java @@ -267,6 +267,16 @@ public abstract class FanoutConstants { } } + interface DeliveryRetention { + + String EXCHANGE = "fanout.distribution.retention" + ModuleNameConstant.DEVAUTH; +// String EXCHANGE_DELAY = "fanout.distribution.plan.delay" + ModuleNameConstant.DEVAUTH; + + interface QUEUE { + String REPORT = "fanout.distribution.retention.report" + ModuleNameConstant.DEVAUTH; + } + } + /** * 备货节点 * From 2b49afb4b8fa15a3c679f1d2496e1f44a0e659d8 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Fri, 20 Dec 2024 12:39:32 +0800 Subject: [PATCH 14/20] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E5=B9=BF=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/DistributionReservationClient.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java index c675f46d2..df57878f0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java @@ -20,12 +20,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.distribution.dto.DistributionCancelReservationPackageDTO; import com.logpm.distribution.entity.DistributionReservationEntity; +import com.logpm.distribution.service.IDistributionNodeWorkService; import com.logpm.distribution.service.IDistributionReservationService; import com.logpm.distribution.vo.DistributionRetentionScanVo; import lombok.AllArgsConstructor; +import org.springblade.common.model.NodeFanoutMsg; +import org.springblade.common.model.ReservationVO; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; +import org.springblade.core.secure.BladeUser; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.transaction.annotation.Transactional; @@ -49,6 +53,8 @@ public class DistributionReservationClient implements IDistributionReservationCl private final IDistributionReservationService reservationService; + private final IDistributionNodeWorkService distributionNodeWorkService; + @Override @GetMapping(TOP) public BladePage reservationTop(Integer current, Integer size) { @@ -117,5 +123,10 @@ public class DistributionReservationClient implements IDistributionReservationCl return false; } + @Override + public void planRetention(NodeFanoutMsg nodeFanoutMsg, BladeUser user) { + distributionNodeWorkService.planRetention(nodeFanoutMsg,user); + } + } From ef37fe14fb4d021b8fd4fffab4895df00ba1e4a3 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Fri, 20 Dec 2024 13:36:07 +0800 Subject: [PATCH 15/20] =?UTF-8?q?feat(all):=20=E8=BD=A6=E6=AC=A1=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改报表逻辑 --- .../feign/DistributionReservationClient.java | 2 -- .../receiver/report/PlanReportListener.java | 33 ++++++++++++++----- .../factory/jobhandler/FactoryXxlJob.java | 21 +++++------- 3 files changed, 33 insertions(+), 23 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java index df57878f0..2f08d3bd1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java @@ -22,7 +22,6 @@ import com.logpm.distribution.dto.DistributionCancelReservationPackageDTO; import com.logpm.distribution.entity.DistributionReservationEntity; import com.logpm.distribution.service.IDistributionNodeWorkService; import com.logpm.distribution.service.IDistributionReservationService; -import com.logpm.distribution.vo.DistributionRetentionScanVo; import lombok.AllArgsConstructor; import org.springblade.common.model.NodeFanoutMsg; import org.springblade.common.model.ReservationVO; @@ -31,7 +30,6 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.BladeUser; import org.springblade.core.tool.api.R; -import org.springblade.core.tool.utils.Func; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java index 7b9cdc8c6..c18e1c7ca 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java @@ -77,9 +77,28 @@ public class PlanReportListener implements ReportService { Map> cmpMap = new HashMap<>(); Map> ltlMap = new HashMap<>(); Map> invMap = new HashMap<>(); + Integer totalNum = 0; + for (ReservationVO reservationVO : reservationVOList) { + List details = reservationVO.getPackageDataList(); + if (CollUtil.isNotEmpty(details)) { + totalNum = totalNum + 1; + } + } if (CollUtil.isNotEmpty(reservationCodeSet)) { List qualityDeliverEntities = qualityDeliverService.list(Wrappers.lambdaQuery().in(QualityDeliverEntity::getPlanReservationCode, reservationCodeSet)); if (CollUtil.isNotEmpty(qualityDeliverEntities)) { + if (bizOperation.equals(BizOperationEnums.ADD)) { + if (!NumberUtil.equals(qualityDeliverEntities.size(), totalNum)) { + // 没有查询到,延迟10秒重新推送 + factoryDataClient.sendMessage(SendMsg.builder() + .exchange(FanoutConstants.distribution.DeliveryAndPlan.EXCHANGE_DELAY) + .routingKey(null) + .message(msg) + .delay(10000) + .build()); + return; + } + } cmpMap = qualityDeliverEntities.stream() .filter(item -> NumberUtil.equals(item.getConditions(), PackageTypeEnums.CMP.getCode())) .filter(item -> StrUtil.isNotEmpty(item.getOrderPackageCode())) @@ -139,7 +158,7 @@ public class PlanReportListener implements ReportService { sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } - if(StrUtil.isNotEmpty(detail.getPackageCode())){ + if (StrUtil.isNotEmpty(detail.getPackageCode())) { cmpSet.add(reservationCode + detail.getPackageCode()); } } else if (ObjectUtil.equals(detail.getPackageType(), PackageTypeEnums.LTL)) { @@ -154,7 +173,7 @@ public class PlanReportListener implements ReportService { sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } - if(StrUtil.isNotEmpty(detail.getProductName()) && StrUtil.isNotEmpty(detail.getOrderCode())){ + if (StrUtil.isNotEmpty(detail.getProductName()) && StrUtil.isNotEmpty(detail.getOrderCode())) { ltlSet.add(reservationCode + detail.getProductName() + detail.getOrderCode()); } } else if (ObjectUtil.equals(detail.getPackageType(), PackageTypeEnums.INV)) { @@ -169,7 +188,7 @@ public class PlanReportListener implements ReportService { if (CollUtil.isNotEmpty(qualityDeliverEntities)) { if (BizOperationEnums.DELETE.equals(bizOperation)) { for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { - if(!invedSet.contains(deliverEntity.getId())){ + if (!invedSet.contains(deliverEntity.getId())) { qualityDeliverEntity.setId(deliverEntity.getId()); sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); } @@ -177,7 +196,7 @@ public class PlanReportListener implements ReportService { } } else { for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { - if(!invedSet.contains(deliverEntity.getId())){ + if (!invedSet.contains(deliverEntity.getId())) { qualityDeliverEntity.setId(deliverEntity.getId()); sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } @@ -186,7 +205,7 @@ public class PlanReportListener implements ReportService { } } } - if(StrUtil.isNotEmpty(detail.getMallName()) && StrUtil.isNotEmpty(detail.getMaterialCode())){ + if (StrUtil.isNotEmpty(detail.getMallName()) && StrUtil.isNotEmpty(detail.getMaterialCode())) { invSet.add(reservationCode + detail.getMallName() + detail.getMaterialCode()); } } @@ -225,10 +244,6 @@ public class PlanReportListener implements ReportService { .build(); String exchange = ReportConstants.REPORT_QUALITY_DELIVER_EXCHANGE; String routKey = ReportConstants.REPORT_QUALITY_DELIVER_ROUTINGKEY; - if (operationEnums.equals(BizOperationEnums.ADD)) { - exchange = ReportConstants.REPORT_QUALITY_DELIVER_ADD_EXCHANGE; - routKey = ReportConstants.REPORT_QUALITY_DELIVER_ADD_ROUTINGKEY; - } factoryDataClient.sendMessage(SendMsg.builder() .exchange(exchange) .routingKey(routKey) diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java index 64a9a183b..7c25d71e1 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java @@ -61,9 +61,11 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; /** @@ -438,22 +440,13 @@ public class FactoryXxlJob { // 走新系统入库 if (collect.size() > 0) { List advances = new ArrayList<>(); + Set orderPackageSet = new HashSet<>(); collect.forEach((k, v) -> { List packageList = new ArrayList<>(); List staorderPackagesList = staorderPackagesService.list(Wrappers.query().lambda() .eq(StaorderPackagesEntity::getIdentification, "2") .eq(StaorderPackagesEntity::getOrderId, k) ); - // 订单 order_id +包件 packagenum 重复 则剔除数据 - staorderPackagesList = staorderPackagesList.stream() - .collect(Collectors.collectingAndThen( - Collectors.toMap( - sp -> sp.getOrderId() + sp.getPackagenum(), // 键 - sp -> sp, // 值 - (existing, replacement) -> existing // 处理重复键的情况,这里选择保留第一个 - ), - map -> new ArrayList<>(map.values()) - )); // 查询基地名称 StationlinenumEntity stationlinenumEntity = stationlinenumService.selectNameByNumber(v.getTcWlb006()); String siteName = Objects.isNull(stationlinenumEntity) ? null : stationlinenumEntity.getLogisticsLineName(); @@ -514,7 +507,11 @@ public class FactoryXxlJob { Long finalStartWarehouseId = startWarehouseId; String finalStartWarehouseName = startWarehouseName; String finalTenantId = tenantId; - groupByPackages.forEach(gpd -> { + for (GroupByPackagesDTO gpd : groupByPackages) { + if(CollUtil.contains(orderPackageSet,gpd.getPackagenum())){ + continue; + } + orderPackageSet.add(gpd.getPackagenum()); // 封装包件 TrunklineAdvanceDetailEntity advanceDetailEntity = new TrunklineAdvanceDetailEntity(); advanceDetailEntity.setWarehouseId(finalStartWarehouseId); @@ -553,7 +550,7 @@ public class FactoryXxlJob { advanceDetailEntity.setIsDeleted(0); cn.hutool.json.JSONObject entries = JSONUtil.parseObj(advanceDetailEntity); packageList.add(entries); - }); + } // 转成json对象,然后将包件明细放到detail中 cn.hutool.json.JSONObject entries = JSONUtil.parseObj(advanceEntity); entries.set("details", JSONUtil.toJsonStr(packageList)); From 6da28a0d332e8ddcd61ff9f5d7428b0afc6db284 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Fri, 20 Dec 2024 14:15:07 +0800 Subject: [PATCH 16/20] =?UTF-8?q?=E5=9B=9E=E5=BA=93=E5=B9=BF=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../distribution/feign/IDistributionReservationClient.java | 4 ++-- .../distribution/feign/DistributionReservationClient.java | 4 ++-- .../distribution/service/IDistributionNodeWorkService.java | 2 +- .../service/impl/DistributionNodeWorkServiceImpl.java | 2 +- .../service/impl/WarehouseRetentionScanServiceImpl.java | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java index 100fb93f0..e51bc2e79 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionReservationClient.java @@ -112,6 +112,6 @@ public interface IDistributionReservationClient { * @param nodeFanoutMsg * @param user */ - @PostMapping(TOP+"/maintainReservationInfo") - void planRetention(@RequestBody NodeFanoutMsg nodeFanoutMsg,@RequestBody BladeUser user); + @PostMapping(TOP+"/planRetention") + void planRetention(@RequestBody NodeFanoutMsg nodeFanoutMsg); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java index 2f08d3bd1..19e64ebc8 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionReservationClient.java @@ -122,8 +122,8 @@ public class DistributionReservationClient implements IDistributionReservationCl } @Override - public void planRetention(NodeFanoutMsg nodeFanoutMsg, BladeUser user) { - distributionNodeWorkService.planRetention(nodeFanoutMsg,user); + public void planRetention(NodeFanoutMsg nodeFanoutMsg) { + distributionNodeWorkService.planRetention(nodeFanoutMsg); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java index 8014b515c..db2c816e1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionNodeWorkService.java @@ -30,7 +30,7 @@ public interface IDistributionNodeWorkService { * @param nodeFanoutMsg * @param user */ - void planRetention(NodeFanoutMsg nodeFanoutMsg, BladeUser user); + void planRetention(NodeFanoutMsg nodeFanoutMsg); /** * 取消预约 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java index 4f4474126..e23426cc8 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionNodeWorkServiceImpl.java @@ -64,7 +64,7 @@ public class DistributionNodeWorkServiceImpl implements IDistributionNodeWorkSer } @Override - public void planRetention(NodeFanoutMsg nodeFanoutMsg, BladeUser user) { + public void planRetention(NodeFanoutMsg nodeFanoutMsg) { try { if (distributionProperties.getSendFanoutMsg()) { rabbitTemplate.convertAndSend(FanoutConstants.distribution.DeliveryRetention.EXCHANGE, null, com.alibaba.fastjson.JSONObject.toJSONString(nodeFanoutMsg)); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java index 0c9f2575f..2487d190d 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseRetentionScanServiceImpl.java @@ -175,7 +175,7 @@ public class WarehouseRetentionScanServiceImpl extends BaseServiceImpl nodeFanoutMsg = buildNodeFanoutMsgByRestention(warehouseRetentionScan.getReservationId(),warehouseRetentionScan); - reservationClient.planRetention(nodeFanoutMsg,AuthUtil.getUser()); + reservationClient.planRetention(nodeFanoutMsg); return R.success("操作成功"); } From 7f5b68d103def8f62cfd52eb2c79fee5ee195ff3 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Fri, 20 Dec 2024 23:47:38 +0800 Subject: [PATCH 17/20] =?UTF-8?q?feat(all):=20=E8=BF=90=E8=90=A5=E5=95=86?= =?UTF-8?q?=E5=8F=B8=E6=9C=BA=E4=BB=B7=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改只能选择自有司机 --- .../basicdata/controller/BasicdataDriverArteryController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataDriverArteryController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataDriverArteryController.java index 3b73888a8..52f59f238 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataDriverArteryController.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataDriverArteryController.java @@ -137,7 +137,7 @@ public class BasicdataDriverArteryController extends BladeController { List warehouseEntities = basicdataDriverWarehouseService.list(Wrappers.lambdaQuery().eq(BasicdataDriverWarehouseEntity::getWarehouseId, basicdataDriverArtery.get("warehouseId"))); if (CollUtil.isNotEmpty(warehouseEntities)) { Set collect = warehouseEntities.stream().map(BasicdataDriverWarehouseEntity::getDriverId).collect(Collectors.toSet()); - List list = basicdataDriverArteryService.list(Wrappers.lambdaQuery().in(BasicdataDriverArteryEntity::getId, collect)); + List list = basicdataDriverArteryService.list(Wrappers.lambdaQuery().in(BasicdataDriverArteryEntity::getId, collect).isNotNull(BasicdataDriverArteryEntity::getUserId)); return R.data(list); } return R.data(null); From af3a6ee1812444686913c6ccc41ee04caa0459ca Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Fri, 20 Dec 2024 23:48:37 +0800 Subject: [PATCH 18/20] =?UTF-8?q?feat(all):=20=E9=85=8D=E9=80=81=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 优化配送明细广播推送 --- .../receiver/report/PlanReportListener.java | 2 +- .../DistributionDeliveryListServiceImpl.java | 23 ++++++++++--------- .../impl/DistributionSignforServiceImpl.java | 3 +++ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java index c18e1c7ca..3fa2807f6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java @@ -81,7 +81,7 @@ public class PlanReportListener implements ReportService { for (ReservationVO reservationVO : reservationVOList) { List details = reservationVO.getPackageDataList(); if (CollUtil.isNotEmpty(details)) { - totalNum = totalNum + 1; + totalNum = totalNum + details.size(); } } if (CollUtil.isNotEmpty(reservationCodeSet)) { 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 caebc5e37..8b1122951 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 @@ -1247,7 +1247,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl broadcastDataByZeroOrderAndParcId = baseMapper.getBroadcastDataByZeroOrderAndParcId(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getWarehouseId(), distributionLoadscanEntity.getPackageId()); - PackageData packageData = BeanUtil.copy(broadcastDataByZeroOrderAndParcId, PackageData.class); - assert packageData != null; - packageData.setBrand(Convert.toStr(broadcastDataByZeroOrderAndParcId.get("brandName"))); - PackageTypeEnums type = PackageTypeEnums.LTL; - packageData.setPackageType(type); - packageData.setProductName(Convert.toStr(broadcastDataByZeroOrderAndParcId.get("productName"))); - packageData.setNumber(distributionLoadscanEntity.getLoadedNub()); - data.add(packageData); - + if(ObjectUtil.isNotEmpty(broadcastDataByZeroOrderAndParcId)){ + PackageData packageData = BeanUtil.copy(broadcastDataByZeroOrderAndParcId, PackageData.class); + assert packageData != null; + packageData.setBrand(Convert.toStr(broadcastDataByZeroOrderAndParcId.get("brandName"))); + PackageTypeEnums type = PackageTypeEnums.LTL; + packageData.setPackageType(type); + packageData.setProductName(Convert.toStr(broadcastDataByZeroOrderAndParcId.get("productName"))); + packageData.setNumber(distributionLoadscanEntity.getLoadedNub()); + data.add(packageData); + } } distributionLoadVO.setPackageDataList(data); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index 2a46e08d6..7c3242837 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -3319,6 +3319,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Sat, 21 Dec 2024 23:43:39 +0800 Subject: [PATCH 19/20] =?UTF-8?q?feat(all):=20=E9=85=8D=E9=80=81=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 优化配送明细广播推送 --- .../report/BillPlanReportListener.java | 30 +++++++++++++++- .../receiver/report/PlanReportListener.java | 14 ++++++-- .../report/ReservationPlanReportListener.java | 34 ++++++++++++++++--- .../receiver/report/StockReportListener.java | 2 +- 4 files changed, 71 insertions(+), 9 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillPlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillPlanReportListener.java index b13146aae..7782157e7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillPlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/BillPlanReportListener.java @@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -114,6 +115,10 @@ public class BillPlanReportListener implements ReportService { qualityDeliverEntity.setId(cmpMap.get(detail.getPackageCode()).get(0).getId()); sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } else { + qualityDeliverEntity.setDeliveryCreateUserName(bean.getOperator()); + qualityDeliverEntity.setDeliveryPlanTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationCreateTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationUser(bean.getOperator()); sendReport(qualityDeliverEntity, BizOperationEnums.ADD); } } @@ -126,6 +131,10 @@ public class BillPlanReportListener implements ReportService { qualityDeliverEntity.setId(ltlMap.get(detail.getProductName() + detail.getOrderCode()).get(0).getId()); sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } else { + qualityDeliverEntity.setDeliveryCreateUserName(bean.getOperator()); + qualityDeliverEntity.setDeliveryPlanTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationCreateTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationUser(bean.getOperator()); sendReport(qualityDeliverEntity, BizOperationEnums.ADD); } } @@ -146,12 +155,16 @@ public class BillPlanReportListener implements ReportService { QualityDeliverEntity entity = new QualityDeliverEntity(); BeanUtil.copyProperties(qualityDeliverEntity, entity); entity.setPlanNum(1); + qualityDeliverEntity.setDeliveryCreateUserName(bean.getOperator()); + qualityDeliverEntity.setDeliveryPlanTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationCreateTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationUser(bean.getOperator()); sendReport(entity, BizOperationEnums.ADD); } for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { qualityDeliverEntity.setId(deliverEntity.getId()); qualityDeliverEntity.setPlanNum(1); - sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); + sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } else if (number == size) { for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { @@ -163,16 +176,27 @@ public class BillPlanReportListener implements ReportService { List collect = qualityDeliverEntities.stream() .filter(item -> StrUtil.isEmpty(item.getOrderPackageCode())) .collect(Collectors.toList()); + Set delIds = new HashSet<>(); if (CollUtil.isNotEmpty(collect)) { int i = size - number; if (i >= collect.size()) { for (QualityDeliverEntity entity : collect) { sendReport(entity, BizOperationEnums.DELETE); + delIds.add(entity.getId()); } } else { for (int j = 0; j < i; j++) { sendReport(collect.get(j), BizOperationEnums.DELETE); + delIds.add(collect.get(j).getId()); + } + } + for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { + if(delIds.contains(deliverEntity.getId())){ + continue; } + qualityDeliverEntity.setId(deliverEntity.getId()); + qualityDeliverEntity.setPlanNum(1); + sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } } @@ -181,6 +205,10 @@ public class BillPlanReportListener implements ReportService { QualityDeliverEntity entity = new QualityDeliverEntity(); BeanUtil.copyProperties(qualityDeliverEntity, entity); entity.setPlanNum(1); + qualityDeliverEntity.setDeliveryCreateUserName(bean.getOperator()); + qualityDeliverEntity.setDeliveryPlanTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationCreateTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationUser(bean.getOperator()); sendReport(entity, BizOperationEnums.ADD); } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java index 3fa2807f6..077edd48f 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/PlanReportListener.java @@ -141,8 +141,6 @@ public class PlanReportListener implements ReportService { .vehicleName(vehicleName) .driverName(driverName) .distributionCompany(vo.getDistributionCompany()) - .deliveryPlanTime(bean.getOperatorTime()) - .deliveryCreateUserName(bean.getOperator()) .bizCode(reservationVO.getReservationCode()) .ynWholeVehicle(vo.getYnWholeVehicle()) .deliveryFee(vo.getPrice()) @@ -155,6 +153,10 @@ public class PlanReportListener implements ReportService { if (BizOperationEnums.DELETE.equals(bizOperation)) { sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); } else { + if(BizOperationEnums.ADD.equals(bizOperation)){ + qualityDeliverEntity.setDeliveryPlanTime(bean.getOperatorTime()); + qualityDeliverEntity.setDeliveryCreateUserName(bean.getOperator()); + } sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } @@ -170,6 +172,10 @@ public class PlanReportListener implements ReportService { if (BizOperationEnums.DELETE.equals(bizOperation)) { sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); } else { + if(BizOperationEnums.ADD.equals(bizOperation)){ + qualityDeliverEntity.setDeliveryPlanTime(bean.getOperatorTime()); + qualityDeliverEntity.setDeliveryCreateUserName(bean.getOperator()); + } sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } @@ -198,6 +204,10 @@ public class PlanReportListener implements ReportService { for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { if (!invedSet.contains(deliverEntity.getId())) { qualityDeliverEntity.setId(deliverEntity.getId()); + if(BizOperationEnums.ADD.equals(bizOperation)){ + qualityDeliverEntity.setDeliveryPlanTime(bean.getOperatorTime()); + qualityDeliverEntity.setDeliveryCreateUserName(bean.getOperator()); + } sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } invedSet.add(deliverEntity.getId()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReservationPlanReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReservationPlanReportListener.java index 92cdd6d97..ca8807eb0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReservationPlanReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/ReservationPlanReportListener.java @@ -26,6 +26,7 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -117,11 +118,9 @@ public class ReservationPlanReportListener implements ReportService { .warehouseName(bean.getWarehouse()) .warehouseId(warehouseId) .orderPackageCode(detail.getPackageCode()) - .planReservationCreateTime(bean.getOperatorTime()) .planReservationCode(vo.getReservationCode()) .bizCode(vo.getReservationCode()) .planReservationTime(vo.getReservationDate()) - .planReservationUser(bean.getOperator()) .planNum(detail.getNumber()) .reservationConsignee(vo.getConsignee()) .reservationConsigneePhone(vo.getDeliveryPhone()) @@ -135,6 +134,8 @@ public class ReservationPlanReportListener implements ReportService { qualityDeliverEntity.setId(cmpMap.get(detail.getPackageCode()).get(0).getId()); sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } else { + qualityDeliverEntity.setPlanReservationCreateTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationUser(bean.getOperator()); sendReport(qualityDeliverEntity, BizOperationEnums.ADD); } } @@ -147,6 +148,8 @@ public class ReservationPlanReportListener implements ReportService { qualityDeliverEntity.setId(ltlMap.get(detail.getProductName() + detail.getOrderCode()).get(0).getId()); sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } else { + qualityDeliverEntity.setPlanReservationCreateTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationUser(bean.getOperator()); sendReport(qualityDeliverEntity, BizOperationEnums.ADD); } } @@ -167,12 +170,14 @@ public class ReservationPlanReportListener implements ReportService { QualityDeliverEntity entity = new QualityDeliverEntity(); BeanUtil.copyProperties(qualityDeliverEntity, entity); entity.setPlanNum(1); + qualityDeliverEntity.setPlanReservationCreateTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationUser(bean.getOperator()); sendReport(entity, BizOperationEnums.ADD); } for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { qualityDeliverEntity.setId(deliverEntity.getId()); qualityDeliverEntity.setPlanNum(1); - sendReport(qualityDeliverEntity, BizOperationEnums.DELETE); + sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } else if (number == size) { for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { @@ -184,16 +189,27 @@ public class ReservationPlanReportListener implements ReportService { List collect = qualityDeliverEntities.stream() .filter(item -> StrUtil.isEmpty(item.getOrderPackageCode())) .collect(Collectors.toList()); + Set delIds = new HashSet<>(); if (CollUtil.isNotEmpty(collect)) { int i = size - number; if (i >= collect.size()) { for (QualityDeliverEntity entity : collect) { sendReport(entity, BizOperationEnums.DELETE); + delIds.add(entity.getId()); } } else { for (int j = 0; j < i; j++) { sendReport(collect.get(j), BizOperationEnums.DELETE); + delIds.add(collect.get(j).getId()); + } + } + for (QualityDeliverEntity deliverEntity : qualityDeliverEntities) { + if(delIds.contains(deliverEntity.getId())){ + continue; } + qualityDeliverEntity.setId(deliverEntity.getId()); + qualityDeliverEntity.setPlanNum(1); + sendReport(qualityDeliverEntity, BizOperationEnums.MODIFY); } } } @@ -202,6 +218,8 @@ public class ReservationPlanReportListener implements ReportService { QualityDeliverEntity entity = new QualityDeliverEntity(); BeanUtil.copyProperties(qualityDeliverEntity, entity); entity.setPlanNum(1); + qualityDeliverEntity.setPlanReservationCreateTime(bean.getOperatorTime()); + qualityDeliverEntity.setPlanReservationUser(bean.getOperator()); sendReport(entity, BizOperationEnums.ADD); } } @@ -243,9 +261,15 @@ public class ReservationPlanReportListener implements ReportService { .operation(operationEnums) .node(WorkNodeEnums.PLANNED_RESERVATION.getValue()) .build(); + String exchange = ReportConstants.REPORT_QUALITY_DELIVER_EXCHANGE; + String routingkey = ReportConstants.REPORT_QUALITY_DELIVER_ROUTINGKEY; + if(ObjectUtil.equals(operationEnums, BizOperationEnums.ADD)){ + exchange = ReportConstants.REPORT_QUALITY_DELIVER_ADD_EXCHANGE; + routingkey = ReportConstants.REPORT_QUALITY_DELIVER_ADD_ROUTINGKEY; + } factoryDataClient.sendMessage(SendMsg.builder() - .exchange(ReportConstants.REPORT_QUALITY_DELIVER_EXCHANGE) - .routingKey(ReportConstants.REPORT_QUALITY_DELIVER_ROUTINGKEY) + .exchange(exchange) + .routingKey(routingkey) .message(JSONUtil.toJsonStr(dto)) .delay(3000) .build()); diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java index 2d7981935..bb09e7587 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/StockReportListener.java @@ -85,8 +85,8 @@ public class StockReportListener implements ReportService { .orderPackageCode(detail.getPackageCode()) .stockupCode(vo.getStockupCode()) .stockupUserName(bean.getOperator()) - .stockupFinishTime(vo.getStockupDate()) .stockupCreateTime(bean.getOperatorTime()) + .stockupFinishTime(vo.getStockupDate()) .stockAllocation(vo.getStockupArea()) .bizCode(vo.getReferenceCode()) .build(); From b559db23e3957eaa88ee5153a8b92ae5bff2d3de Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Sun, 22 Dec 2024 18:53:39 +0800 Subject: [PATCH 20/20] =?UTF-8?q?add=EF=BC=9A=E9=85=8D=E9=80=81=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8F=96=E6=B6=88=E5=8F=91=E9=80=81=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionDeliveryListServiceImpl.java | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) 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 8b1122951..57b1b2ea3 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 @@ -5164,6 +5164,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl distributionTaskVONodeFanoutMsg = buildNodeFanoutMsgForPlan(deliveryListEntity, user, BizOperationEnums.DELETE); + distributionNodeWorkService.planDelivery(distributionTaskVONodeFanoutMsg, AuthUtil.getUser()); return R.status(true); } @@ -10709,28 +10713,27 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> deliveryStatus 相同,不更新"); -// return; -// } -// //判断传入2个对象中deliveryListLoadingStatus 是否相同 -// if (deliveryListEntity.getDeliveryListLoadingStatus().equals(old.getDeliveryListLoadingStatus())) { -// log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> deliveryListLoadingStatus 相同,不更新"); -// -// return; -// } - updateById(deliveryListEntity); log.info("配送信息状态已更新,deliveryId: {}", deliveryListEntity.getId()); + + Boolean b1=DeliveryStatusConstant.yiwancheng.getValue().equals(deliveryListEntity.getDeliveryStatus()); + Boolean b2 =deliveryListEntity.getScannedNumber().equals(0); + // 推送给配送被取消的的作业节点 + if (b1&& b2) { + // 发送配送取消的消息完成消息 + NodeFanoutMsg distributionTaskVONodeFanoutMsg = buildNodeFanoutMsgForPlan(deliveryListEntity, AuthUtil.getUser(), BizOperationEnums.DELETE); + distributionNodeWorkService.planDelivery(distributionTaskVONodeFanoutMsg, AuthUtil.getUser()); + } + + + + + }