|
|
|
@ -121,6 +121,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
|
|
|
|
|
private final ITrunklineWaybillPackageService waybillPackageService; |
|
|
|
|
private final ITrunklinePackageTrackLogClient packageTrackLogClient; |
|
|
|
|
private final IAftersalesWorkOrderClient aftersalesWorkOrderClient; |
|
|
|
|
private final ITrunklineWaybillTrackService waybillTrackService; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<TrunklineCarsLoadVO> loadCarsPageList(LoadCarsDTO loadCarsDTO) { |
|
|
|
@ -5606,10 +5607,14 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
|
|
|
|
|
|
|
|
|
|
List<String> orderPackageCodes = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
List<WaybillLogDTO> waybillLogDTOList = new ArrayList<>(); |
|
|
|
|
Set<Long> loadIds = new HashSet<>(); |
|
|
|
|
//把list通过signOrderId进行分组
|
|
|
|
|
Map<Long, List<TrunklineCarsLoadScanVO>> 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<TrunklineCarsLoadScanVO> trunklineCarsLoadScanVOS = map.get(e);//该签收单对应的包件
|
|
|
|
|
trunklineCarsLoadScanVOS.forEach(t -> { |
|
|
|
|
TrunklineCarsLoadScanEntity entity = new TrunklineCarsLoadScanEntity(); |
|
|
|
@ -5636,6 +5641,31 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
|
|
|
|
|
updateCarsLoadScanList.add(entity); |
|
|
|
|
loadIds.add(entity.getLoadId()); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
//把trunklineCarsLoadScanVOS中所有元素通过waybillNo进行分组
|
|
|
|
|
// Map<String, List<TrunklineCarsLoadScanVO>> map1 = trunklineCarsLoadScanVOS.stream().filter(e -> !Objects.isNull(e.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsLoadScanVO::getWaybillNo));
|
|
|
|
|
// map1.keySet().forEach(waybillNo -> {
|
|
|
|
|
// List<TrunklineCarsLoadScanVO> 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<TrunklineCarsL
|
|
|
|
|
try { |
|
|
|
|
String content = "包件在 " + warehouseName + "直发商家签收"; |
|
|
|
|
packageTrackLogAsyncService.addPackageTrackLog(AuthUtil.getTenantId(), AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()), AuthUtil.getNickName(), orderPackageCodes, warehouseId, warehouseName, WorkNodeEnums.SIGN_DIRECT_SHIPPER.getCode(), content); |
|
|
|
|
|
|
|
|
|
if(CollUtil.isNotEmpty(waybillLogDTOList)){ |
|
|
|
|
waybillLogDTOList.forEach(waybillLogDTO -> { |
|
|
|
|
waybillTrackService.addSignWaybillLog(waybillLogDTO); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.warn("###########存入日志信息失败"); |
|
|
|
|
} |
|
|
|
@ -5679,7 +5716,6 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
|
|
|
|
|
factoryDataMessageSender.sendNodeDataByBrand(msg); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("推送签收数据给工厂失败 {}", e); |
|
|
|
|
} |
|
|
|
@ -5994,6 +6030,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
|
|
|
|
|
return R.fail(405, "仓库信息不存在"); |
|
|
|
|
} |
|
|
|
|
Date date = new Date(); |
|
|
|
|
String warehouseName = warehouseEntity.getName(); |
|
|
|
|
|
|
|
|
|
trunklineCarsLoadScanService.updateScanStatusAndTime(loadScanIds, "3", new Date(),AuthUtil.getNickName(),warehouseId,warehouseEntity.getName()); |
|
|
|
|
|
|
|
|
@ -6019,6 +6056,33 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
|
|
|
|
|
try { |
|
|
|
|
String content = "包件在" + warehouseEntity.getName() + "被三方中转签收"; |
|
|
|
|
packageTrackLogAsyncService.addPackageTrackLog(AuthUtil.getTenantId(), AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()), AuthUtil.getNickName(), orderPackageCodes, warehouseId, warehouseEntity.getName(), WorkNodeEnums.SIGN_TRIPARTITE_TRANSFER_DEPART.getCode(), content); |
|
|
|
|
|
|
|
|
|
List<TrunklineCarsLoadScanEntity> trunklineCarsLoadScanEntities = trunklineCarsLoadScanService.listByIds(loadScanIds); |
|
|
|
|
//把trunklineCarsLoadScanEntities中的所有元素按照waybillNo进行分组
|
|
|
|
|
Map<String, List<TrunklineCarsLoadScanEntity>> map = trunklineCarsLoadScanEntities.stream().filter(t -> Objects.nonNull(t.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getWaybillNo)); |
|
|
|
|
map.keySet().forEach(waybillNo -> { |
|
|
|
|
List<TrunklineCarsLoadScanEntity> 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<TrunklineCarsL
|
|
|
|
|
public R uploadSignPhoto(LoadCarsDTO loadCarsDTO) { |
|
|
|
|
Long signOrderId = loadCarsDTO.getSignOrderId(); |
|
|
|
|
Long warehouseId = loadCarsDTO.getWarehouseId(); |
|
|
|
|
|
|
|
|
|
BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(warehouseId); |
|
|
|
|
if(Objects.isNull(warehouseEntity)){ |
|
|
|
|
log.warn("###############uploadSignPhoto: 仓库信息不存在 warehouseId={}",warehouseId); |
|
|
|
|
return R.fail(405,"仓库信息不存在"); |
|
|
|
|
} |
|
|
|
|
String warehouseName = warehouseEntity.getName(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<TrunklineLoadSignPhotoEntity> signPhotoList = loadCarsDTO.getSignPhotoList(); |
|
|
|
|
List<TrunklineLoadSignPhotoEntity> oldSignPhotoList = loadSignPhotoService.findBySignPhotoList(signOrderId); |
|
|
|
|
|
|
|
|
@ -6286,6 +6359,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
String signStatus = signOrderEntity.getSignStatus(); |
|
|
|
|
if(!"30".equals(signStatus)){ |
|
|
|
|
//直发商家签收单
|
|
|
|
|
signOrderEntity.setSignStatus("30"); |
|
|
|
|
//处理零担的数据
|
|
|
|
@ -6307,6 +6382,49 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
trunklineLoadSignOrderService.updateById(signOrderEntity); |
|
|
|
|
|
|
|
|
|
//签收单
|
|
|
|
|
Long loadId = signOrderEntity.getLoadId(); |
|
|
|
|
TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId); |
|
|
|
|
|
|
|
|
|
List<WaybillLogDTO> waybillLogDTOList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
QueryWrapper<TrunklineCarsLoadScanEntity> queryWrapper1 = new QueryWrapper<>(); |
|
|
|
|
queryWrapper1.eq("load_id",warehouseId) |
|
|
|
|
.eq("sign_order_id",signOrderId) |
|
|
|
|
.eq("scan_status","3"); |
|
|
|
|
List<TrunklineCarsLoadScanEntity> signCarsLoadScanEntityList = trunklineCarsLoadScanService.list(queryWrapper1); |
|
|
|
|
//把signCarsLoadScanEntityList中所有元素通过waybillNo进行分组
|
|
|
|
|
Map<String, List<TrunklineCarsLoadScanEntity>> groupByWaybillNo = signCarsLoadScanEntityList.stream().filter(t -> !StringUtils.isEmpty(t.getWaybillNo())).collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getWaybillNo)); |
|
|
|
|
groupByWaybillNo.keySet().forEach(waybillNo -> { |
|
|
|
|
List<TrunklineCarsLoadScanEntity> 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); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return R.success("添加成功"); |
|
|
|
|
} |
|
|
|
|