Browse Source

add:增加发车的异常处理

visual
pref_mail@163.com 6 months ago
parent
commit
69d25dd76b
  1. 149
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

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

@ -590,80 +590,85 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
public Boolean start(DistributionDeliveryListDTO distributionDeliveryList) { public Boolean start(DistributionDeliveryListDTO distributionDeliveryList) {
log.info("开始发车>>>>>>>>>{}", distributionDeliveryList); log.info("开始发车>>>>>>>>>{}", distributionDeliveryList);
//获取关联的客户信息 //获取关联的客户信息
if (distributionDeliveryList.getSource() == 1) { try {
String reservationId = distributionDeliveryList.getReservationId(); if (distributionDeliveryList.getSource() == 1) {
List<Long> reservationIds = Collections.singletonList(Long.valueOf(Arrays.toString(reservationId.split(",")))); 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") // List<DistributionDeliveryInfoEntity> distributionDeliveryInfoEntities = distributionDeliveryInfoMapper.selectList(new QueryWrapper<DistributionDeliveryInfoEntity>().lambda()
// .in(null != reservationIds && reservationIds.size() > 0, DistributionDeliveryInfoEntity::getReservationId, reservationIds) // .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>(); List<DistributionReservationEntity> distributionReservationEntities = distributionReservationMapper.selectBatchIds(reservationIds);
//TODO 冗余加入签收表 ArrayList<DistributionSignforEntity> distributionSignforEntities = new ArrayList<DistributionSignforEntity>();
distributionReservationEntities.forEach(e -> { //TODO 冗余加入签收表
DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity(); distributionReservationEntities.forEach(e -> {
Func.copy(e, distributionSignforEntity); DistributionSignforEntity distributionSignforEntity = new DistributionSignforEntity();
distributionSignforEntity.setReservationId(e.getId()); Func.copy(e, distributionSignforEntity);
distributionSignforEntity.setConsignee(e.getConsignee()); distributionSignforEntity.setReservationId(e.getId());
distributionSignforEntity.setWarehouseId(distributionDeliveryList.getWarehouseId()); distributionSignforEntity.setConsignee(e.getConsignee());
distributionSignforEntity.setWarehouseName(distributionDeliveryList.getWarehouseName()); distributionSignforEntity.setWarehouseId(distributionDeliveryList.getWarehouseId());
distributionSignforEntity.setTrainNumber(distributionDeliveryList.getTrainNumber()); distributionSignforEntity.setWarehouseName(distributionDeliveryList.getWarehouseName());
distributionSignforEntity.setDeliveryDriverName(distributionDeliveryList.getDriverName()); distributionSignforEntity.setTrainNumber(distributionDeliveryList.getTrainNumber());
distributionSignforEntity.setDeliveryDriverId(distributionDeliveryList.getDriverId()); distributionSignforEntity.setDeliveryDriverName(distributionDeliveryList.getDriverName());
//配送时间 distributionSignforEntity.setDeliveryDriverId(distributionDeliveryList.getDriverId());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //配送时间
String format = simpleDateFormat.format(new Date()); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
distributionSignforEntity.setDeliveryTime(format); String format = simpleDateFormat.format(new Date());
//通过客户查询已经上车的订单(待定) distributionSignforEntity.setDeliveryTime(format);
// String orderIds = distributionDeliveryInfoMapper.selectorderIdList(e.getId()); //通过客户查询已经上车的订单(待定)
// distributionSignforEntity.setOrderId(e.getStockArticleId()); // String orderIds = distributionDeliveryInfoMapper.selectorderIdList(e.getId());
//查询订单总数 // 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); Integer i1 = distributionDeliveryInfoMapper.selectWrapCount(e.getId());
//装车件数 distributionSignforEntity.setReservationNum(i1);
Integer dre = distributionLoadscanMapper.selectWrapdreCount(e.getId()); //装车件数
distributionSignforEntity.setLoadedNumber(dre); Integer dre = distributionLoadscanMapper.selectWrapdreCount(e.getId());
//签收状态 distributionSignforEntity.setLoadedNumber(dre);
distributionSignforEntity.setSigningStatus("1"); //签收状态
distributionSignforEntity.setReservationId(e.getId()); distributionSignforEntity.setSigningStatus("1");
distributionSignforEntities.add(distributionSignforEntity); distributionSignforEntity.setReservationId(e.getId());
}); distributionSignforEntities.add(distributionSignforEntity);
distributionSignforService.saveBatch(distributionSignforEntities); });
} else { distributionSignforService.saveBatch(distributionSignforEntities);
} else {
}
//获取关联订单
String orderId = distributionDeliveryList.getOrderId();
List<Long> orderIds = Collections.singletonList(Long.valueOf(Arrays.toString(orderId.split(","))));
//查询在库订单
List<DistributionStockArticleEntity> distributionStockArticleEntities = distributionStockArticleMapper.selectBatchIds(orderIds);
//插入配送详情表
ArrayList<DistributionSigndetailEntity> arrayList = new ArrayList<>();
distributionStockArticleEntities.forEach(e -> {
DistributionSigndetailEntity distributionSigndetailEntity = new DistributionSigndetailEntity();
Func.copy(e, distributionSigndetailEntity);
//查询签收表id
Long masterId = distributionSignforService.selectIdByOrderId(e.getId());
distributionSigndetailEntity.setMasterId(masterId);
distributionSigndetailEntity.setOrderId(e.getId());
});
distributionSigndetailService.saveBatch(arrayList);
//插入签收包条表
ArrayList<DistributionPackadeliEntity> DistributionPackadeliEntitys = new ArrayList<>();
List<DistributionLoadscanEntity> distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper<DistributionLoadscanEntity>().lambda().eq(DistributionLoadscanEntity::getDeliveryId, distributionDeliveryList.getId()).ne(DistributionLoadscanEntity::getScanStatus, 1));
distributionLoadscanEntities.forEach(e -> {
DistributionPackadeliEntity distributionPackadeliEntity = new DistributionPackadeliEntity();
DistributionPackadeliEntitys.add(distributionPackadeliEntity);
});
distributionPackadeliService.saveBatch(DistributionPackadeliEntitys);
//TODO 修改配送表
return this.update(new UpdateWrapper<DistributionDeliveryListEntity>().lambda().eq(DistributionDeliveryListEntity::getId, distributionDeliveryList.getId()).set(DistributionDeliveryListEntity::getDeliveryStatus, DeliveryStatusConstant.peisongzhong.getValue()));
} catch (Exception e) {
log.error("发车异常", e);
throw new CustomerException("发车异常");
} }
//获取关联订单
String orderId = distributionDeliveryList.getOrderId();
List<Long> orderIds = Collections.singletonList(Long.valueOf(Arrays.toString(orderId.split(","))));
//查询在库订单
List<DistributionStockArticleEntity> distributionStockArticleEntities = distributionStockArticleMapper.selectBatchIds(orderIds);
//插入配送详情表
ArrayList<DistributionSigndetailEntity> arrayList = new ArrayList<>();
distributionStockArticleEntities.forEach(e -> {
DistributionSigndetailEntity distributionSigndetailEntity = new DistributionSigndetailEntity();
Func.copy(e, distributionSigndetailEntity);
//查询签收表id
Long masterId = distributionSignforService.selectIdByOrderId(e.getId());
distributionSigndetailEntity.setMasterId(masterId);
distributionSigndetailEntity.setOrderId(e.getId());
});
distributionSigndetailService.saveBatch(arrayList);
//插入签收包条表
ArrayList<DistributionPackadeliEntity> DistributionPackadeliEntitys = new ArrayList<>();
List<DistributionLoadscanEntity> distributionLoadscanEntities = distributionLoadscanMapper.selectList(new QueryWrapper<DistributionLoadscanEntity>().lambda().eq(DistributionLoadscanEntity::getDeliveryId, distributionDeliveryList.getId()).ne(DistributionLoadscanEntity::getScanStatus, 1));
distributionLoadscanEntities.forEach(e -> {
DistributionPackadeliEntity distributionPackadeliEntity = new DistributionPackadeliEntity();
DistributionPackadeliEntitys.add(distributionPackadeliEntity);
});
distributionPackadeliService.saveBatch(DistributionPackadeliEntitys);
//TODO 修改配送表
return this.update(new UpdateWrapper<DistributionDeliveryListEntity>().lambda().eq(DistributionDeliveryListEntity::getId, distributionDeliveryList.getId()).set(DistributionDeliveryListEntity::getDeliveryStatus, DeliveryStatusConstant.peisongzhong.getValue()));
} }

Loading…
Cancel
Save