Browse Source

Merge branch 'pre-production'

master
zhenghaoyu 1 year ago
parent
commit
8c88ea7a46
  1. 1
      blade-biz-common/src/main/java/org/springblade/common/constant/OldSystemDataPushConfig.java
  2. 5
      blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java
  3. 2
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java
  4. 2
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java
  5. 1
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataDriverArteryImproterExcel.java
  6. 2
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataDriverArteryServiceImpl.java
  7. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java
  8. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java
  9. 98
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml
  10. 46
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  11. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java
  12. 147
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  13. 41
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  14. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java
  15. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockupServiceImpl.java
  16. 6
      blade-service/logpm-patch/pom.xml
  17. 113
      blade-service/logpm-patch/src/main/java/com/logpm/patch/config/RabbitMqConfiguration.java
  18. 3
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java
  19. 18
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/OrderDataRepair.java
  20. 60
      blade-service/logpm-patch/src/main/java/com/logpm/patch/receiver/SyncUpdownDataHandler.java
  21. 39
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java
  22. 27
      blade-service/logpm-patch/src/main/resources/application-dev.yml
  23. 27
      blade-service/logpm-patch/src/main/resources/application-prod.yml
  24. 27
      blade-service/logpm-patch/src/main/resources/application-test.yml
  25. 34
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java
  26. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java
  27. 8
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml
  28. 1
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsOrderMapper.xml
  29. 3
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java
  30. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java
  31. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadLogServiceImpl.java
  32. 5
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java
  33. 17
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  34. 1
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml

1
blade-biz-common/src/main/java/org/springblade/common/constant/OldSystemDataPushConfig.java

@ -25,6 +25,7 @@ public class OldSystemDataPushConfig {
warehourseIds.add("131");
warehourseIds.add("74");
warehourseIds.add("77");
warehourseIds.add("137");
}

5
blade-biz-common/src/main/java/org/springblade/common/constant/RabbitConstant.java

@ -144,4 +144,9 @@ public interface RabbitConstant {
String TRUNKLINE_UNLOAD_CONFIRM_EXCHANGE = "trunkline_unload_confirm_exchange" + ModuleNameConstant.DEVAUTH;
String TRUNKLINE_UNLOAD_CONFIRM_ROUTING = "trunkline_unload_confirm_routing" + ModuleNameConstant.DEVAUTH;
/****************同步老系统库位数据***************/
String SYNC_OLD_UPDOWN_DATA_QUEUE = "sync_old_updown_data_queue" + ModuleNameConstant.DEVAUTH;
String SYNC_OLD_UPDOWN_DATA_EXCHANGE = "sync_old_updown_data_exchange" + ModuleNameConstant.DEVAUTH;
String SYNC_OLD_UPDOWN_DATA_ROUTING = "sync_old_updown_data_routing" + ModuleNameConstant.DEVAUTH;
}

2
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java

@ -143,4 +143,6 @@ public interface IDistributionStockArticleClient {
@GetMapping(API_PREFIX + "/findListByOrderCode")
List<DistributionStockArticleEntity> findListByOrderCode(@RequestParam String orderCode);
@GetMapping(API_PREFIX + "/maintenanceOrderStatus")
Boolean maintenanceOrderStatus(String warehouseId);
}

2
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/CarsLoadOrderInfoVO.java

@ -19,4 +19,6 @@ public class CarsLoadOrderInfoVO implements Serializable {
private BigDecimal volume;
private BigDecimal orderFreight;
private String checkUserName;//审核人员
}

1
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataDriverArteryImproterExcel.java

@ -209,4 +209,5 @@ public class BasicdataDriverArteryImproterExcel implements Serializable {
private Long userId;
}

2
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataDriverArteryServiceImpl.java

@ -228,7 +228,7 @@ public class BasicdataDriverArteryServiceImpl extends BaseServiceImpl<BasicdataD
//连接到前端后取消注释
BladeUser user = AuthUtil.getUser();
copy.setTenantId(user.getTenantId());// 租户号
copy.setUserId(user.getUserId()); // 创建人
copy.setCreateUser(user.getUserId()); // 创建人
copy.setUpdateUser(user.getUserId());// 更新人
log.info("复制后>>>>>>>>>>>>{}", copy);

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionStockupAppController.java

@ -50,6 +50,7 @@ import org.jetbrains.annotations.Nullable;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.RabbitConstant;
import org.springblade.common.constant.orderpackage.OrderPackageFreezeStatusConstant;
import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant;
import org.springblade.common.constant.pda.PdaAudioLingoStatus;
import org.springblade.common.constant.reservation.ReservationLoadingStatusConstant;
import org.springblade.common.constant.reservation.ReservationOrderStatusConstant;
@ -253,7 +254,6 @@ public class DistributionStockupAppController extends BladeController {
}
map.put("orderList", collect);
}
} else {
//查询备货区信息
DistributionStockupSelfVO distributionStockupSelfVO = distributionStockupService.selectStockupStockListDetails(reservationId);
@ -339,12 +339,8 @@ public class DistributionStockupAppController extends BladeController {
if(ObjectUtils.isNull( stockupDTO.getTypeService()) ){
throw new ServiceException("服务类型不能为空!!!");
}
StockConfigInfoVO stockConfigOrderPackageListVOS = distributionStockupService.stockConfigList(stockupDTO);
return R.data(stockConfigOrderPackageListVOS);
}
@ -1231,6 +1227,7 @@ public class DistributionStockupAppController extends BladeController {
);
DisStockListDetailEntity disStockListDetailEntity = stockListDetailEntities.stream().filter(s -> Func.isBlank(s.getStockPackageCode())).collect(Collectors.toList()).get(0);
disStockListDetailEntity.setStockListId(rs.getStocklistId());
// disStockListDetailEntity.setStockStatus(OrderPackageStockupStatusConstant.yibeihu.getValue());
disStockListDetailService.updateById(disStockListDetailEntity);
}else {
//判断是否是为增加库存品进行数据维护
@ -1276,6 +1273,7 @@ public class DistributionStockupAppController extends BladeController {
List<DisStockListDetailEntity> collect = oldRsPack.stream().filter(f -> Func.isBlank(f.getStockPackageCode())).collect(Collectors.toList());
DisStockListDetailEntity disStockListDetailEntity = collect.get(0);
disStockListDetailEntity.setStockListId(reservationStocklistEntity.getStocklistId());
// disStockListDetailEntity.setStockStatus(OrderPackageStockupStatusConstant.yibeihu.getValue());
disStockListDetailService.updateById(disStockListDetailEntity);
reservationStocklistEntity.setReservationNum(reservationStocklistEntity.getReservationNum() + 1 );

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java

@ -291,4 +291,14 @@ public class DistributionStockArticleClient implements IDistributionStockArticle
return distributionStockArticleService.list(queryWrapper);
}
/**
* @param warehouseId
* @return
*/
@Override
public Boolean maintenanceOrderStatus(String warehouseId) {
return distributionStockArticleService.maintenanceOrderInfoByWarehouseId(warehouseId);
}
}

