From a3dd7f416a0be09d6e08e12668858deeb9e34e78 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Thu, 22 Aug 2024 14:45:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8A=82=E7=82=B9=E5=B9=BF=E6=92=AD=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E9=85=8D=E9=80=81=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/broadcast/FanoutConstants.java | 16 ++++- .../springblade/common/model/PackageData.java | 1 + .../DistributionDeliveryListMapper.java | 2 +- .../mapper/DistributionDeliveryListMapper.xml | 70 +++++++++++++++++-- .../IDistributionDeliveryListService.java | 2 +- .../DistributionDeliveryListServiceImpl.java | 5 +- .../DistributionReservationServiceImpl.java | 24 ++++++- .../impl/DistributionSignforServiceImpl.java | 2 + 8 files changed, 109 insertions(+), 13 deletions(-) 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 8c504beb8..7110caec7 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 @@ -163,9 +163,23 @@ public abstract class FanoutConstants { */ public interface distribution { // 配送计划 - // bianji' + interface plan{ + String EXCHANGE = "fanout.distribution.plan" + ModuleNameConstant.DEVAUTH; +// { +// "distributionCompany":"汇通", ##承运商 +// "driverName":"郑睿(主)", ##司机姓名 +// "id":1826509477920342017, ##任务ID +// "kind":"1", ##任务类型 1-自主 2-外协 +// "taskTime":"2024-08-22", ##任务时间 +// "trainNumber":"PSCCZNZX2024082200024", ##车次号 +// "type":"2", ##配送类型 +// "vehicleName":"川AB75115" ##车牌号 +// } + interface QUEUE { + } + } diff --git a/blade-biz-common/src/main/java/org/springblade/common/model/PackageData.java b/blade-biz-common/src/main/java/org/springblade/common/model/PackageData.java index 6705a31e0..b51014c49 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/model/PackageData.java +++ b/blade-biz-common/src/main/java/org/springblade/common/model/PackageData.java @@ -62,4 +62,5 @@ public class PackageData implements Serializable { */ private BrandEnums brand; + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java index 786180210..c4488043e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java @@ -501,5 +501,5 @@ public interface DistributionDeliveryListMapper extends BaseMapper getBroadcastData(@Param("deliveryId")Long deliveryId,@Param("warehouseId") Long warehouseId); + List> getBroadcastData(@Param("deliveryId")Long deliveryId,@Param("warehouseId") Long warehouseId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml index 5096045e1..bfbe79b16 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml @@ -2249,10 +2249,72 @@ - + SELECT + ldpl.order_package_code AS packageCode, + ldpl.order_code AS orderCode, + ldpl.waybill_number AS waybillNumber, + '' AS pickupBatch, + ldpl.material_name AS materialName, + ldpl.material_code AS materialCode, + ldsa.mall_name AS mallName, + ldpl.quantity AS number, + ldsa.brand AS brandName, + IF(ldrp.id is not null,1,null) AS type + FROM + logpm_distribution_delivery_list AS lddl + LEFT JOIN logpm_distribution_signfor AS lds ON lddl.id = lds.delivery_id + LEFT JOIN logpm_distribution_reservation_package AS ldrp ON ldrp.reservation_id = lds.reservation_id + LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldpl.id = ldrp.parce_list_id + LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldsa.id = ldpl.stock_article_id + WHERE + lddl.id = #{deliveryId} + AND lddl.warehouse_id = #{warehouseId} + AND ldrp.packet_bar_status != 2 + UNION ALL + SELECT + ldpl.order_package_code AS packageCode, + ldpl.order_code AS orderCode, + ldpl.waybill_number AS waybillNumber, + IF(ldrzp.id is not null,'',null) AS pickupBatch, + ldpl.material_name AS materialName, + ldpl.material_code AS materialCode, + ldsa.mall_name AS mallName, + ldrzp.quantity AS number, + ldsa.brand AS brandName, + IF(ldrzp.id is not null,3,null) AS type + FROM + logpm_distribution_delivery_list AS lddl + LEFT JOIN logpm_distribution_signfor AS lds ON lddl.id = lds.delivery_id + LEFT JOIN logpm_distribution_reservation_zero_package AS ldrzp ON ldrzp.reservation_id = lds.reservation_id + LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldpl.id = ldrzp.parcel_list_id + LEFT JOIN logpm_distribution_stock_article AS ldsa ON ldsa.id = ldpl.stock_article_id + WHERE + lddl.id = #{deliveryId} + AND lddl.warehouse_id = #{warehouseId} + AND ldrzp.zero_package_status!=2 + UNION ALL + SELECT + ldsld.stock_package_code AS packageCode, + ldpl.order_code AS orderCode, + ldpl.waybill_number AS waybillNumber, + ldsl.incoming_batch AS pickupBatch, + ldsl.description_goods AS materialName, + ldsl.cargo_number AS materialCode, + ldsl.market_name AS mallName, + ldsld.num AS number, + ldsl.brand_name AS brandName, + IF(ldsld.id is not null,3,null) AS type + FROM + logpm_distribution_delivery_list AS lddl + LEFT JOIN logpm_distribution_signfor AS lds ON lddl.id = lds.delivery_id + LEFT JOIN logpm_dis_stock_list_detail AS ldsld ON ldsld.reservation_id = lds.reservation_id + LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldpl.order_package_code = ldsld.stock_package_code + LEFT JOIN logpm_distribution_stock_list AS ldsl ON ldsl.id = ldsld.stock_list_id + WHERE + lddl.id = #{deliveryId} + AND lddl.warehouse_id = #{warehouseId} + AND ldsld.stock_package_status != 2 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java index f35b3230c..b5e4286e1 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java @@ -477,7 +477,7 @@ public interface IDistributionDeliveryListService extends BaseService getBroadcastData(Long id, Long warehouseId); + List> getBroadcastData(Long id, Long warehouseId); /** 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 5d48112c2..394b5a279 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 @@ -8099,10 +8099,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl getBroadcastData(Long deliveryId, Long warehouseId) { - - - + public List> getBroadcastData(Long deliveryId, Long warehouseId) { return baseMapper.getBroadcastData(deliveryId, warehouseId); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index 6588699c5..c23e842d6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -16,6 +16,7 @@ */ package com.logpm.distribution.service.impl; +import cn.hutool.core.convert.Convert; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -44,6 +45,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.logging.log4j.util.Strings; import org.springblade.common.constant.*; import org.springblade.common.constant.Inventory.*; +import org.springblade.common.constant.broadcast.FanoutConstants; import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant; import org.springblade.common.constant.delivery.DeliveryStatusConstant; @@ -55,7 +57,10 @@ import org.springblade.common.constant.signing.SignforStatusConstant; import org.springblade.common.constant.stockup.StockAssignStatusConstant; import org.springblade.common.constant.stockup.StockupStatusConstant; import org.springblade.common.constant.stockup.StockupTypeConstant; +import org.springblade.common.enums.BrandEnums; +import org.springblade.common.enums.PackageTypeEnums; import org.springblade.common.exception.CustomerException; +import org.springblade.common.model.IDict; import org.springblade.common.model.NodeFanoutMsg; import org.springblade.common.model.PackageData; import org.springblade.common.serviceConstant.ServiceConstant; @@ -69,6 +74,7 @@ import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.constant.BladeConstant; +import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.system.cache.DictBizCache; @@ -79,6 +85,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; +import java.io.InputStream; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -1414,9 +1421,22 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl packageDataList = distributionDeliveryListService.getBroadcastData(distributionDeliveryListEntity.getId(),distributionDeliveryListEntity.getWarehouseId()); - + List> mapList = distributionDeliveryListService.getBroadcastData(distributionDeliveryListEntity.getId(), distributionDeliveryListEntity.getWarehouseId()); + List packageDataList = new ArrayList<>(); + if (!mapList.isEmpty()) { + for (Map map : mapList) { + PackageData packageData = BeanUtil.copy(map, PackageData.class); + assert packageData != null; + BrandEnums brandEnums = BrandEnums.getByValue((String) map.get("brandName")); + packageData.setBrand(brandEnums); + PackageTypeEnums type = IDict.getByCode(PackageTypeEnums.class, Convert.toInt(map.get("type"))); + packageData.setPackageType(type); + packageDataList.add(packageData); + } + } + nodeFanoutMsg.setDetails(packageDataList); + rabbitTemplate.convertAndSend(FanoutConstants.distribution.plan.EXCHANGE, null, JSONObject.toJSONString(nodeFanoutMsg)); } 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 c8283a072..ce014a193 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 @@ -54,6 +54,7 @@ import com.logpm.oldproject.dto.SignPushDataUnitDTO; import com.logpm.oldproject.entity.WarehouseEntity; import com.logpm.oldproject.feign.IOldSignPushClient; import com.logpm.oldproject.feign.IWarehouseClient; +import com.logpm.trunkline.dto.WaybillLogDTO; import com.logpm.trunkline.feign.ITrunklinePackageTrackLogClient; import com.logpm.warehouse.feign.IWarehouseUpdownStockUpAreaClient; import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; @@ -6292,6 +6293,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl