Browse Source

节点广播创建配送计划

dist.1.3.0
汤建军 6 months ago
parent
commit
a3dd7f416a
  1. 16
      blade-biz-common/src/main/java/org/springblade/common/constant/broadcast/FanoutConstants.java
  2. 1
      blade-biz-common/src/main/java/org/springblade/common/model/PackageData.java
  3. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java
  4. 70
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml
  5. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
  6. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  7. 26
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  8. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java

16
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 {
}
}

1
blade-biz-common/src/main/java/org/springblade/common/model/PackageData.java

@ -62,4 +62,5 @@ public class PackageData implements Serializable {
*/
private BrandEnums brand;
}

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.java

@ -501,5 +501,5 @@ public interface DistributionDeliveryListMapper extends BaseMapper<DistributionD
List<PackageData> getBroadcastData(@Param("deliveryId")Long deliveryId,@Param("warehouseId") Long warehouseId);
List<Map<String,Object>> getBroadcastData(@Param("deliveryId")Long deliveryId,@Param("warehouseId") Long warehouseId);
}

70
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryListMapper.xml

@ -2249,10 +2249,72 @@
<select id="checkDeliveryStart" resultType="java.lang.Boolean">
SELECT IF(departure_time is null,true,false) FROM logpm_distribution_delivery_self WHERE delivery_id = #{deliveryId} AND is_master = 2
</select>
<select id="getBroadcastData" resultType="org.springblade.common.model.PackageData">
<select id="getBroadcastData" resultType="java.util.Map">
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
</select>
</mapper>

2
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java

@ -477,7 +477,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
* @param warehouseId
* @return
*/
List<PackageData> getBroadcastData(Long id, Long warehouseId);
List<Map<String,Object>> getBroadcastData(Long id, Long warehouseId);
/**

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -8099,10 +8099,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
@Override
public List<PackageData> getBroadcastData(Long deliveryId, Long warehouseId) {
public List<Map<String,Object>> getBroadcastData(Long deliveryId, Long warehouseId) {
return baseMapper.getBroadcastData(deliveryId, warehouseId);
}

26
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<Distribu
newEntity.setDistributionCompany(distributionDeliveryListEntity.getDistributionCompany());
String jsonString = JSONObject.toJSONString(newEntity);
nodeFanoutMsg.setMain(jsonString);
List<PackageData> packageDataList = distributionDeliveryListService.getBroadcastData(distributionDeliveryListEntity.getId(),distributionDeliveryListEntity.getWarehouseId());
List<Map<String, Object>> mapList = distributionDeliveryListService.getBroadcastData(distributionDeliveryListEntity.getId(), distributionDeliveryListEntity.getWarehouseId());
List<PackageData> packageDataList = new ArrayList<>();
if (!mapList.isEmpty()) {
for (Map<String, Object> 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));
}

2
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<Distribution
// 创建异步队列推送老系统的的签收信息 构建请求参数
return R.status(true);
}
WaybillLogDTO waybillLogDTO = new WaybillLogDTO();
return R.status(false);

Loading…
Cancel
Save