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 525d7a3a9..272bc4fd5 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 @@ -20,6 +20,7 @@ import com.logpm.basicdata.feign.IBasicdataCodeClient; import com.logpm.basicdata.feign.IBasicdataDriverArteryClient; import com.logpm.basicdata.feign.IBasicdataTrayClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; +import com.logpm.distribution.dto.FindParamterDTO; import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionParcelNumberEntity; import com.logpm.distribution.entity.DistributionStockArticleEntity; @@ -2153,6 +2154,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl orderPackageCodes, BasicdataWarehouseEntity warehouseEntity) { + try { + FindParamterDTO paramterDTO = new FindParamterDTO(); + paramterDTO.setOrderPackageCodeList(orderPackageCodes); + paramterDTO.setWarehouseId(warehouseId); + List listByOrderPackageCodeList = distributionParcelListClient.findListByOrderPackageCodeList(paramterDTO); + if (CollUtil.isNotEmpty(listByOrderPackageCodeList)) { + // 按品牌分组 + Map> map = listByOrderPackageCodeList.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getBrandName)); + for (Map.Entry> entry : map.entrySet()) { + String key = entry.getKey(); + List value = entry.getValue(); + NodePushMsg msg = new NodePushMsg(); + msg.setNode(WorkNodeEnums.SIGN_TRIPARTITE_TRANSFER_DEPART); + msg.setBrand(BrandEnums.getByValue(key)); + msg.setOperator(AuthUtil.getNickName()); + msg.setOperatorTime(new Date()); + msg.setContent(value.stream().map(item -> { + return PushData.builder() + .packageCode(item.getOrderPackageCode()) + .orderCode(item.getOrderCode()) + .warehouseName(warehouseEntity.getName()) + .waybillNumber(item.getWaybillNumber()).build(); + }).collect(Collectors.toList())); + log.info("推送工厂数据:{}", JSONUtil.toJsonStr(msg)); + factoryDataMessageSender.sendNodeDataByBrand(msg); + } + } + } catch (Exception e) { + log.error("推送签收数据给工厂失败 {}", e); + } + } + @Override public R findCarsLoadLogs(LoadCarsDTO loadCarsDTO) {