diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java index 31bd36b70..4d66d1aaf 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java @@ -39,6 +39,7 @@ import java.util.stream.Collectors; @Slf4j public class OpenOrderAsyncServiceImpl implements IOpenOrderAsyncService { + @Lazy @Autowired private ITrunklineWaybillTrackService trunklineWaybillTrackService; @@ -62,8 +63,10 @@ public class OpenOrderAsyncServiceImpl implements IOpenOrderAsyncService { private IBasicdataClientClient basicdataClientClient; @Autowired private IBasicdataStoreBusinessClient basicdataStoreBusinessClient; + @Lazy @Autowired private ITrunklineBillladingWaybillService trunklineBillladingWaybillService; + @Lazy @Autowired private ITrunklineBillladingService trunklineBillladingService; diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index 8612ae4a3..69399a4d4 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -121,6 +121,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl loadCarsPageList(LoadCarsDTO loadCarsDTO) { @@ -5606,10 +5607,14 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl orderPackageCodes = new ArrayList<>(); + List waybillLogDTOList = new ArrayList<>(); Set loadIds = new HashSet<>(); //把list通过signOrderId进行分组 Map> map = list.stream().filter(e -> !Objects.isNull(e.getSignOrderId())).collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getSignOrderId)); map.keySet().forEach(e -> { +// TrunklineLoadSignOrderEntity loadSignOrder = trunklineLoadSignOrderService.getById(e); +// Long loadId = loadSignOrder.getLoadId(); +// TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId); List trunklineCarsLoadScanVOS = map.get(e);//该签收单对应的包件 trunklineCarsLoadScanVOS.forEach(t -> { TrunklineCarsLoadScanEntity entity = new TrunklineCarsLoadScanEntity(); @@ -5636,6 +5641,31 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl> map1 = trunklineCarsLoadScanVOS.stream().filter(e -> !Objects.isNull(e.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getWaybillNo)); +// map1.keySet().forEach(waybillNo -> { +// List trunklineCarsLoadScanVOS1 = map1.get(waybillNo); +// //把trunklineCarsLoadScanVOS1中所有元素的unloadNum求和,为空的用0代替 +// Integer unloadNum = trunklineCarsLoadScanVOS1.stream().map(TrunklineCarsLoadScanVO::getUnloadNum).reduce(0, Integer::sum); +// WaybillLogDTO waybillLogDTO = new WaybillLogDTO(); +// waybillLogDTO.setWarehouseId(warehouseId); +// waybillLogDTO.setWarehouseName(warehouseName); +// waybillLogDTO.setWaybillNo(waybillNo); +// waybillLogDTO.setTrainNumber(carsLoadEntity.getCarsNo()); +// waybillLogDTO.setCarNumber(carsLoadEntity.getCarNumber()); +// waybillLogDTO.setSignUser(AuthUtil.getNickName()); +// waybillLogDTO.setSignTime(date); +// waybillLogDTO.setDriverName(carsLoadEntity.getDriverName()); +// waybillLogDTO.setNum(unloadNum); +// waybillLogDTO.setSignOrderCode(loadSignOrder.getLoadSignCode()); +// waybillLogDTO.setType(2); +// waybillLogDTO.setUserId(AuthUtil.getUserId()); +// waybillLogDTO.setNickName(AuthUtil.getNickName()); +// waybillLogDTOList.add(waybillLogDTO); +// }); + + signOrderIds.add(e); }); @@ -5655,6 +5685,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl { + waybillTrackService.addSignWaybillLog(waybillLogDTO); + }); + } + } catch (Exception e) { log.warn("###########存入日志信息失败"); } @@ -5679,7 +5716,6 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl trunklineCarsLoadScanEntities = trunklineCarsLoadScanService.listByIds(loadScanIds); + //把trunklineCarsLoadScanEntities中的所有元素按照waybillNo进行分组 + Map> map = trunklineCarsLoadScanEntities.stream().filter(t -> Objects.nonNull(t.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getWaybillNo)); + map.keySet().forEach(waybillNo -> { + List list = map.get(waybillNo); + //把list中所有元素的unloadNum求和,没有值就取0 + Integer unloadNum = list.stream().mapToInt(t -> Objects.nonNull(t.getUnloadNum()) ? t.getUnloadNum() : 0).sum(); + + WaybillLogDTO waybillLogDTO = new WaybillLogDTO(); + waybillLogDTO.setWarehouseId(warehouseId); + waybillLogDTO.setWarehouseName(warehouseName); + waybillLogDTO.setWaybillNo(waybillNo); + waybillLogDTO.setTrainNumber(carsLoadEntity.getCarsNo()); + waybillLogDTO.setCarNumber(carsLoadEntity.getCarNumber()); + waybillLogDTO.setSignUser(AuthUtil.getNickName()); + waybillLogDTO.setSignTime(date); + waybillLogDTO.setDriverName(carsLoadEntity.getDriverName()); + waybillLogDTO.setNum(unloadNum); + waybillLogDTO.setSignOrderCode(carsLoadEntity.getCarsNo()); + waybillLogDTO.setType(1); + waybillLogDTO.setUserId(AuthUtil.getUserId()); + waybillLogDTO.setNickName(AuthUtil.getNickName()); + waybillTrackService.addSignWaybillLog(waybillLogDTO); + }); + + } catch (Exception e) { log.warn("###########存入日志失败"); } @@ -6267,6 +6331,15 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl signPhotoList = loadCarsDTO.getSignPhotoList(); List oldSignPhotoList = loadSignPhotoService.findBySignPhotoList(signOrderId); @@ -6286,27 +6359,72 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("sign_order_id",signOrderId) + String signStatus = signOrderEntity.getSignStatus(); + if(!"30".equals(signStatus)){ + //直发商家签收单 + signOrderEntity.setSignStatus("30"); + //处理零担的数据 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("sign_order_id",signOrderId) .eq("type",2) .eq("scan_status","3"); - List carsLoadScanEntityList = trunklineCarsLoadScanService.list(queryWrapper); - carsLoadScanEntityList.forEach(carsLoadScanEntity -> { - Integer num = carsLoadScanEntity.getNum(); - Integer unloadNum = carsLoadScanEntity.getUnloadNum(); - String orderCode = carsLoadScanEntity.getOrderCode(); - Long fromWarehouseId = carsLoadScanEntity.getFromWarehouseId(); - if(unloadNum != num){ - int diff = num - unloadNum; - DistributionStockArticleEntity stockArticle = distributionStockArticleClient.findZeroByOrderCodeAndWarehouseId(orderCode, fromWarehouseId); - distributionStockArticleClient.addHandQuantity(stockArticle.getId(), diff); + List carsLoadScanEntityList = trunklineCarsLoadScanService.list(queryWrapper); + carsLoadScanEntityList.forEach(carsLoadScanEntity -> { + Integer num = carsLoadScanEntity.getNum(); + Integer unloadNum = carsLoadScanEntity.getUnloadNum(); + String orderCode = carsLoadScanEntity.getOrderCode(); + Long fromWarehouseId = carsLoadScanEntity.getFromWarehouseId(); + if(unloadNum != num){ + int diff = num - unloadNum; + DistributionStockArticleEntity stockArticle = distributionStockArticleClient.findZeroByOrderCodeAndWarehouseId(orderCode, fromWarehouseId); + distributionStockArticleClient.addHandQuantity(stockArticle.getId(), diff); + } + }); + trunklineLoadSignOrderService.updateById(signOrderEntity); + + //签收单 + Long loadId = signOrderEntity.getLoadId(); + TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId); + + List waybillLogDTOList = new ArrayList<>(); + + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.eq("load_id",warehouseId) + .eq("sign_order_id",signOrderId) + .eq("scan_status","3"); + List signCarsLoadScanEntityList = trunklineCarsLoadScanService.list(queryWrapper1); + //把signCarsLoadScanEntityList中所有元素通过waybillNo进行分组 + Map> groupByWaybillNo = signCarsLoadScanEntityList.stream().filter(t -> !StringUtils.isEmpty(t.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getWaybillNo)); + groupByWaybillNo.keySet().forEach(waybillNo -> { + List ls = groupByWaybillNo.get(waybillNo); + //把ls中所有元素的unloadNum进行求和,为空用0代替 + Integer unloadNum = ls.stream().map(t -> t.getUnloadNum() == null ? 0 : t.getUnloadNum()).reduce(0, Integer::sum); + WaybillLogDTO waybillLogDTO = new WaybillLogDTO(); + waybillLogDTO.setWarehouseId(warehouseId); + waybillLogDTO.setWarehouseName(warehouseName); + waybillLogDTO.setWaybillNo(waybillNo); + waybillLogDTO.setTrainNumber(carsLoadEntity.getCarsNo()); + waybillLogDTO.setCarNumber(carsLoadEntity.getCarNumber()); + waybillLogDTO.setSignUser(AuthUtil.getNickName()); + waybillLogDTO.setSignTime(new Date()); + waybillLogDTO.setDriverName(carsLoadEntity.getDriverName()); + waybillLogDTO.setNum(unloadNum); + waybillLogDTO.setSignOrderCode(signOrderEntity.getLoadSignCode()); + waybillLogDTO.setType(2); + waybillLogDTO.setUserId(AuthUtil.getUserId()); + waybillLogDTO.setNickName(AuthUtil.getNickName()); + waybillLogDTOList.add(waybillLogDTO); + + }); + + if(CollUtil.isNotEmpty(waybillLogDTOList)){ + waybillLogDTOList.forEach(waybillLogDTO -> { + waybillTrackService.addSignWaybillLog(waybillLogDTO); + }); } - }); - trunklineLoadSignOrderService.updateById(signOrderEntity); + + } } return R.success("添加成功"); }