From a70276ac0dcde35e6b1150f745126f78d59fd005 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Tue, 11 Feb 2025 15:24:09 +0800 Subject: [PATCH] =?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/QualityDeliverAddListener.java | 28 +++++++++++++++++++ .../report/QualityDeliverListener.java | 8 +++--- 2 files changed, 32 insertions(+), 4 deletions(-) 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 0047f45fd..c59462298 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 @@ -23,7 +23,9 @@ import com.logpm.distribution.service.IDistributionStockArticleService; import com.logpm.distribution.service.IDistributionStockListInfoService; import com.logpm.distribution.service.IDistributionStockListService; import com.logpm.distribution.service.IQualityDeliverService; +import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity; import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient; +import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient; import com.logpm.warehouse.entity.WarehouseWayBillDetail; import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.feign.IWarehouseWaybillClient; @@ -34,6 +36,7 @@ import org.jetbrains.annotations.Nullable; import org.springblade.common.enums.BizOperationEnums; import org.springblade.common.enums.PackageTypeEnums; import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.secure.utils.AuthUtil; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -87,6 +90,9 @@ public class QualityDeliverAddListener implements ReportService { @Resource private DistributionProperties destinationProperties; + @Resource + private ITrunklineWaybillOrderClient waybillOrderClient; + @Transactional public void buildReport(String msg) { ReportQualityDeliverDTO bean = JSONUtil.toBean(msg, ReportQualityDeliverDTO.class); @@ -265,6 +271,7 @@ public class QualityDeliverAddListener implements ReportService { private void buildCmpBasicInfo(QualityDeliverEntity qualityDeliverEntity, DistributionParcelListEntity parcelListEntity) { if (ObjectUtil.isNotEmpty(parcelListEntity)) { + String orderCode = parcelListEntity.getOrderCode(); // 品牌 qualityDeliverEntity.setBrandName(parcelListEntity.getBrandName()); // 商场id @@ -303,6 +310,8 @@ public class QualityDeliverAddListener implements ReportService { qualityDeliverEntity.setEndWarehouseInTime(parcelListEntity.getWarehouseEntryTimeEnd()); // 构建运单相关信息 buildWaybillInfo(qualityDeliverEntity, waybillNumber); + // 设置订单运单总数 + buildOrderWaybillNumber(qualityDeliverEntity, orderCode, waybillNumber); } // 暂存单查询结算品类 // TrunklineAdvanceDetailEntity advanceDetailEntity = advanceDetailClient.findEntityByOrderPackageCode(qualityDeliverEntity.getOrderPackageCode()); @@ -316,6 +325,22 @@ public class QualityDeliverAddListener implements ReportService { buildOrderInfo(qualityDeliverEntity, qualityDeliverEntity.getWarehouseId(), qualityDeliverEntity.getOrderCode()); } + private void buildOrderWaybillNumber(QualityDeliverEntity qualityDeliverEntity, String orderCode, String waybillNumber) { + if (StrUtil.isNotEmpty(orderCode) && StrUtil.isNotEmpty(waybillNumber)) { + String key = AuthUtil.getTenantId() + ":" + "logpm-distribution:" + "OrderWaybill:" + orderCode + "_" + waybillNumber; + Integer totalNumber = redisCache.get(key); + if (ObjectUtil.isNotEmpty(totalNumber)) { + qualityDeliverEntity.setOrderWaybillNumber(totalNumber); + } else { + TrunklineWaybillOrderEntity entityByWaybillNoAndOrderCode = waybillOrderClient.findEntityByWaybillNoAndOrderCode(waybillNumber, orderCode); + if (ObjectUtil.isNotEmpty(entityByWaybillNoAndOrderCode)) { + qualityDeliverEntity.setOrderWaybillNumber(entityByWaybillNoAndOrderCode.getTotalNumber()); + } + redisCache.setEx(key, entityByWaybillNoAndOrderCode.getTotalNumber(), 60L); + } + } + } + private void buildOrderInfo(QualityDeliverEntity qualityDeliverEntity, Long warehouseId, String orderCode) { DistributionStockArticleEntity stockArticleEntity = getDistributionStockArticleEntity(warehouseId, orderCode); if (ObjectUtil.isNotEmpty(stockArticleEntity)) { @@ -342,6 +367,9 @@ public class QualityDeliverAddListener implements ReportService { } private DistributionStockArticleEntity getDistributionStockArticleEntity(Long warehouseId, String orderCode) { + if (StrUtil.isEmpty(orderCode)) { + return null; + } String key = "report:qualityDeliver:stockArticle:" + warehouseId + "_" + orderCode; String obj = redisCache.get(key); if (StrUtil.isNotEmpty(obj)) { diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/QualityDeliverListener.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/QualityDeliverListener.java index 054e198ae..9f819e63f 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/QualityDeliverListener.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/report/QualityDeliverListener.java @@ -287,8 +287,8 @@ public class QualityDeliverListener implements ReportService { } private void buildCmpBasicInfo(QualityDeliverEntity qualityDeliverEntity, DistributionParcelListEntity parcelListEntity) { - String orderCode = qualityDeliverEntity.getOrderCode(); if (ObjectUtil.isNotEmpty(parcelListEntity)) { + String orderCode = parcelListEntity.getOrderCode(); // 品牌 qualityDeliverEntity.setBrandName(parcelListEntity.getBrandName()); // 商场id @@ -330,6 +330,8 @@ public class QualityDeliverListener implements ReportService { // 设置订单运单总数 buildOrderWaybillNumber(qualityDeliverEntity, orderCode, waybillNumber); + // 构建订单相关信息 + buildOrderInfo(qualityDeliverEntity, qualityDeliverEntity.getWarehouseId(), orderCode); } // 暂存单查询结算品类 // TrunklineAdvanceDetailEntity advanceDetailEntity = advanceDetailClient.findEntityByOrderPackageCode(qualityDeliverEntity.getOrderPackageCode()); @@ -339,8 +341,6 @@ public class QualityDeliverListener implements ReportService { // qualityDeliverEntity.setRevenueCategoryId(advanceDetailEntity.getIncomeCategoryId()); // qualityDeliverEntity.setRevenueCategory(advanceDetailEntity.getIncomeCategoryName()); // } - // 构建订单相关信息 - buildOrderInfo(qualityDeliverEntity, qualityDeliverEntity.getWarehouseId(), orderCode); } private void buildOrderWaybillNumber(QualityDeliverEntity qualityDeliverEntity, String orderCode, String waybillNumber) { @@ -354,7 +354,7 @@ public class QualityDeliverListener implements ReportService { if (ObjectUtil.isNotEmpty(entityByWaybillNoAndOrderCode)) { qualityDeliverEntity.setOrderWaybillNumber(entityByWaybillNoAndOrderCode.getTotalNumber()); } - redisCache.set(key, entityByWaybillNoAndOrderCode.getTotalNumber()); + redisCache.setEx(key, entityByWaybillNoAndOrderCode.getTotalNumber(), 30L); } } }