98
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionDeliveryInfoMapper.xml

@ -299,8 +299,17 @@
ldsa.waybill_number,
ldsa.service_number,
ldrs.reservation_num AS deliveryNumber,
t.materialName,
-- (SELECT COUNT(*) from logpm_distribution_reservation_package ldrp WHERE ldrp.stock_article_id = ldsa.id ) deliveryNumber,
(
SELECT DISTINCT
group_concat( DISTINCT ldpl.material_name ) AS materialName
FROM
logpm_distribution_parcel_list ldpl
WHERE
ldpl.stock_article_id = ldsa.id
GROUP BY
ldpl.stock_article_id
) AS materialName,
<!-- (SELECT COUNT(*) from logpm_distribution_reservation_package ldrp WHERE ldrp.stock_article_id = ldsa.id ) deliveryNumber,-->
(
SELECT
count(*)
@ -341,51 +350,46 @@
JOIN logpm_distribution_reservation_stockarticle ldrs ON lds.reservation_id = ldrs.reservation_id
JOIN logpm_distribution_delivery_list lddl ON lddl.id = lds.delivery_id
JOIN logpm_distribution_stock_article ldsa ON ldrs.stock_article_id = ldsa.id
JOIN
(SELECT
DISTINCT ldpl.stock_article_id,GROUP_CONCAT(DISTINCT ldpl.material_name) AS materialName
FROM
logpm_distribution_parcel_list ldpl
JOIN logpm_distribution_reservation_package ldrp ON ldrp.parce_list_id = ldpl.id
GROUP BY ldpl.stock_article_id
) AS t ON t.stock_article_id = ldsa.id
where lddl.id = #{param.deliveryId} AND ldrs.stock_article_status != 2
<if test="param.orderCode != '' and param.orderCode != null">
and ldsa.order_code like concat('%',#{param.orderCode},'%')
</if>
<if test="param.consigneeUnit != '' and param.consigneeUnit != null">
and ldsa.consignee_unit like concat('%',#{param.consigneeUnit},'%')
</if>
<if test="param.consigneePerson != '' and param.consigneePerson != null">
and ldsa.consignee_person like concat('%',#{param.consigneePerson},'%')
</if>
<if test="param.consigneePerson != '' and param.consigneePerson != null">
and ldsa.consignee_person like concat('%',#{param.consigneePerson},'%')
</if>
<if test="param.consigneeAddress != '' and param.consigneeAddress != null">
and ldsa.consignee_address like concat('%',#{param.consigneeAddress},'%')
</if>
<if test="param.consigneeMobile != '' and param.consigneeMobile != null">
and ldsa.consignee_mobile like concat('%',#{param.consigneeMobile},'%')
</if>
<if test="param.customerName != '' and param.customerName != null">
and ldsa.customer_name like concat('%',#{param.customerName},'%')
</if>
<if test="param.customerTelephone != '' and param.customerTelephone != null">
and ldsa.customer_telephone like concat('%',#{param.customerTelephone},'%')
</if>
<if test="param.customerAddress != '' and param.customerAddress != null">
and ldsa.customer_address like concat('%',#{param.customerAddress},'%')
</if>
<if test="param.waybillNumber != '' and param.waybillNumber != null">
and ldsa.waybill_number like concat('%',#{param.waybillNumber},'%')
</if>
<if test="param.serviceNumber != '' and param.serviceNumber != null">
and ldsa.service_number like concat('%',#{param.serviceNumber},'%')
</if>
<if test="param.materialName != '' and param.materialName != null">
and t.materialName like concat('%',#{param.materialName},'%')
</if>
<where>
lddl.id = #{param.deliveryId} AND ldrs.stock_article_status != 2
<if test="param.orderCode != '' and param.orderCode != null">
and ldsa.order_code like concat('%',#{param.orderCode},'%')
</if>
<if test="param.consigneeUnit != '' and param.consigneeUnit != null">
and ldsa.consignee_unit like concat('%',#{param.consigneeUnit},'%')
</if>
<if test="param.consigneePerson != '' and param.consigneePerson != null">
and ldsa.consignee_person like concat('%',#{param.consigneePerson},'%')
</if>
<if test="param.consigneePerson != '' and param.consigneePerson != null">
and ldsa.consignee_person like concat('%',#{param.consigneePerson},'%')
</if>
<if test="param.consigneeAddress != '' and param.consigneeAddress != null">
and ldsa.consignee_address like concat('%',#{param.consigneeAddress},'%')
</if>
<if test="param.consigneeMobile != '' and param.consigneeMobile != null">
and ldsa.consignee_mobile like concat('%',#{param.consigneeMobile},'%')
</if>
<if test="param.customerName != '' and param.customerName != null">
and ldsa.customer_name like concat('%',#{param.customerName},'%')
</if>
<if test="param.customerTelephone != '' and param.customerTelephone != null">
and ldsa.customer_telephone like concat('%',#{param.customerTelephone},'%')
</if>
<if test="param.customerAddress != '' and param.customerAddress != null">
and ldsa.customer_address like concat('%',#{param.customerAddress},'%')
</if>
<if test="param.waybillNumber != '' and param.waybillNumber != null">
and ldsa.waybill_number like concat('%',#{param.waybillNumber},'%')
</if>
<if test="param.serviceNumber != '' and param.serviceNumber != null">
and ldsa.service_number like concat('%',#{param.serviceNumber},'%')
</if>
<if test="param.materialName != '' and param.materialName != null">
and t.materialName like concat('%',#{param.materialName},'%')
</if>
</where>
</select>
<select id="selectAppcustomList" resultType="com.logpm.distribution.vo.app.DistributionAppReservationVO">

46
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -306,6 +306,41 @@
</select>
<select id="selectStockupStockListNew" resultType="com.logpm.distribution.vo.DistributionStockupStockListVO">
<!-- SELECT DISTINCT-->
<!-- ldslNew.sku AS sku,-->
<!-- ldslNew.cargo_number AS cargoNumber,-->
<!-- ldslNew.description_goods AS materialName,-->
<!-- ldslNew.cargo_norms AS cargoNorms,-->
<!-- t.cargoUnit AS cargoUnit,-->
<!-- ldslNew.tray_name AS trayName,-->
<!-- ldslNew.unpack AS unpack,-->
<!-- (SELECT SUM(aldrs.reality_num) FROM logpm_distribution_reservation_stocklist AS aldrs WHERE aldrs.reservation_id = #{reservationId} AND FIND_IN_SET(aldrs.stocklist_id,t.aaa)) AS realNum,-->
<!-- (SELECT SUM(newldrs.reservation_num) FROM logpm_distribution_reservation_stocklist AS newldrs WHERE newldrs.reservation_id = #{reservationId} AND FIND_IN_SET(newldrs.stocklist_id,t.aaa)) AS planNum,-->
<!-- (-->
<!-- select GROUP_CONCAT( DISTINCT (allocation_id)) from logpm_warehouse_updown_goods where association_value =ldslNew.cargo_number and warehouse_id=#{warehouseId} or association_value in (-->
<!-- SELECT order_package_code from logpm_distribution_parcel_list where conditions=2 and material_code=ldslNew.cargo_number and warehouse_id=#{warehouseId} )-->
<!-- ) as allocations-->
<!-- FROM-->
<!-- (-->
<!-- SELECT-->
<!-- ldsl.cargo_number,-->
<!-- ldsl.description_goods,-->
<!-- ldsl.id,-->
<!-- ldrs.id as deliveryDetailsId,-->
<!-- ldsl.cargo_unit as cargoUnit,-->
<!-- ldrs.reservation_num AS reservationNum,-->
<!-- GROUP_CONCAT(ldsl.id) AS aaa-->
<!-- FROM-->
<!-- logpm_distribution_reservation_stocklist ldrs-->
<!-- LEFT JOIN logpm_distribution_stock_list ldsl ON ldrs.stocklist_id = ldsl.id-->
<!-- WHERE-->
<!-- ldrs.reservation_id = #{reservationId}-->
<!-- AND ldsl.market_name = #{mallName}-->
<!-- group by ldsl.cargo_number-->
<!-- ) t-->
<!-- LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number-->
<!-- LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = t.id-->
<!-- where ldslNew.is_deleted = 0-->
SELECT DISTINCT
ldslNew.sku AS sku,
ldslNew.cargo_number AS cargoNumber,
@ -314,8 +349,8 @@
t.cargoUnit AS cargoUnit,
ldslNew.tray_name AS trayName,
ldslNew.unpack AS unpack,
(SELECT SUM(aldrs.reality_num) FROM logpm_distribution_reservation_stocklist AS aldrs WHERE aldrs.reservation_id = #{reservationId} AND FIND_IN_SET(aldrs.stocklist_id,t.aaa)) AS realNum,
(SELECT SUM(newldrs.reservation_num) FROM logpm_distribution_reservation_stocklist AS newldrs WHERE newldrs.reservation_id = #{reservationId} AND FIND_IN_SET(newldrs.stocklist_id,t.aaa)) AS planNum,
(SELECT SUM(aldrs.reality_num) FROM logpm_distribution_reservation_stocklist AS aldrs WHERE aldrs.reservation_id = #{reservationId} AND aldrs.stock_list_status != 2 AND FIND_IN_SET(aldrs.stocklist_id,t.aaa)) AS realNum,
(SELECT SUM(newldrs.reservation_num) FROM logpm_distribution_reservation_stocklist AS newldrs WHERE newldrs.reservation_id = #{reservationId} ANd newldrs.stock_list_status != 2 AND FIND_IN_SET(newldrs.stocklist_id,t.aaa)) AS planNum,
(
select GROUP_CONCAT( DISTINCT (allocation_id)) from logpm_warehouse_updown_goods where association_value =ldslNew.cargo_number and warehouse_id=#{warehouseId} or association_value in (
SELECT order_package_code from logpm_distribution_parcel_list where conditions=2 and material_code=ldslNew.cargo_number and warehouse_id=#{warehouseId} )
@ -336,12 +371,19 @@
WHERE
ldrs.reservation_id = #{reservationId}
AND ldsl.market_name = #{mallName}
AND ldrs.stock_list_status != 2
group by ldsl.cargo_number
) t
LEFT JOIN logpm_distribution_stock_list ldslNew ON t.cargo_number = ldslNew.cargo_number
LEFT JOIN logpm_distribution_stock ldss ON ldss.stock_list_id = t.id
where ldslNew.is_deleted = 0
<!-- SELECT-->
<!-- ldsl.sku AS sku,-->
<!-- ldsl.cargo_number AS cargoNumber,-->

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java

@ -233,4 +233,11 @@ public interface IDistributionStockArticleService extends BaseService<Distributi
void submitHandleNumAndTotalNumberByOrderId(Integer subNum, Long articleId);
/**
* 维护仓库订单状态
* @param warehouseId
* @return
*/
Boolean maintenanceOrderInfoByWarehouseId(String warehouseId);
}

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

@ -544,29 +544,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
// 属于该配送任务需要进行是否属于该客户进行判断
// 如果属于该客户则进行装车扫描
//
List<DisStockListDetailEntity> list = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode())
.ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
if (Func.isNotEmpty(list)) {
//满足条件此码必定为库存品
//判断该库存品是否属于当前客户
List<DisStockListDetailEntity> collect = list.stream().filter(l -> l.getReservationId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList());
if (Func.isNotEmpty(collect)) {
return Resp.scanFail("请在库存品页面扫描此码", "请在库存品页面扫描此码");
}
return Resp.scanFail("此码不是订制品", "此码不是订制品");
}
//查询当前扫描的包件是否进行了装车
DistributionParcelListEntity parcelList = distributionParcelListService.selectByOrderPackageCode(distrilbutionloadingscanDTO.getBarcode(), myCurrentWarehouse.getId());
if (Func.isEmpty(parcelList)){
return Resp.scanFail("系统无编码", "系统无编码");
}
if (!Objects.isNull(parcelList)) {
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelList.getOrderPackageLoadingStatus())) {
return Resp.scanFail("包件已装车", "包件已装车");
}
}
//获取当前用户司机
DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distrilbutionloadingscanDTO.getDeliveryId());
//异步确认包条扫描信息
@ -586,6 +564,30 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
BeanUtils.copyProperties(distributionDeliveryTripartiteEntity, distributionDeliverySelfEntity);
}
if (distrilbutionloadingscanDTO.getType() == 1) {
List<DisStockListDetailEntity> list = disStockListDetailService.list(Wrappers.<DisStockListDetailEntity>query().lambda()
.eq(DisStockListDetailEntity::getStockPackageCode, distrilbutionloadingscanDTO.getBarcode())
.ne(DisStockListDetailEntity::getStockPackageStatus, ReservationPackageStatusConstant.quxiao.getValue())
);
if (Func.isNotEmpty(list)) {
//满足条件此码必定为库存品
//判断该库存品是否属于当前客户
List<DisStockListDetailEntity> collect = list.stream().filter(l -> l.getReservationId().equals(distrilbutionloadingscanDTO.getReservationId())).collect(Collectors.toList());
if (Func.isNotEmpty(collect)) {
return Resp.scanFail("请在库存品页面扫描此码", "请在库存品页面扫描此码");
}
return Resp.scanFail("此码不是订制品", "此码不是订制品");
}
//查询当前扫描的包件是否进行了装车
DistributionParcelListEntity parcelList = distributionParcelListService.selectByOrderPackageCode(distrilbutionloadingscanDTO.getBarcode(), myCurrentWarehouse.getId());
if (Func.isEmpty(parcelList)){
return Resp.scanFail("系统无编码", "系统无编码");
}
if (!Objects.isNull(parcelList)) {
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelList.getOrderPackageLoadingStatus())) {
return Resp.scanFail("包件已装车", "包件已装车");
}
}
if (!Objects.isNull(parcelList)) {
if (OrderPackageLoadingStatusConstant.yizhuangche.getValue().equals(parcelList.getOrderPackageLoadingStatus())) {
return Resp.scanFail("包件已装车", "包件已装车");
@ -4219,57 +4221,56 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionParcelListVOS.add(distributionParcelListVO);
}
}
List<Long> zeroOrderIds = reservationStockarticleEntityList.stream().filter(order -> order.getIsZero().equals(IsOrNoConstant.yes.getValue())).map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList());
if (Func.isNotEmpty(zeroOrderIds)) {
//查询该客户的零但订单包间
List<DistributionParcelListEntity> zeroParcelListEntityList = baseMapper.getZeroPackageListByDeliveryId(deliveryId, zeroOrderIds);
List<DistributionParcelListVO> zeroParcelListVOList = DistributionParcelListWrapper.build().listVO(zeroParcelListEntityList);
for (DistributionParcelListVO parcelListVO : zeroParcelListVOList) {
if (Func.isNotEmpty(loadingDataMap)) {
DistributionLoadscanEntity loadscanEntity = loadingDataMap.get(parcelListVO.getId());
if (Func.isNotEmpty(loadscanEntity)) {
if (Func.isNotEmpty(loadscanEntity.getSigningTime())) {
parcelListVO.setSigningTime(loadscanEntity.getSigningTime());
}
if (Func.isNotEmpty(loadscanEntity.getScanUser())) {
parcelListVO.setScanUser(loadscanEntity.getScanUser());
}
if (Func.isNotEmpty(loadscanEntity.getDriverName())) {
parcelListVO.setDriverName(loadscanEntity.getDriverName());
}
if (Func.isNotEmpty(loadscanEntity.getLoadedNub())) {
parcelListVO.setLoadingNub(loadscanEntity.getLoadedNub());
}
if (loadscanEntity.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())) {
parcelListVO.setSigningNub(loadscanEntity.getReceivedQuantity());
}
if (Func.isNotEmpty(loadscanEntity.getScanStatus())) {
switch (loadscanEntity.getScanStatus()) {
case "1":
parcelListVO.setScanStatus(LoadingStatusConstant.quxiao.getName());
break;
case "2":
parcelListVO.setScanStatus(LoadingStatusConstant.saomiao.getName());
break;
case "3":
parcelListVO.setScanStatus(LoadingStatusConstant.quxiao.getName());
break;
case "4":
parcelListVO.setScanStatus(LoadingStatusConstant.yijianzhuangche.getName());
break;
case "5":
parcelListVO.setScanStatus(LoadingStatusConstant.buluzhuangche.getName());
break;
}
parcelListVO.setLoadingNub(loadscanEntity.getLoadedNub());
}
}
}
distributionParcelListVOS.add(parcelListVO);
}
}
// List<Long> zeroOrderIds = reservationStockarticleEntityList.stream().filter(order -> order.getIsZero().equals(IsOrNoConstant.yes.getValue())).map(DistributionReservationStockarticleEntity::getStockArticleId).collect(Collectors.toList());
// if (Func.isNotEmpty(zeroOrderIds)) {
// //查询该客户的零但订单包间
// List<DistributionParcelListEntity> zeroParcelListEntityList = baseMapper.getZeroPackageListByDeliveryId(deliveryId, zeroOrderIds);
// List<DistributionParcelListVO> zeroParcelListVOList = DistributionParcelListWrapper.build().listVO(zeroParcelListEntityList);
// for (DistributionParcelListVO parcelListVO : zeroParcelListVOList) {
// if (Func.isNotEmpty(loadingDataMap)) {
// DistributionLoadscanEntity loadscanEntity = loadingDataMap.get(parcelListVO.getId());
// if (Func.isNotEmpty(loadscanEntity)) {
// if (Func.isNotEmpty(loadscanEntity.getSigningTime())) {
// parcelListVO.setSigningTime(loadscanEntity.getSigningTime());
// }
// if (Func.isNotEmpty(loadscanEntity.getScanUser())) {
// parcelListVO.setScanUser(loadscanEntity.getScanUser());
// }
// if (Func.isNotEmpty(loadscanEntity.getDriverName())) {
// parcelListVO.setDriverName(loadscanEntity.getDriverName());
// }
// if (Func.isNotEmpty(loadscanEntity.getLoadedNub())) {
// parcelListVO.setLoadingNub(loadscanEntity.getLoadedNub());
// }
// if (loadscanEntity.getSignforState().equals(LoadScanSigningStatusConstant.yiqianshou.getValue())) {
// parcelListVO.setSigningNub(loadscanEntity.getReceivedQuantity());
// }
// if (Func.isNotEmpty(loadscanEntity.getScanStatus())) {
// switch (loadscanEntity.getScanStatus()) {
// case "1":
// parcelListVO.setScanStatus(LoadingStatusConstant.quxiao.getName());
// break;
// case "2":
// parcelListVO.setScanStatus(LoadingStatusConstant.saomiao.getName());
// break;
// case "3":
// parcelListVO.setScanStatus(LoadingStatusConstant.quxiao.getName());
// break;
// case "4":
// parcelListVO.setScanStatus(LoadingStatusConstant.yijianzhuangche.getName());
// break;
// case "5":
// parcelListVO.setScanStatus(LoadingStatusConstant.buluzhuangche.getName());
// break;
// }
// parcelListVO.setLoadingNub(loadscanEntity.getLoadedNub());
// }
// }
// }
// distributionParcelListVOS.add(parcelListVO);
// }
// }
} else {
//可能出现配送任务下的所有客户都是库存品
log.info("#############此配送任务下无订单信息,deliveryId:{}", deliveryId);

41
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

@ -88,6 +88,7 @@ import java.io.IOException;
import java.util.*;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -1541,7 +1542,15 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
}
}
inWarehouseQuantity += stockArticleEntity.getTotalNumber() - loadingQuantity;
// int sum = parcelListEntities.stream().filter(f -> !OrderPackageStatusConstant.yiqianshou.getValue().equals(f.getOrderPackageStatus())
// || OrderPackageLoadingStatusConstant.weizhuancghe.getValue().equals(f.getOrderPackageLoadingStatus())
// || OrderPackageReservationStatusConstant.daiyuyue.getValue().equals(f.getOrderPackageReservationStatus())
// ).mapToInt(DistributionParcelListEntity::getQuantity).sum();
int a = parcelListEntities.stream().filter(f -> !OrderPackageStatusConstant.yiqianshou.getValue().equals(f.getOrderPackageStatus()))
.filter(f->OrderPackageLoadingStatusConstant.weizhuancghe.getValue().equals(f.getOrderPackageLoadingStatus()))
.filter(f->OrderPackageReservationStatusConstant.daiyuyue.getValue().equals(f.getOrderPackageReservationStatus())
).mapToInt(DistributionParcelListEntity::getQuantity).sum();
inWarehouseQuantity = a;
stockArticleEntity.setHandQuantity(inWarehouseQuantity);
stockArticleEntity.setDeliveryQuantity(deliveryQuantity);
@ -1789,7 +1798,35 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
baseMapper.submitHandleNumAndTotalNumberByOrderId(subNum,articleId);
}
/**
* @param warehouseId
* @return
*/
@Override
public Boolean maintenanceOrderInfoByWarehouseId(String warehouseId) {
String method = "#######################DistributionStockArticleServiceImpl.maintenanceOrderInfoByWarehouseId";
if (Func.isEmpty(warehouseId)) {
log.info(method+"全表订单状态维护");
return false;
}
List<Long> list = Func.toLongList(warehouseId);
LambdaQueryWrapper<DistributionStockArticleEntity> lambda = Wrappers.<DistributionStockArticleEntity>query().lambda();
if (Func.isNotEmpty(list) && list.size()>0){
lambda.in(DistributionStockArticleEntity::getWarehouseId,list);
}
List<DistributionStockArticleEntity> distributionStockArticleEntityList = this.list(lambda);
if (Func.isEmpty(distributionStockArticleEntityList)){
log.info(method+"查询订单失败:{}",list);
return false;
}
Map<Long, List<DistributionStockArticleEntity>> entityMap = distributionStockArticleEntityList.stream().collect(Collectors.groupingBy(DistributionStockArticleEntity::getWarehouseId));
entityMap.forEach((k,v)->{
String orderCodes = v.stream().map(DistributionStockArticleEntity::getOrderCode).distinct().collect(Collectors.joining(","));
log.info(method+"维护订单orderCode:{}",orderCodes);
this.maintenanceOrderInfo(orderCodes,k);
});
return true;
}
@Override

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java

@ -242,7 +242,6 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
return false;
}
DistributionStockListEntity one2 = this.getOne(Wrappers.<DistributionStockListEntity>query().lambda()
.eq(ObjectUtil.isNotEmpty(distributionStockListDTO.getMaterialId()),DistributionStockListEntity::getMaterialId, distributionStockListDTO.getMaterialId())
.eq(DistributionStockListEntity::getPid, distributionStockListDTO.getId())
@ -276,7 +275,7 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
BeanUtil.copyProperties(d, distributionStockListInfo);
distributionStockListInfo.setId(null);
distributionStockListInfo.setStockListId(d.getId());
distributionStockListInfo.setOutboundQuantity(0);
// distributionStockListInfo.setOutboundQuantity(0);
distributionStockListInfo.setGroundingTime(new Date());
distributionStockListInfo.setQuantityStock((distributionStockListDTO.getStoreNum() * Integer.parseInt(distributionStockListDTO.getPackageNum())));
// distributionStockListInfo.setOrderCode(one.getOrderCode());
@ -339,10 +338,11 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl<Distributi
distributionStockListEntity.setMaterialId(aLong);
distributionStockListEntity.setSourceType("2");
distributionStockListEntity.setCargoUnit(DictBizCache.getValue(DictBizConstant.LOGPM_UNIT, distributionStockListDTO.getCargoUnit()));
distributionStockListEntity.setDescriptionGoods(distributionStockListDTO.getMaterialIdName());
distributionStockListEntity.setCargoNumber(distributionStockListDTO.getCargoNumber());
distributionStockListEntity.setCargoNorms(distributionStockListDTO.getCargoNorms());
distributionStockListEntity.setDescriptionGoods(basicMaterialEntity.getName());
distributionStockListEntity.setCargoNumber(basicMaterialEntity.getProductCode());
distributionStockListEntity.setCargoNorms(basicMaterialEntity.getSpecification());
distributionStockListEntity.setQuantityOccupied(0);
distributionStockListEntity.setServiceNumber(one.getServiceNumber());
distributionStockListEntity.setIncomingBatch(one.getIncomingBatch());
distributionStockListEntity.setId(null);
this.save(distributionStockListEntity);

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

@ -2302,6 +2302,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
}
//绑定码
disStockListDetail.setStockPackageCode(stockupDTO.getPacketBarCode());
disStockListDetail.setStockStatus(OrderPackageStockupStatusConstant.yibeihu.getValue());
disStockListDetail.setId(list1.get(0).getId());
break;
case 2:
@ -2315,6 +2316,7 @@ public class DistributionStockupServiceImpl extends BaseServiceImpl<Distribution
if (ObjectUtils.isNotNull(one1)) {
//绑定码
disStockListDetail.setStockPackageCode(stockupDTO.getPacketBarCode());
disStockListDetail.setStockStatus(OrderPackageStockupStatusConstant.yibeihu.getValue());
disStockListDetail.setId(list1.get(0).getId());
//修改包件码状态
ordercodeRecoEntity.setCodeStatus("1");

6
blade-service/logpm-patch/pom.xml

@ -75,7 +75,11 @@
<version>3.2.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<!--mq-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
</dependencies>
<build>

113
blade-service/logpm-patch/src/main/java/com/logpm/patch/config/RabbitMqConfiguration.java

@ -0,0 +1,113 @@
package com.logpm.patch.config;
import com.alibaba.nacos.shaded.com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.RabbitConstant;
import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Map;
/**
* RabbitMQ配置主要是配置队列如果提前存在该队列可以省略本配置类
*
* @author yangkai.shen
*/
@Slf4j
@Configuration
public class RabbitMqConfiguration {
@Bean
public RabbitTemplate createRabbitTemplate(ConnectionFactory connectionFactory) {
RabbitTemplate template = new RabbitTemplate();
template.setConnectionFactory(connectionFactory);
template.setMandatory(true);
template.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {
@Override
public void confirm(CorrelationData correlationData, boolean b, String s) {
System.out.println("确认回调-相关数据:" + correlationData);
System.out.println("确认回调-确认情况:" + b);
System.out.println("确认回调-原因:" + s);
// Long id = Long.parseLong(correlationData.getId());
// UpdateWrapper<PanOrderStatusLog> updateWrapper = new UpdateWrapper<>();
// if(b){
// //修改处理日志为已处理
// updateWrapper.set("status",0)
// .eq("id",id);
//
// }else{
// //修改处理日志为已处理
// updateWrapper.set("status",2)
// .eq("id",id);
// }
// panOrderStatusLogService.update(updateWrapper);
}
});
template.setReturnsCallback(new RabbitTemplate.ReturnsCallback() {
@Override
public void returnedMessage(ReturnedMessage returnedMessage) {
if ("mt_business_data_2_factory_exchange".equals(returnedMessage.getExchange()) || "mt_business_data_clerk_check_2_factory_exchange".equals(returnedMessage.getExchange())) {
return;
}
System.out.println("返回回调-消息:" + returnedMessage.getMessage());
System.out.println("返回回调-回应码:" + returnedMessage.getReplyCode());
System.out.println("返回回调-回应信息:" + returnedMessage.getReplyText());
System.out.println("返回回调-交换机:" + returnedMessage.getExchange());
System.out.println("返回回调-路由键:" + returnedMessage.getRoutingKey());
}
});
return template;
}
// @Bean
// public DirectExchange errorMessageExchange() {
// return new DirectExchange(RabbitConstant.ERROR_EXCHANGE);
// }
//
// @Bean
// public Queue errorQueue() {
// return new Queue(RabbitConstant.ERROR_QUEUE, true);
// }
//
// @Bean
// public Binding errorBinding(Queue errorQueue, DirectExchange errorMessageExchange) {
// return BindingBuilder.bind(errorQueue).to(errorMessageExchange).with(RabbitConstant.ERROR_ROUTING);
// }
//
// /**
// * 消费失败队列
// *
// * @param rabbitTemplate
// * @return
// */
// @Bean
// public MessageRecoverer republishMessageRecoverer(RabbitTemplate rabbitTemplate) {
// return new RepublishMessageRecoverer(rabbitTemplate, RabbitConstant.ERROR_EXCHANGE, RabbitConstant.ERROR_ROUTING);
// }
@Bean
public Queue syncOldUpdownDataQueue() {
return new Queue(RabbitConstant.SYNC_OLD_UPDOWN_DATA_QUEUE, true);
}
@Bean
public CustomExchange syncOldUpdownDataExchange() {
Map<String, Object> args = Maps.newHashMap();
args.put("x-delayed-type", "direct");
return new CustomExchange(RabbitConstant.SYNC_OLD_UPDOWN_DATA_EXCHANGE, "x-delayed-message", true, false, args);
}
@Bean
public Binding syncOldUpdownDataBinding(Queue syncOldUpdownDataQueue, CustomExchange syncOldUpdownDataExchange) {
return BindingBuilder.bind(syncOldUpdownDataQueue).to(syncOldUpdownDataExchange).with(RabbitConstant.SYNC_OLD_UPDOWN_DATA_ROUTING).noargs();
}
}

3
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java

@ -90,14 +90,13 @@ public class DistributionDatarepair {
/**
* 维护
* 维护配送状态
* @return
*/
@XxlJob("maintenanceDeliveryStatus")
public ReturnT<String> maintenanceDeliveryStatus(String params) {
//维护配送的状态
Integer row = iSyncDistributionParcelListService.updateCompleteDeliveryStatus();
return ReturnT.SUCCESS;
}

18
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/OrderDataRepair.java

@ -1,5 +1,6 @@
package com.logpm.patch.jobhandle;
import com.logpm.distribution.feign.IDistributionStockArticleClient;
import com.logpm.patch.service.IOrderDataService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
@ -16,6 +17,22 @@ public class OrderDataRepair {
private final IOrderDataService orderDataService;
private final IDistributionStockArticleClient distributionStockArticleClient;
/**
* 维护指定仓库ID
* @param warehouseId
* @return
*/
@XxlJob("repairOrderSignStatus")
public ReturnT<String> maintenanceOrderStatus(String warehouseId) {
log.info("####################OrderDataRepair.maintenanceOrderStatus: 维护订单状态 开始");
Boolean flag = distributionStockArticleClient.maintenanceOrderStatus(warehouseId);
log.info("####################OrderDataRepair.maintenanceOrderStatus: 维护订单状态 完成");
return ReturnT.SUCCESS;
}
@XxlJob("repairOrderSignStatus")
public ReturnT<String> repairOrderSignStatus(String param) {
log.info("####################repairOrderSignStatus: 修复订单签收状态 开始");
@ -31,7 +48,6 @@ public class OrderDataRepair {
continue;
}
}
log.info("####################repairOrderSignStatus: 修复订单签收状态 完成");
return ReturnT.SUCCESS;
}

60
blade-service/logpm-patch/src/main/java/com/logpm/patch/receiver/SyncUpdownDataHandler.java

@ -0,0 +1,60 @@
package com.logpm.patch.receiver;
import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.RabbitConstant;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.Map;
/**
* 获取订单数据 处理器
*
* @author yangkai.shen
*/
@Slf4j
@RabbitListener(queues = RabbitConstant.SYNC_OLD_UPDOWN_DATA_QUEUE)
@Component
public class SyncUpdownDataHandler {
@Autowired
private IWarehouseUpdownTypeClient warehouseUpdownTypeClient;
@RabbitHandler
public void dealWithDataHandler(Map map, Message message, Channel channel) throws IOException {
// 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉
log.info("##################dealWithDataHandler: 处理在库订单数据到新系统");
String code = (String) map.get("code");
Long locationId = (Long) map.get("locationId");
Long warehouseId = (Long) map.get("warehouseId");
Integer type = (Integer) map.get("type");
if(type == 4){
//整托上架
boolean a=warehouseUpdownTypeClient.upShelfTray(code,locationId,warehouseId);
if(a){
log.info("#############syncUpdownData: 上架托盘成功 trayCode={} locationId={}",code,locationId);
}else{
log.error("#############syncUpdownData: XXXX上架托盘失败 trayCode={} locationId={}",code,locationId);
}
}else{
boolean a=warehouseUpdownTypeClient.upShelfPackage(code,locationId,warehouseId);
if(a){
log.info("#############syncUpdownData: 上架包件成功 orderPackageCode={} locationId={}",code,locationId);
}else{
log.error("#############syncUpdownData: XXXX上架包件失败 orderPackageCode={} locationId={}",code,locationId);
}
}
}
}

39
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java

@ -34,6 +34,7 @@ import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.RabbitConstant;
import org.springblade.common.constant.TenantNum;
import org.springblade.common.constant.order.*;
import org.springblade.common.constant.orderpackage.*;
@ -42,6 +43,8 @@ import org.springblade.common.utils.CommonUtil;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -89,6 +92,9 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
private final IWarehouseMappingDataService warehouseMappingDataService;
private final IBasicdataCategoryClient categoryClient;
private final RabbitTemplate rabbitTemplate;
@Transactional(rollbackFor = Exception.class)
@Override
public void handleData(List<String> orderCodeList,Integer oldWarehouseId,Long newWarehouseId,String tableName,Integer inventoryId) {
@ -173,33 +179,28 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
List<OrderLocationEntity> orderLocationEntityList = orderLocationClient.findListByLocationId(locationId.intValue());
for (OrderLocationEntity orderLocationEntity:orderLocationEntityList){
Integer type = orderLocationEntity.getType();
Integer orderLocationId = orderLocationEntity.getId();
String code = null;
if(type == 4){
//整托上架
Integer trayId = orderLocationEntity.getTrayId();
String trayCode = "T"+trayId;
boolean a=warehouseUpdownTypeClient.upShelfTray(trayCode,locationId,newWarehouseId);
if(a){
log.info("#############syncUpdownData: 上架托盘成功 trayCode={} locationId={}",trayCode,locationId);
}else{
log.error("#############syncUpdownData: XXXX上架托盘失败 trayCode={} locationId={}",trayCode,locationId);
}
code = "T"+trayId;
}else{
String orderPackageCode = orderLocationEntity.getUnitNo();
boolean a=warehouseUpdownTypeClient.upShelfPackage(orderPackageCode,locationId,newWarehouseId);
if(a){
log.info("#############syncUpdownData: 上架包件成功 orderPackageCode={} locationId={}",orderPackageCode,locationId);
}else{
log.error("#############syncUpdownData: XXXX上架包件失败 orderPackageCode={} locationId={}",orderPackageCode,locationId);
}
code = orderLocationEntity.getUnitNo();
}
Map<String, Object> map = new HashMap<>();
map.put("messageId", CommonUtil.getUUID());
map.put("code", code);
map.put("locationId", locationId);
map.put("warehouseId", newWarehouseId);
map.put("type", type);
map.put("createTime", new Date().getTime());
map.put("flagType", "OrderStatusLog");
//将消息携带绑定键值
rabbitTemplate.convertAndSend(RabbitConstant.SYNC_OLD_UPDOWN_DATA_EXCHANGE, RabbitConstant.SYNC_OLD_UPDOWN_DATA_ROUTING, map, new CorrelationData(String.valueOf(orderLocationId)));
}
}
}
@Override

27
blade-service/logpm-patch/src/main/resources/application-dev.yml

@ -10,6 +10,33 @@ server:
# password: ${blade.datasource.dev.password}
spring:
#rabbitmq配置
rabbitmq:
host: 192.168.2.46
port: 5672
username: admin
password: admin
#虚拟host 可以不设置,使用server默认host
virtual-host: /
#确认消息已发送到队列(Queue)
publisher-returns: true
publisher-confirm-type: correlated
# 手动提交消息
listener:
simple:
acknowledge-mode: auto
default-requeue-rejected: false
retry:
enabled: true # 开启消费者失败重试
initial-interval: 1000 # 初识的失败等待时长为1秒
multiplier: 1 # 失败的等待时长倍数,下次等待时长 = multiplier * last-interval
max-attempts: 3 # 最大重试次数
stateless: true # true无状态;false有状态。如果业务中包含事务,这里改为false
direct:
acknowledge-mode: manual
template:
mandatory: true
#排除DruidDataSourceAutoConfigure
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure

27
blade-service/logpm-patch/src/main/resources/application-prod.yml

@ -10,6 +10,33 @@ server:
# password: ${blade.datasource.prod.password}
spring:
#rabbitmq配置
rabbitmq:
host: 172.16.128.145
port: 5672
username: admin
password: Slwk@123654
#虚拟host 可以不设置,使用server默认host
virtual-host: /
#确认消息已发送到队列(Queue)
publisher-returns: true
publisher-confirm-type: correlated
# 手动提交消息
listener:
simple:
acknowledge-mode: auto
default-requeue-rejected: false
retry:
enabled: true # 开启消费者失败重试
initial-interval: 1000 # 初识的失败等待时长为1秒
multiplier: 1 # 失败的等待时长倍数,下次等待时长 = multiplier * last-interval
max-attempts: 3 # 最大重试次数
stateless: true # true无状态;false有状态。如果业务中包含事务,这里改为false
direct:
acknowledge-mode: manual
template:
mandatory: true
#排除DruidDataSourceAutoConfigure
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure

27
blade-service/logpm-patch/src/main/resources/application-test.yml

@ -10,6 +10,33 @@ server:
# password: ${blade.datasource.test.password}
spring:
#rabbitmq配置
rabbitmq:
host: 192.168.2.110
port: 5672
username: admin
password: Slwk@123654
#虚拟host 可以不设置,使用server默认host
virtual-host: /
#确认消息已发送到队列(Queue)
publisher-returns: true
publisher-confirm-type: correlated
# 手动提交消息
listener:
simple:
acknowledge-mode: auto
default-requeue-rejected: false
retry:
enabled: true # 开启消费者失败重试
initial-interval: 1000 # 初识的失败等待时长为1秒
multiplier: 1 # 失败的等待时长倍数,下次等待时长 = multiplier * last-interval
max-attempts: 3 # 最大重试次数
stateless: true # true无状态;false有状态。如果业务中包含事务,这里改为false
direct:
acknowledge-mode: manual
template:
mandatory: true
#排除DruidDataSourceAutoConfigure
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure

34
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java

@ -2109,4 +2109,38 @@ public class CarsLoadController {
}
}
@ResponseBody
@PostMapping("/findCostShareBefore")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "查询成本分摊之前异常列表", notes = "传入loadCarsDTO")
public R findCostShareBefore(@RequestBody LoadCarsDTO loadCarsDTO) {
String method = "############findCostShareBefore: ";
log.info(method + "请求参数{}", loadCarsDTO);
Long loadId = loadCarsDTO.getLoadId();
try{
//当前登录人选择的仓库
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"仓库信息为空");
}
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(loadId)){
log.warn(method+"配载id为空 loadId={}",loadId);
return R.fail(405,"配载id为空");
}
return carsLoadService.findCostShareBefore(loadId);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
}

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.java

@ -94,4 +94,6 @@ public interface TrunklineCarsLoadScanMapper extends BaseMapper<TrunklineCarsLoa
List<LoadScanWaybillVO> findArriveLoadScanWaybillList(@Param("loadId") Long loadId, @Param("nodeId") Long nodeId);
List<LoadScanWaybillVO> findUnloadLoadScanWaybillList(@Param("loadId") Long loadId, @Param("nodeId") Long nodeId);
List<TrunklineCarsLoadScanEntity> findListNoDataByLoadId(@Param("loadId") Long loadId);
}

8
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadScanMapper.xml

@ -445,4 +445,12 @@
group by waybill_no
</select>
<select id="findListNoDataByLoadId" resultType="com.logpm.trunkline.entity.TrunklineCarsLoadScanEntity">
select *
from logpm_trunkline_cars_load_scan
where load_id = #{loadId}
and scan_status = '2'
and is_data = 0
</select>
</mapper>

1
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsOrderMapper.xml

@ -134,6 +134,7 @@
ltco.plan_num planNum,
ltco.real_num loadingNum,
lww.total_freight orderFreight,
lww.check_user_name checkUserName,
IFNULL(ltco.unload_num,0) unloadNum,
IFNULL(lww.total_freight/lww.total_count*ltco.unload_num,0) unloadIncome,
IFNULL(lww.total_freight/lww.total_count*ltco.plan_num,0) orderLineCost,

3
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadScanService.java

@ -89,4 +89,7 @@ public interface ITrunklineCarsLoadScanService extends BaseService<TrunklineCars
List<LoadScanWaybillVO> findArriveLoadScanWaybillList(Long loadId, Long nodeId);
List<LoadScanWaybillVO> findUnloadLoadScanWaybillList(Long loadId, Long nodeId);
List<TrunklineCarsLoadScanEntity> findListNoDataByLoadId(Long loadId);
}

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java

@ -182,4 +182,6 @@ public interface ITrunklineCarsLoadService extends BaseService<TrunklineCarsLoad
R findContractList(Long loadId);
R findFinanceList(Long loadId);
R findCostShareBefore(Long loadId);
}

4
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadLogServiceImpl.java

@ -40,7 +40,7 @@ public class TrunklineCarsLoadLogServiceImpl extends BaseServiceImpl<TrunklineCa
String driverMobile = carsLoadEntity.getDriverMobile();
String carsLineName = carsLoadEntity.getCarsLineName();
String now = CommonUtil.dateToString(new Date());
String now = CommonUtil.dateToStringGeneral(new Date());
TrunklineCarsLoadLogEntity carsLoadLogEntity = new TrunklineCarsLoadLogEntity();
carsLoadLogEntity.setNodeId(nodeId);
carsLoadLogEntity.setNodeName(nodeName);
@ -71,7 +71,7 @@ public class TrunklineCarsLoadLogServiceImpl extends BaseServiceImpl<TrunklineCa
break;
case 4:
content = "【"+nodeName+"】始发仓发车,车次号:"+carsNo+",车牌号:"+carNumber+",司机姓名:"+driverName+
",司机手机号:"+driverMobile+",计划发货:"+planLoadingNumber+",实际装车:"+realLoadingNumber+",发车时间:"+ CommonUtil.dateToString(startDate);
",司机手机号:"+driverMobile+",计划发货:"+planLoadingNumber+",实际装车:"+realLoadingNumber+",发车时间:"+ now;
break;
case 5:
content = "【"+nodeName+"】始发仓取消发车,车次号:"+carsNo+",车牌号:"+carNumber+",司机姓名:"+driverName+

5
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadScanServiceImpl.java

@ -217,4 +217,9 @@ public class TrunklineCarsLoadScanServiceImpl extends BaseServiceImpl<TrunklineC
return baseMapper.findUnloadLoadScanWaybillList(loadId,nodeId);
}
@Override
public List<TrunklineCarsLoadScanEntity> findListNoDataByLoadId(Long loadId) {
return baseMapper.findListNoDataByLoadId(loadId);
}
}

17
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -3695,6 +3695,23 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.data(list);
}
@Override
public R findCostShareBefore(Long loadId) {
TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId);
if(Objects.isNull(carsLoadEntity)){
log.warn("################findCostShareBefore: 配载计划不存在 loadId={}",loadId);
return R.fail(405,"配载计划不存在");
}
List<TrunklineCarsLoadScanEntity> ls = trunklineCarsLoadScanService.findListNoDataByLoadId(loadId);
Map<String,Object> map = new HashMap<>();
map.put("noDataLoadScanList",ls);
return R.data(map);
}
@Override
public R loadingTrayInfo(LoadCarsDTO loadCarsDTO) {
log.info("##############loadingTrayInfo: 查询托盘的货物信息");

1
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseWaybillMapper.xml

@ -64,6 +64,7 @@
select *
from logpm_warehouse_waybill
<where>
and waybill_type = 2
<if test="param.waybillNo != null and param.waybillNo != ''"> and waybill_no like concat('%',#{param.waybillNo },'%')</if>
<if test="param.orderNo != null and param.orderNo != ''">and order_no like concat('%',#{param.orderNo },'%')</if>
<if test="param.departureWarehouseName != null and param.departureWarehouseName != ''">and departure_warehouse_name like concat('%',#{param.departureWarehouseName },'%')</if>

Loading…
Cancel
Save