Browse Source

新装车推送节点

visual
汤建军 6 months ago
parent
commit
2afc79b214
  1. 47
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

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

@ -595,10 +595,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
String reservationId = distributionDeliveryList.getReservationId();
List<Long> reservationIds = Collections.singletonList(Long.valueOf(Arrays.toString(reservationId.split(","))));
//查询客户信息,装车情况
// List<DistributionDeliveryInfoEntity> distributionDeliveryInfoEntities = distributionDeliveryInfoMapper.selectList(new QueryWrapper<DistributionDeliveryInfoEntity>().lambda()
// .eq(DistributionDeliveryInfoEntity::getLoadedState, "2")
// .in(null != reservationIds && reservationIds.size() > 0, DistributionDeliveryInfoEntity::getReservationId, reservationIds)
// );
// List<DistributionDeliveryInfoEntity> distributionDeliveryInfoEntities = distributionDeliveryInfoMapper.selectList(new QueryWrapper<DistributionDeliveryInfoEntity>().lambda()
// .eq(DistributionDeliveryInfoEntity::getLoadedState, "2")
// .in(null != reservationIds && reservationIds.size() > 0, DistributionDeliveryInfoEntity::getReservationId, reservationIds)
// );
//统计客户的配送数量,加入签收表(通过预约单查询总数量)
List<DistributionReservationEntity> distributionReservationEntities = distributionReservationMapper.selectBatchIds(reservationIds);
ArrayList<DistributionSignforEntity> distributionSignforEntities = new ArrayList<DistributionSignforEntity>();
@ -619,10 +619,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionSignforEntity.setDeliveryTime(format);
//通过客户查询已经上车的订单(待定)
// String orderIds = distributionDeliveryInfoMapper.selectorderIdList(e.getId());
// distributionSignforEntity.setOrderId(e.getStockArticleId());
// distributionSignforEntity.setOrderId(e.getStockArticleId());
//查询订单总数
// Integer i = StringUtils.countMatches(e.getStockArticleId(), ",") + 1;
//// distributionSignforEntity.setOrderTotal(i);
// Integer i = StringUtils.countMatches(e.getStockArticleId(), ",") + 1;
//// distributionSignforEntity.setOrderTotal(i);
//该客户总件数
Integer i1 = distributionDeliveryInfoMapper.selectWrapCount(e.getId());
distributionSignforEntity.setReservationNum(i1);
@ -4208,7 +4208,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distributionPlanLogService.saveBatch(reservationLogList);
String distributionContent = user.getNickName() + "在" + myCurrentWarehouse.getName()
+ "修改市配配送计划;车次号:" + deliveryListEntity.getTrainNumber()
+ "预约编号:[" + oldList.stream().map(DistributionReservationEntity::getReservationCode).collect(Collectors.joining(",")) + "]变更为-->[" + newList.stream().map(DistributionReservationEntity::getReservationCode).collect(Collectors.joining(",")) + "]"+"当前总件数:"+(newList.stream().mapToInt(DistributionReservationEntity::getReservationNum).sum()+newList.stream().mapToInt(DistributionReservationEntity::getReservationStockListNum).sum());
+ "预约编号:[" + oldList.stream().map(DistributionReservationEntity::getReservationCode).collect(Collectors.joining(",")) + "]变更为-->[" + newList.stream().map(DistributionReservationEntity::getReservationCode).collect(Collectors.joining(",")) + "]" + "当前总件数:" + (newList.stream().mapToInt(DistributionReservationEntity::getReservationNum).sum() + newList.stream().mapToInt(DistributionReservationEntity::getReservationStockListNum).sum());
DistributionPlanLogEntity distributionPlanLogEntity = new DistributionPlanLogEntity();
distributionPlanLogEntity.setContent(distributionContent);
distributionPlanLogEntity.setRefId(deliveryListEntity.getId());
@ -8770,6 +8770,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//日志信息收集
List<JSONObject> packageLogs = new ArrayList<>();
//查询司机信息
//回传数据修改
List<DistributionLoadscanEntity> pushNodeList = new ArrayList<>();
//回传数据修改
List<DistributionLoadscaninvnEntity> ts = new ArrayList<>();
DistributionDeliverySelfEntity distributionDeliverySelfEntity = getDriver(deliveryListEntity, user, distrilbutionloadingscanDTO.getVehicleNub(), isDriverFlag);
if (Objects.isNull(distributionDeliverySelfEntity)) {
return Resp.fail("当前操作人不合法");
@ -8838,6 +8842,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
//正常进行装车
DistributionLoadscanEntity loadscanEntity = createdDistributionLoadscanEntity(deliveryListEntity, distributionDeliverySelfEntity, reservationId, parcelListEntity, myCurrentWarehouse, user);
pushNodeList.add(loadscanEntity);
distributionLoadscanService.save(loadscanEntity);
//这里还需要对异常记录进行关闭和完成
distributionLoadscanAbnormalService.completeLoadingAbnormal(loadscanEntity.getOrderPackageCode(), loadscanEntity.getWarehouseId(), loadscanEntity.getReservationId(), loadscanEntity.getScanUser());
@ -8963,7 +8968,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//零担装车只能在一个车上
return Resp.scanFail("零担同一品类需在一个车", "零担同一品类需在一个车");
}
updateZeroLoadingEntity(zeroLoadscanEntity, parcelListDTO, myCurrentWarehouse, zeroPackageMap);
updateZeroLoadingEntity(zeroLoadscanEntity, parcelListDTO, myCurrentWarehouse, zeroPackageMap, pushNodeList);
JSONObject zeroJsonObject = new JSONObject();
zeroJsonObject.put("code", zeroParcelListEntity.getOrderCode());
zeroJsonObject.put("warehouseId", myCurrentWarehouse.getId());
@ -8982,7 +8987,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distrilbutionloadingscanDTO.getReservationId(),
parcelListDTO, myCurrentWarehouse,
user,
zeroPackageMap);
zeroPackageMap,
pushNodeList);
packageLockIds.add(parcelListDTO.getParcelListId());
JSONObject zeroJsonObject = new JSONObject();
zeroJsonObject.put("code", zeroParcelListEntity.getOrderCode());
@ -9003,7 +9009,8 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
distrilbutionloadingscanDTO.getReservationId(),
parcelListDTO, myCurrentWarehouse,
user,
zeroPackageMap);
zeroPackageMap,
pushNodeList);
packageLockIds.add(parcelListDTO.getParcelListId());
JSONObject zeroJsonObject = new JSONObject();
zeroJsonObject.put("code", zeroParcelListEntity.getOrderCode());
@ -9098,6 +9105,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
log.info(">>>>>>>>>>>>>>>>>>>装车修改库存品包件>装车包件码:{},", disStockListDetailEntity.getStockPackageCode());
DistributionLoadscaninvnEntity distributionLoadscaninvnEntity = getDistributionLoadscaninvnEntity(distrilbutionloadingscanDTO, distributionDeliverySelfEntity, disStockListDetailEntity, deliveryListEntity, myCurrentWarehouse);
packageLockIds.add(distributionLoadscaninvnEntity.getInventoryPackageId());
ts.add(distributionLoadscaninvnEntity);
distributionLoadscaninvnService.save(distributionLoadscaninvnEntity);
//对装车异常进行关闭
distributionLoadscanAbnormalService.completeLoadingAbnormal(distributionLoadscaninvnEntity.getOrderPackageCode(), distributionLoadscaninvnEntity.getWarehouseId(), distributionLoadscaninvnEntity.getReservationId(), distributionLoadscaninvnEntity.getScanUser());
@ -9122,6 +9130,10 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
inventoryJsonObject.put("num", 1);
inventoryJsonObject.put("remark", "装车下架");
jsonObjects.add(inventoryJsonObject);
if (CollUtil.isNotEmpty(ts)) {
NodeFanoutMsg<DistributionLoadVO> nodeFanoutMsg = buildNodeFanoutMsgByStock(deliveryListEntity, reservationEntity2, ts);
distributionNodeWorkService.nodeLoading(nodeFanoutMsg, AuthUtil.getUser());
}
break;
case 4:
if (Objects.isNull(distrilbutionloadingscanDTO.getBarcode())) {
@ -9206,6 +9218,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
trayJsonObject.put("num", 1);
trayJsonObject.put("remark", "装车下架");
jsonObjects.add(trayJsonObject);
pushNodeList.addAll(reservationLoadscanEntities);
distributionLoadscanService.saveBatch(reservationLoadscanEntities);
//这里则进行整托装车的数据构建
//维护订单的信息
@ -9274,6 +9287,11 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
factoryDataMessageSender.sendNodeDataByBrand(msg);
}
}
if (CollUtil.isNotEmpty(pushNodeList)) {
NodeFanoutMsg<DistributionLoadVO> nodeFanoutMsg = buildNodeFanoutMsgByPackage(deliveryListEntity, pushNodeList);
distributionNodeWorkService.nodeLoading(nodeFanoutMsg, AuthUtil.getUser());
}
//维护订单数量
if (!orderCodes.isEmpty()) {
String s = orderCodes.stream().collect(Collectors.joining(","));
@ -9949,7 +9967,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
return packageRetentionScanEntity;
}
private void updateZeroLoadingEntity(DistributionLoadscanEntity loadscanEntity, DistributionParcelNumberDTO parcelListDTO, BasicdataWarehouseEntity myCurrentWarehouse, Map<Long, DistributionParcelNumberEntity> zeroPackageMap) {
private void updateZeroLoadingEntity(DistributionLoadscanEntity loadscanEntity, DistributionParcelNumberDTO parcelListDTO, BasicdataWarehouseEntity myCurrentWarehouse, Map<Long, DistributionParcelNumberEntity> zeroPackageMap, List<DistributionLoadscanEntity> pushNodeList) {
//维护零担出库数量
DistributionParcelNumberEntity parcelNumberEntity = zeroPackageMap.get(parcelListDTO.getParcelListId());
BigDecimal deliveryQuantity = new BigDecimal(parcelNumberEntity.getDeliveryQuantity());
@ -9975,6 +9993,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
loadscanEntity.setWarehouseName(myCurrentWarehouse.getName());
loadscanEntity.setIsZero(Integer.parseInt(IsOrNoConstant.yes.getValue()));
distributionLoadscanService.updateById(loadscanEntity);
pushNodeList.add(loadscanEntity);
//维护零担订单装车状态
distributionAsyncService.checkZeroStockArticleLoadingStatus(parcelNumberEntity, loadscanEntity.getDeliveryId(), loadscanEntity.getReservationId());
}
@ -9986,9 +10005,11 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
DistributionParcelNumberDTO parcelNumberDTO,
BasicdataWarehouseEntity myCurrentWarehouse,
BladeUser user,
Map<Long, DistributionParcelNumberEntity> zeroPackageMap) {
Map<Long, DistributionParcelNumberEntity> zeroPackageMap,
List<DistributionLoadscanEntity> pushNodeList) {
DistributionLoadscanEntity zeroLoadscanEntity = createdDistributionZeroLoadscanEntity(distributionDeliverySelfEntity, deliveryListEntity, distrilbutionloadingscanDTO.getReservationId(), parcelNumberDTO, myCurrentWarehouse, user);
zeroLoadscanEntity.setIsZero(Integer.parseInt(IsOrNoConstant.yes.getValue()));
pushNodeList.add(zeroLoadscanEntity);
distributionLoadscanService.save(zeroLoadscanEntity);
//更新装车时间
Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId());

Loading…
Cancel
Save