From 7cc65caa9d36f9a0522800a0abfce697e9bd2004 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Fri, 26 Jul 2024 17:19:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(all):=20=E6=B7=BB=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E6=8F=90=E7=AD=BE=E6=94=B6=E6=89=AB=E6=8F=8F=E5=9B=9E=E4=BC=A0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=92=8C=E8=87=AA=E6=8F=90=E6=96=87=E5=91=98?= =?UTF-8?q?=E5=A4=8D=E6=A0=B8=E5=9B=9E=E4=BC=A0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DistributionNodeWorkServiceImpl.java | 25 +++++- .../DistrilbutionBillLadingServiceImpl.java | 79 ++++++++++++++++++- 2 files changed, 101 insertions(+), 3 deletions(-) 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 10b9d98cd..63357a87a 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 @@ -125,7 +125,30 @@ public class DistributionNodeWorkServiceImpl implements IDistributionNodeWorkSer .exchange(FanoutConstants.distribution.signfor.EXCHANGE).build(); sendFanoutMsg(build); - + try { + JSONObject main = new JSONObject(); + main.set("boId", taskId.toString()); + NodePushMsg nodePushMsg = NodePushMsg.builder() + .operator(AuthUtil.getNickName()) + .operatorTime(new Date()) + .warehouse(parcelListEntity.getWarehouse()) + .startWarehouse(parcelListEntity.getSendWarehouseName()) + .endWarehouse(parcelListEntity.getAcceptWarehouseName()) + .address("在【" + parcelListEntity.getWarehouse() + "】签收") + .brand(BrandEnums.getByValue(parcelListEntity.getBrandName())) + .node(WorkNodeEnums.SIGN_BILLOFLADING) + .main(JSONUtil.toJsonStr(main)) + .content(Collections.singletonList(PushData.builder() + .packageCode(parcelListEntity.getOrderPackageCode()) + .warehouseName(parcelListEntity.getWarehouse()) + .waybillNumber(parcelListEntity.getWaybillNumber()) + .orderCode(parcelListEntity.getOrderCode()) + .build())) + .build(); + factoryDataMessageSender.sendNodeDataByBrand(nodePushMsg); + }catch (Exception e){ + log.error("推送工厂失败:{}",e); + } } @Override diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java index f99ae2d63..7dcf5b917 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java @@ -38,14 +38,49 @@ import com.logpm.distribution.dto.DistributionStockListDTO; import com.logpm.distribution.dto.DistrilbutionBillLadingDTO; import com.logpm.distribution.dto.OrderStatusDTO; import com.logpm.distribution.dto.app.BillLadingAppDTO; -import com.logpm.distribution.entity.*; +import com.logpm.distribution.entity.DisStockListDetailEntity; +import com.logpm.distribution.entity.DistributionBillLadingScanEntity; +import com.logpm.distribution.entity.DistributionDeliveryChargeEntity; +import com.logpm.distribution.entity.DistributionDeliveryDetailsEntity; +import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.entity.DistributionParcelNumberEntity; +import com.logpm.distribution.entity.DistributionPrintEntity; +import com.logpm.distribution.entity.DistributionReservationZeroPackageEntity; +import com.logpm.distribution.entity.DistributionStockArticleEntity; +import com.logpm.distribution.entity.DistributionStockEntity; +import com.logpm.distribution.entity.DistributionStockListEntity; +import com.logpm.distribution.entity.DistributionStockupEntity; +import com.logpm.distribution.entity.DistributionStockupInfoEntity; +import com.logpm.distribution.entity.DistributionStockupScanEntity; +import com.logpm.distribution.entity.DistrilbutionBillLadingEntity; +import com.logpm.distribution.entity.DistrilbutionBillPackageEntity; +import com.logpm.distribution.entity.DistrilbutionBillStockEntity; import com.logpm.distribution.excel.DistributionBillInventoryExcel; import com.logpm.distribution.excel.DistributionBillOrderExcel; import com.logpm.distribution.excel.DistributionBillOrderPackExcel; import com.logpm.distribution.excel.DistrilbutionBillLadingExcel; import com.logpm.distribution.mapper.DistributionStockListMapper; import com.logpm.distribution.mapper.DistrilbutionBillLadingMapper; -import com.logpm.distribution.service.*; +import com.logpm.distribution.service.IDisStockListDetailService; +import com.logpm.distribution.service.IDistributionAsyncService; +import com.logpm.distribution.service.IDistributionBillLadingScanService; +import com.logpm.distribution.service.IDistributionDeliveryChargeService; +import com.logpm.distribution.service.IDistributionDeliveryDetailsService; +import com.logpm.distribution.service.IDistributionNodeWorkService; +import com.logpm.distribution.service.IDistributionParcelListService; +import com.logpm.distribution.service.IDistributionParcelNumberService; +import com.logpm.distribution.service.IDistributionPrintService; +import com.logpm.distribution.service.IDistributionReservationService; +import com.logpm.distribution.service.IDistributionReservationZeroPackageService; +import com.logpm.distribution.service.IDistributionStockArticleService; +import com.logpm.distribution.service.IDistributionStockListService; +import com.logpm.distribution.service.IDistributionStockService; +import com.logpm.distribution.service.IDistributionStockupInfoService; +import com.logpm.distribution.service.IDistributionStockupScanService; +import com.logpm.distribution.service.IDistributionStockupService; +import com.logpm.distribution.service.IDistrilbutionBillLadingService; +import com.logpm.distribution.service.IDistrilbutionBillPackageService; +import com.logpm.distribution.service.IDistrilbutionBillStockService; import com.logpm.distribution.vo.DistributionDeliveryDetailsVO; import com.logpm.distribution.vo.DistributionParcelNumberVO; import com.logpm.distribution.vo.DistributionStockArticleVO; @@ -3067,6 +3102,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl listByOrderPackageCode = distributionParcelListService.findListByOrderPackageCode(ladingScanEntities.stream().map(DistributionBillLadingScanEntity::getPacketBarCode).collect(Collectors.toList()), myCurrentWarehouse.getId()); + // 根据品牌分组 + Map> collect = listByOrderPackageCode.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getBrandName)); + for (Map.Entry> entry : collect.entrySet()) { + String brand = entry.getKey(); + List list = entry.getValue(); + // 按订单分组 + Map> collect1 = list.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getOrderCode)); + for (Map.Entry> stringListEntry : collect1.entrySet()) { + String orderCode = stringListEntry.getKey(); + List list2 = stringListEntry.getValue(); + JSONObject js = new JSONObject(); + js.put("boId", billLadingEntity.getId()); + js.put("consignee", distrilbutionBillLadingEntity.getConsignee()); + js.put("images", list1.stream().map(m -> m.getSite()).collect(Collectors.toList())); + NodePushMsg msg = new NodePushMsg(); + msg.setNode(WorkNodeEnums.CLERK_REVIEW); + msg.setBrand(BrandEnums.getByValue(brand)); + msg.setWarehouse(myCurrentWarehouse.getName()); + msg.setOperator(AuthUtil.getNickName()); + msg.setOperatorTime(new Date()); + msg.setContent(list2.stream().map(pushData->{ + return PushData.builder() + .packageCode(pushData.getOrderPackageCode()) + .warehouseName(myCurrentWarehouse.getName()) + .waybillNumber(pushData.getWaybillNumber()) + .orderCode(pushData.getOrderCode()) + .build(); + }).collect(Collectors.toList())); + msg.setMain(JSONUtil.toJsonStr(js)); + log.info("推送工厂数据:{}", JSONUtil.toJsonStr(msg)); + factoryDataMessageSender.sendNodeDataByBrand(msg); + } + } + }catch (Exception e){ + log.error("推送失败:{}", e); + } for (DistributionBillLadingScanEntity ladingScanEntity : ladingScanEntities) { // 签收发送消息到工厂 pushFactoryOrderData(myCurrentWarehouse.getId(), ladingScanEntity.getParcelListId().toString(), ladingScanEntity.getOrderSelfNumbering());