Browse Source

1.干线车辆配载装车优化

dist.1.2.0^2
zhenghaoyu 6 months ago
parent
commit
d704c6390b
  1. 35
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

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

@ -1734,6 +1734,38 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.data(zeroDetailVOList);
}
@Override
public R findZeroList(LoadCarsDTO loadCarsDTO) {
Long loadId = loadCarsDTO.getLoadId();
Long warehouseId = loadCarsDTO.getWarehouseId();
//查询已装车的零担
List<LoadZeroListVO> zeroList = trunklineCarsOrderService.findZeroList(loadId, warehouseId);
zeroList.forEach(loadZeroListVO -> {
String waybillNo = loadZeroListVO.getWaybillNo();
String orderCode = loadZeroListVO.getOrderCode();
List<GoodsLoadingNumVO> loadingNumVOList = scanZeroDetailService.findGoodsLoadingNum(loadId,warehouseId,waybillNo,orderCode);
//把loadingNumVOList转化成以goodsId作为key的Map
Map<Long, GoodsLoadingNumVO> map = loadingNumVOList.stream().collect(Collectors.toMap(GoodsLoadingNumVO::getGoodsId, Function.identity()));
List<JSONObject> zeroPackageList = distributionParcelListClient.findPackageGoodsListByWaybillNo(waybillNo);
List<ZeroPackageVO> ls = new ArrayList<>();
zeroPackageList.forEach(jsonObject -> {
ZeroPackageVO javaObject = jsonObject.toJavaObject(ZeroPackageVO.class);
Long goodsId = javaObject.getGoodsId();
GoodsLoadingNumVO goodsLoadingNumVO = map.get(goodsId);
if(Objects.isNull(goodsLoadingNumVO)){
javaObject.setLoadingNum(0);
}else{
javaObject.setLoadingNum(goodsLoadingNumVO.getLoadingNum());
}
ls.add(javaObject);
});
loadZeroListVO.setZeroPackageList(ls);
});
return R.data(zeroList);
}
@Transactional(rollbackFor = Exception.class)
@Override
@ -7968,7 +8000,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
//先判断包件是否在配载计划的装车扫描中
QueryWrapper<TrunklineCarsLoadScanEntity> loadScanQueryWrapper = new QueryWrapper<>();
loadScanQueryWrapper.eq("load_id", loadId)
.eq("scan_code", orderPackageCode);
.eq("scan_code", orderPackageCode)
.eq("scan_status", "1");
TrunklineCarsLoadScanEntity carsLoadScanEntity = trunklineCarsLoadScanService.getOne(loadScanQueryWrapper);
//判断是否有装车扫描记录
if (Objects.isNull(carsLoadScanEntity)) {

Loading…
Cancel
Save