|
@@ -3311,8 +3311,27 @@ public class KwtWaybillOrderV1Service {
|
|
|
Function.identity(), (x, y) -> x));
|
|
Function.identity(), (x, y) -> x));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //查询企业信息
|
|
|
|
|
+ List<KwtLogisticsOrderUnit> unitList = kwtLogisticsOrderUnitRepository.queryByLOrderId(logOrder.getId());
|
|
|
|
|
+ Map<String, KwtLogisticsOrderUnit> logisticsOrderUnitMap = Maps.newHashMap() ;
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(unitList)){
|
|
|
|
|
+ logisticsOrderUnitMap = unitList.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(x -> x.getLOrderId() + "-" + x.getUnitType(), Function.identity(), (x, y) -> x));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //查询轨迹
|
|
|
|
|
+ List<KwtWaybillOrderNode> kwtWaybillOrderNodes = waybillOrderNodeRepository.queryNodesByOrderId(billOrder.getId(), subtask.getId());
|
|
|
|
|
+ List<KwtWaybillOrderNode> nodeList = Lists.newArrayList() ;
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtWaybillOrderNodes)){
|
|
|
|
|
+ nodeList = kwtWaybillOrderNodes.stream()
|
|
|
|
|
+ .sorted(Comparator.comparing(KwtWaybillOrderNode::getCreateTime))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //查询用户
|
|
|
|
|
+ UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(subtask.getUnloadOperator());
|
|
|
return getWaybillOrderDetailResp( subtask,billOrder, logOrder, truck, fleet, goods,
|
|
return getWaybillOrderDetailResp( subtask,billOrder, logOrder, truck, fleet, goods,
|
|
|
- keyAndAddressMap,kwpGoods);
|
|
|
|
|
|
|
+ keyAndAddressMap,kwpGoods,logisticsOrderUnitMap,nodeList,userCacheResDto);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@NotNull
|
|
@NotNull
|
|
@@ -3322,7 +3341,10 @@ public class KwtWaybillOrderV1Service {
|
|
|
RTruckVo truck, RFleetVo fleet,
|
|
RTruckVo truck, RFleetVo fleet,
|
|
|
KwtLogisticsOrderGoods goods,
|
|
KwtLogisticsOrderGoods goods,
|
|
|
Map<String, KwtWaybillOrderAddress> keyAndAddressMap,
|
|
Map<String, KwtWaybillOrderAddress> keyAndAddressMap,
|
|
|
- KwpGoods kwpGoods ) {
|
|
|
|
|
|
|
+ KwpGoods kwpGoods,
|
|
|
|
|
+ Map<String, KwtLogisticsOrderUnit> logisticsOrderUnitMap,
|
|
|
|
|
+ List<KwtWaybillOrderNode> nodeList,
|
|
|
|
|
+ UserCacheResDto userCacheResDto) {
|
|
|
WaybillOrderDetailResp waybillOrderDetailResp = new WaybillOrderDetailResp();
|
|
WaybillOrderDetailResp waybillOrderDetailResp = new WaybillOrderDetailResp();
|
|
|
waybillOrderDetailResp.setWaybillOrderId(String.valueOf(billOrder.getId()));
|
|
waybillOrderDetailResp.setWaybillOrderId(String.valueOf(billOrder.getId()));
|
|
|
waybillOrderDetailResp.setWaybillOrderNo(billOrder.getWOrderNo());
|
|
waybillOrderDetailResp.setWaybillOrderNo(billOrder.getWOrderNo());
|
|
@@ -3350,6 +3372,23 @@ public class KwtWaybillOrderV1Service {
|
|
|
subtask.getLoadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
|
|
subtask.getLoadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
|
|
|
waybillOrderDetailResp.setUnloadAmount(Objects.nonNull(subtask.getUnloadAmount()) ?
|
|
waybillOrderDetailResp.setUnloadAmount(Objects.nonNull(subtask.getUnloadAmount()) ?
|
|
|
subtask.getUnloadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
|
|
subtask.getUnloadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
|
|
|
|
|
+
|
|
|
|
|
+ KwtLogisticsOrderUnit transEnt = logisticsOrderUnitMap.getOrDefault(logOrder.getId() + "-" + UnitTypeEnum.CONSIGN.getCode(), new KwtLogisticsOrderUnit());
|
|
|
|
|
+ KwtLogisticsOrderUnit carrierEnt = logisticsOrderUnitMap.getOrDefault(logOrder.getId() + "-" + UnitTypeEnum.CARRIAGE.getCode(), new KwtLogisticsOrderUnit());
|
|
|
|
|
+ waybillOrderDetailResp.setTransEntName(transEnt.getFirmName());
|
|
|
|
|
+ waybillOrderDetailResp.setCarrierEntName(carrierEnt.getFirmName());
|
|
|
|
|
+ List<WaybillOrderDetailResp.WeighingRecord> records = nodeList.stream().map(node -> {
|
|
|
|
|
+ WaybillOrderDetailResp.WeighingRecord weighingRecord = new WaybillOrderDetailResp.WeighingRecord();
|
|
|
|
|
+ weighingRecord.setWeighingTime(DateUtils.format(node.getCreateTime(), DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
+ weighingRecord.setWeighingDesc(node.getRemark());
|
|
|
|
|
+ return weighingRecord;
|
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
+ waybillOrderDetailResp.setWeighingRecords(records);
|
|
|
|
|
+ WaybillOrderDetailResp.BillInfo billInfo = new WaybillOrderDetailResp.BillInfo();
|
|
|
|
|
+ billInfo.setUploadByLabel(Objects.nonNull(userCacheResDto) ? userCacheResDto.getName() : "" );
|
|
|
|
|
+ billInfo.setUploadTime(DateUtils.format(subtask.getUnloadUploadTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
+ billInfo.setBillUrl(subtask.getUnloadUrl());
|
|
|
|
|
+ waybillOrderDetailResp.setBillInfo(billInfo);
|
|
|
return waybillOrderDetailResp;
|
|
return waybillOrderDetailResp;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -3371,11 +3410,20 @@ public class KwtWaybillOrderV1Service {
|
|
|
updateOrder.setId(billOrder.getId());
|
|
updateOrder.setId(billOrder.getId());
|
|
|
KwtWaybillOrderSubtask updateSubtask = new KwtWaybillOrderSubtask();
|
|
KwtWaybillOrderSubtask updateSubtask = new KwtWaybillOrderSubtask();
|
|
|
updateSubtask.setId(subtask.getId());
|
|
updateSubtask.setId(subtask.getId());
|
|
|
- KwtWaybillOrderTicket kwtWaybillOrderTicket = new KwtWaybillOrderTicket();
|
|
|
|
|
|
|
+ //KwtWaybillOrderTicket kwtWaybillOrderTicket = new KwtWaybillOrderTicket();
|
|
|
//单证审核 运单当前状态是已卸货,传入的订单是已完成
|
|
//单证审核 运单当前状态是已卸货,传入的订单是已完成
|
|
|
if (Objects.equals(status, CarWaybillV1Enum.WAIT_UNLOADING.getCode()) && Objects.equals(billOrder.getStatus(), CarWaybillV1Enum.COMPLETION_LOADING.getCode())){
|
|
if (Objects.equals(status, CarWaybillV1Enum.WAIT_UNLOADING.getCode()) && Objects.equals(billOrder.getStatus(), CarWaybillV1Enum.COMPLETION_LOADING.getCode())){
|
|
|
updateOrder.setStatus( status);
|
|
updateOrder.setStatus( status);
|
|
|
updateSubtask.setStatus(status);
|
|
updateSubtask.setStatus(status);
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getAddressUrl())){
|
|
|
|
|
+ subtask.setUnloadUrl(req.getAddressUrl());
|
|
|
|
|
+ }
|
|
|
|
|
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadUser())){
|
|
|
|
|
+ subtask.setUnloadOperator(Long.valueOf(req.getUploadUser()));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadTime())){
|
|
|
|
|
+ subtask.setUnloadUploadTime(DateUtils.parse(req.getUploadTime(), DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
+ }
|
|
|
boolean b = kwtWaybillOrderRepository.updateById(updateOrder) && kwtWaybillOrderSubtaskRepository.updateById(updateSubtask);
|
|
boolean b = kwtWaybillOrderRepository.updateById(updateOrder) && kwtWaybillOrderSubtaskRepository.updateById(updateSubtask);
|
|
|
//修改物流订单数据
|
|
//修改物流订单数据
|
|
|
KwtLogisticsOrder kwtLogistics= kwtLogisticsOrderRepository.queryByLogisticsOrderId(subtask.getLOrderId());
|
|
KwtLogisticsOrder kwtLogistics= kwtLogisticsOrderRepository.queryByLogisticsOrderId(subtask.getLOrderId());
|
|
@@ -3397,18 +3445,27 @@ public class KwtWaybillOrderV1Service {
|
|
|
updateOrder.setStatus(status);
|
|
updateOrder.setStatus(status);
|
|
|
updateSubtask.setStatus(status);
|
|
updateSubtask.setStatus(status);
|
|
|
updateSubtask.setUnloadAmount(Objects.nonNull(req.getUnloadAmount()) ? new BigDecimal(req.getUnloadAmount()) : null);
|
|
updateSubtask.setUnloadAmount(Objects.nonNull(req.getUnloadAmount()) ? new BigDecimal(req.getUnloadAmount()) : null);
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getAddressUrl())){
|
|
|
|
|
+ subtask.setUnloadUrl(req.getAddressUrl());
|
|
|
|
|
+ }
|
|
|
|
|
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadUser())){
|
|
|
|
|
+ subtask.setUnloadOperator(Long.valueOf(req.getUploadUser()));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadTime())){
|
|
|
|
|
+ subtask.setUnloadUploadTime(DateUtils.parse(req.getUploadTime(), DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
+ }
|
|
|
boolean b = kwtWaybillOrderRepository.updateById(updateOrder) && kwtWaybillOrderSubtaskRepository.updateById(updateSubtask);
|
|
boolean b = kwtWaybillOrderRepository.updateById(updateOrder) && kwtWaybillOrderSubtaskRepository.updateById(updateSubtask);
|
|
|
- kwtWaybillOrderTicket.setWOrderId(waybillId);
|
|
|
|
|
- kwtWaybillOrderTicket.setUrls(req.getAddressUrl());
|
|
|
|
|
- kwtWaybillOrderTicket.setUploadingTime(new Date());
|
|
|
|
|
- Boolean b1 = kwtWaybillOrderTicketRepository.updateByBillOrderIdAndType(kwtWaybillOrderTicket, 2);
|
|
|
|
|
|
|
+// kwtWaybillOrderTicket.setWOrderId(waybillId);
|
|
|
|
|
+// kwtWaybillOrderTicket.setUrls(req.getAddressUrl());
|
|
|
|
|
+// kwtWaybillOrderTicket.setUploadingTime(new Date());
|
|
|
|
|
+// Boolean b1 = kwtWaybillOrderTicketRepository.updateByBillOrderIdAndType(kwtWaybillOrderTicket, 2);
|
|
|
// 存储记录
|
|
// 存储记录
|
|
|
Long currentRoleId = LoginUserHolder.getCurrentRoleId();
|
|
Long currentRoleId = LoginUserHolder.getCurrentRoleId();
|
|
|
KwsRoleDto kwsRoleDto = remoteSystemService.queryByRoleIdAndEntId(currentRoleId);
|
|
KwsRoleDto kwsRoleDto = remoteSystemService.queryByRoleIdAndEntId(currentRoleId);
|
|
|
String roleName = Objects.nonNull(kwsRoleDto) ? kwsRoleDto.getName() : "";
|
|
String roleName = Objects.nonNull(kwsRoleDto) ? kwsRoleDto.getName() : "";
|
|
|
String remark = "供应方,【"+roleName+"】【"+LoginUserHolder.getUserName()+"】已审核单证";
|
|
String remark = "供应方,【"+roleName+"】【"+LoginUserHolder.getUserName()+"】已审核单证";
|
|
|
saveNode(billOrder, subtask, status,remark);
|
|
saveNode(billOrder, subtask, status,remark);
|
|
|
- if (!b || !b1){
|
|
|
|
|
|
|
+ if (!b ){
|
|
|
throw new BusinessException("完整单证失败");
|
|
throw new BusinessException("完整单证失败");
|
|
|
}
|
|
}
|
|
|
return Boolean.TRUE;
|
|
return Boolean.TRUE;
|