|
@@ -30,6 +30,7 @@ import com.sckw.fleet.api.RemoteFleetService;
|
|
|
import com.sckw.fleet.api.model.vo.*;
|
|
import com.sckw.fleet.api.model.vo.*;
|
|
|
import com.sckw.mongo.model.SckwWaybillOrder;
|
|
import com.sckw.mongo.model.SckwWaybillOrder;
|
|
|
import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
|
|
|
+import com.sckw.order.api.model.TradeOrderSettlePara;
|
|
|
import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
|
import com.sckw.product.api.model.KwpGoods;
|
|
import com.sckw.product.api.model.KwpGoods;
|
|
|
import com.sckw.stream.enums.MessageEnum;
|
|
import com.sckw.stream.enums.MessageEnum;
|
|
@@ -3108,6 +3109,14 @@ public class KwtWaybillOrderV1Service {
|
|
|
logOrderIds.add(Long.parseLong(req.getLogisticsOrderId()));
|
|
logOrderIds.add(Long.parseLong(req.getLogisticsOrderId()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(req.getBillingMethod() )){
|
|
|
|
|
+ List<KwtLogisticsOrder> kwtLogisticsOrder = logisticsOrderRepository.queryByBillMethod(req.getBillingMethod());
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtLogisticsOrder)){
|
|
|
|
|
+ logOrderIds.addAll(kwtLogisticsOrder.stream()
|
|
|
|
|
+ .map(KwtLogisticsOrder::getId)
|
|
|
|
|
+ .collect(Collectors.toSet()));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (StringUtils.isNotBlank(req.getLogisticsOrderNo()) && StringUtils.isBlank(req.getLogisticsOrderId())){
|
|
if (StringUtils.isNotBlank(req.getLogisticsOrderNo()) && StringUtils.isBlank(req.getLogisticsOrderId())){
|
|
|
KwtLogisticsOrder kwtLogisticsOrder = logisticsOrderRepository.queryByLogisticsOrderNo(req.getLogisticsOrderNo());
|
|
KwtLogisticsOrder kwtLogisticsOrder = logisticsOrderRepository.queryByLogisticsOrderNo(req.getLogisticsOrderNo());
|
|
|
if (Objects.nonNull(kwtLogisticsOrder)){
|
|
if (Objects.nonNull(kwtLogisticsOrder)){
|
|
@@ -3324,14 +3333,27 @@ public class KwtWaybillOrderV1Service {
|
|
|
List<KwtWaybillOrderNode> nodeList = Lists.newArrayList() ;
|
|
List<KwtWaybillOrderNode> nodeList = Lists.newArrayList() ;
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtWaybillOrderNodes)){
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtWaybillOrderNodes)){
|
|
|
nodeList = kwtWaybillOrderNodes.stream()
|
|
nodeList = kwtWaybillOrderNodes.stream()
|
|
|
|
|
+ .filter(x->Objects.nonNull(x.getWeighbridgeId()))
|
|
|
.sorted(Comparator.comparing(KwtWaybillOrderNode::getCreateTime))
|
|
.sorted(Comparator.comparing(KwtWaybillOrderNode::getCreateTime))
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//查询用户
|
|
//查询用户
|
|
|
UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(subtask.getUnloadOperator());
|
|
UserCacheResDto userCacheResDto = remoteSystemService.queryUserCacheById(subtask.getUnloadOperator());
|
|
|
|
|
+ //根据物流订单查询运单号
|
|
|
|
|
+ List<KwtWaybillOrderSubtask> waybillOrderSubtasks = kwtWaybillOrderSubtaskRepository.queryByLogId(logOrder.getId());
|
|
|
|
|
+ List<KwtWaybillOrder> billOrders = Lists.newArrayList() ;
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(waybillOrderSubtasks)){
|
|
|
|
|
+ Set<Long> billOrderIds = waybillOrderSubtasks.stream()
|
|
|
|
|
+ .map(KwtWaybillOrderSubtask::getWOrderId)
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(billOrderIds)){
|
|
|
|
|
+ billOrders = kwtWaybillOrderRepository.queryByBillOrderIds(billOrderIds);
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return getWaybillOrderDetailResp( subtask,billOrder, logOrder, truck, fleet, goods,
|
|
return getWaybillOrderDetailResp( subtask,billOrder, logOrder, truck, fleet, goods,
|
|
|
- keyAndAddressMap,kwpGoods,logisticsOrderUnitMap,nodeList,userCacheResDto);
|
|
|
|
|
|
|
+ keyAndAddressMap,kwpGoods,logisticsOrderUnitMap,nodeList,userCacheResDto,billOrders);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@NotNull
|
|
@NotNull
|
|
@@ -3344,7 +3366,8 @@ public class KwtWaybillOrderV1Service {
|
|
|
KwpGoods kwpGoods,
|
|
KwpGoods kwpGoods,
|
|
|
Map<String, KwtLogisticsOrderUnit> logisticsOrderUnitMap,
|
|
Map<String, KwtLogisticsOrderUnit> logisticsOrderUnitMap,
|
|
|
List<KwtWaybillOrderNode> nodeList,
|
|
List<KwtWaybillOrderNode> nodeList,
|
|
|
- UserCacheResDto userCacheResDto) {
|
|
|
|
|
|
|
+ UserCacheResDto userCacheResDto,
|
|
|
|
|
+ List<KwtWaybillOrder> billOrders) {
|
|
|
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());
|
|
@@ -3377,18 +3400,29 @@ public class KwtWaybillOrderV1Service {
|
|
|
KwtLogisticsOrderUnit carrierEnt = logisticsOrderUnitMap.getOrDefault(logOrder.getId() + "-" + UnitTypeEnum.CARRIAGE.getCode(), new KwtLogisticsOrderUnit());
|
|
KwtLogisticsOrderUnit carrierEnt = logisticsOrderUnitMap.getOrDefault(logOrder.getId() + "-" + UnitTypeEnum.CARRIAGE.getCode(), new KwtLogisticsOrderUnit());
|
|
|
waybillOrderDetailResp.setTransEntName(transEnt.getFirmName());
|
|
waybillOrderDetailResp.setTransEntName(transEnt.getFirmName());
|
|
|
waybillOrderDetailResp.setCarrierEntName(carrierEnt.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);
|
|
|
|
|
|
|
+ if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(nodeList)){
|
|
|
|
|
+ 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());
|
|
|
|
|
+ weighingRecord.setWeighingName(node.getWeighbridgeName());
|
|
|
|
|
+ weighingRecord.setWeighingImgUrl(node.getWeighUrl()) ;
|
|
|
|
|
+ return weighingRecord;
|
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
+ waybillOrderDetailResp.setWeighingRecords(records);
|
|
|
|
|
+ }
|
|
|
WaybillOrderDetailResp.BillInfo billInfo = new WaybillOrderDetailResp.BillInfo();
|
|
WaybillOrderDetailResp.BillInfo billInfo = new WaybillOrderDetailResp.BillInfo();
|
|
|
billInfo.setUploadByLabel(Objects.nonNull(userCacheResDto) ? userCacheResDto.getName() : "" );
|
|
billInfo.setUploadByLabel(Objects.nonNull(userCacheResDto) ? userCacheResDto.getName() : "" );
|
|
|
billInfo.setUploadTime(DateUtils.format(subtask.getUnloadUploadTime(),DateUtils.DATE_TIME_PATTERN));
|
|
billInfo.setUploadTime(DateUtils.format(subtask.getUnloadUploadTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
billInfo.setBillUrl(subtask.getUnloadUrl());
|
|
billInfo.setBillUrl(subtask.getUnloadUrl());
|
|
|
waybillOrderDetailResp.setBillInfo(billInfo);
|
|
waybillOrderDetailResp.setBillInfo(billInfo);
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(billOrders)){
|
|
|
|
|
+ List<Long> billOrderIdList = billOrders.stream()
|
|
|
|
|
+ .filter(b -> Objects.equals(b.getStatus(), CarWaybillV1Enum.COMPLETION_LOADING.getCode()) && !Objects.equals(b.getId(),billOrder.getId()))
|
|
|
|
|
+ .map(KwtWaybillOrder::getId)
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ waybillOrderDetailResp.setBillOrderIdList(billOrderIdList);
|
|
|
|
|
+ }
|
|
|
return waybillOrderDetailResp;
|
|
return waybillOrderDetailResp;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -3412,17 +3446,21 @@ public class KwtWaybillOrderV1Service {
|
|
|
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())){
|
|
|
|
|
|
|
+ List<Integer> statusList = Arrays.asList(CarWaybillV1Enum.WAIT_UNLOADING.getCode(), CarWaybillV1Enum.COMPLETION_UNLOADING.getCode());
|
|
|
|
|
+ if (statusList.contains( status) && Objects.equals(billOrder.getStatus(), CarWaybillV1Enum.COMPLETION_LOADING.getCode())){
|
|
|
updateOrder.setStatus( status);
|
|
updateOrder.setStatus( status);
|
|
|
|
|
+ updateOrder.setRemark(req.getRemark());
|
|
|
updateSubtask.setStatus(status);
|
|
updateSubtask.setStatus(status);
|
|
|
|
|
+ updateSubtask.setRemark(req.getRemark());
|
|
|
|
|
+ updateSubtask.setUnloadAmount(org.apache.commons.lang3.StringUtils.isBlank(req.getUnloadAmount()) ? null : new BigDecimal(req.getUnloadAmount()));
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getAddressUrl())){
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getAddressUrl())){
|
|
|
- subtask.setUnloadUrl(req.getAddressUrl());
|
|
|
|
|
|
|
+ updateSubtask.setUnloadUrl(req.getAddressUrl());
|
|
|
}
|
|
}
|
|
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadUser())){
|
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadUser())){
|
|
|
- subtask.setUnloadOperator(Long.valueOf(req.getUploadUser()));
|
|
|
|
|
|
|
+ updateSubtask.setUnloadOperator(Long.valueOf(req.getUploadUser()));
|
|
|
}
|
|
}
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadTime())){
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadTime())){
|
|
|
- subtask.setUnloadUploadTime(DateUtils.parse(req.getUploadTime(), DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
|
+ updateSubtask.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);
|
|
|
//修改物流订单数据
|
|
//修改物流订单数据
|
|
@@ -3430,8 +3468,17 @@ public class KwtWaybillOrderV1Service {
|
|
|
//获取更新 订单状态
|
|
//获取更新 订单状态
|
|
|
KwtLogisticsOrder kwtLogisticsOrder = getKwtLogisticsOrder(kwtLogistics, subtask);
|
|
KwtLogisticsOrder kwtLogisticsOrder = getKwtLogisticsOrder(kwtLogistics, subtask);
|
|
|
boolean b1 = kwtLogisticsOrderRepository.updateById(kwtLogisticsOrder);
|
|
boolean b1 = kwtLogisticsOrderRepository.updateById(kwtLogisticsOrder);
|
|
|
|
|
+ //如果物流订单状态是已完成需要通知贸易订单完成
|
|
|
|
|
+ noticeTraderOrder(kwtLogisticsOrder, kwtLogistics);
|
|
|
|
|
+
|
|
|
// 存储记录
|
|
// 存储记录
|
|
|
- String remark = "审核通过,运单【"+ billOrder.getWOrderNo() + "】已完成";
|
|
|
|
|
|
|
+ String remark = null;
|
|
|
|
|
+ if (Objects.equals(status, CarWaybillV1Enum.COMPLETION_UNLOADING.getCode())){
|
|
|
|
|
+ remark = "审核驳回,运单【"+ billOrder.getWOrderNo() + "】已驳回";
|
|
|
|
|
+ }else {
|
|
|
|
|
+ remark = "审核通过,运单【"+ billOrder.getWOrderNo() + "】已完成";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
saveNode(billOrder, subtask, status,remark);
|
|
saveNode(billOrder, subtask, status,remark);
|
|
|
if (!b || !b1){
|
|
if (!b || !b1){
|
|
|
throw new BusinessException("审核运单失败");
|
|
throw new BusinessException("审核运单失败");
|
|
@@ -3443,16 +3490,18 @@ public class KwtWaybillOrderV1Service {
|
|
|
if (Objects.equals(billOrder.getStatus(), CarWaybillV1Enum.COMPLETION_UNLOADING.getCode()) && Objects.equals(status,
|
|
if (Objects.equals(billOrder.getStatus(), CarWaybillV1Enum.COMPLETION_UNLOADING.getCode()) && Objects.equals(status,
|
|
|
CarWaybillV1Enum.WAIT_UNLOADING.getCode())){
|
|
CarWaybillV1Enum.WAIT_UNLOADING.getCode())){
|
|
|
updateOrder.setStatus(status);
|
|
updateOrder.setStatus(status);
|
|
|
|
|
+ updateOrder.setRemark(req.getRemark());
|
|
|
updateSubtask.setStatus(status);
|
|
updateSubtask.setStatus(status);
|
|
|
- updateSubtask.setUnloadAmount(Objects.nonNull(req.getUnloadAmount()) ? new BigDecimal(req.getUnloadAmount()) : null);
|
|
|
|
|
|
|
+ updateSubtask.setRemark(req.getRemark());
|
|
|
|
|
+ updateSubtask.setUnloadAmount(org.apache.commons.lang3.StringUtils.isNotBlank(req.getUnloadAmount()) ? new BigDecimal(req.getUnloadAmount()) : null);
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getAddressUrl())){
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getAddressUrl())){
|
|
|
- subtask.setUnloadUrl(req.getAddressUrl());
|
|
|
|
|
|
|
+ updateSubtask.setUnloadUrl(req.getAddressUrl());
|
|
|
}
|
|
}
|
|
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadUser())){
|
|
if(org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadUser())){
|
|
|
- subtask.setUnloadOperator(Long.valueOf(req.getUploadUser()));
|
|
|
|
|
|
|
+ updateSubtask.setUnloadOperator(Long.valueOf(req.getUploadUser()));
|
|
|
}
|
|
}
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadTime())){
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getUploadTime())){
|
|
|
- subtask.setUnloadUploadTime(DateUtils.parse(req.getUploadTime(), DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
|
|
+ updateSubtask.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.setWOrderId(waybillId);
|
|
@@ -3466,27 +3515,72 @@ public class KwtWaybillOrderV1Service {
|
|
|
String remark = "供应方,【"+roleName+"】【"+LoginUserHolder.getUserName()+"】已审核单证";
|
|
String remark = "供应方,【"+roleName+"】【"+LoginUserHolder.getUserName()+"】已审核单证";
|
|
|
saveNode(billOrder, subtask, status,remark);
|
|
saveNode(billOrder, subtask, status,remark);
|
|
|
if (!b ){
|
|
if (!b ){
|
|
|
- throw new BusinessException("完整单证失败");
|
|
|
|
|
|
|
+ throw new BusinessException("完善单证失败");
|
|
|
}
|
|
}
|
|
|
return Boolean.TRUE;
|
|
return Boolean.TRUE;
|
|
|
}
|
|
}
|
|
|
return Boolean.FALSE;
|
|
return Boolean.FALSE;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private void noticeTraderOrder(KwtLogisticsOrder kwtLogisticsOrder, KwtLogisticsOrder kwtLogistics) {
|
|
|
|
|
+
|
|
|
|
|
+ if (!Objects.equals(kwtLogisticsOrder.getStatus(),LogisticsOrderV1Enum.HAVE_RECONCILED.getCode())){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 根据贸易订单id查询物理订单
|
|
|
|
|
+ List<KwtLogisticsOrder> kwtLogisticsOrders = kwtLogisticsOrderRepository.queryByTradeOrderId(kwtLogisticsOrder.getTOrderId());
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwtLogisticsOrders)){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ //判断所有的物流订单都都已经完成
|
|
|
|
|
+ boolean b = kwtLogisticsOrders.stream()
|
|
|
|
|
+ .allMatch(x -> Arrays.asList(LogisticsOrderV1Enum.HAVE_RECONCILED.getCode(), LogisticsOrderV1Enum.REJECT_ORDER.getCode()).contains(x.getStatus()));
|
|
|
|
|
+ if (!b){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ TradeOrderSettlePara tradeOrderSettlePara = new TradeOrderSettlePara();
|
|
|
|
|
+ tradeOrderSettlePara.setTOrderId(kwtLogistics.getTOrderId());
|
|
|
|
|
+ BigDecimal loadAmount = kwtLogisticsOrders.stream()
|
|
|
|
|
+ .map(KwtLogisticsOrder::getLoadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ BigDecimal unloadAmount = kwtLogisticsOrders.stream()
|
|
|
|
|
+ .map(KwtLogisticsOrder::getUnloadAmount)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ tradeOrderSettlePara.setLoadAmount(loadAmount);
|
|
|
|
|
+ tradeOrderSettlePara.setUnloadAmount(unloadAmount);
|
|
|
|
|
+ log.info("运单审核通过修改贸易订单状态请求参数:{}",JSON.toJSONString(tradeOrderSettlePara));
|
|
|
|
|
+ tradeOrderInfoService.orderSettle(tradeOrderSettlePara);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private void saveNode(KwtWaybillOrder billOrder, KwtWaybillOrderSubtask subtask, Integer status,String remark) {
|
|
private void saveNode(KwtWaybillOrder billOrder, KwtWaybillOrderSubtask subtask, Integer status,String remark) {
|
|
|
KwtWaybillOrderNode kwtWaybillOrderNode = new KwtWaybillOrderNode();
|
|
KwtWaybillOrderNode kwtWaybillOrderNode = new KwtWaybillOrderNode();
|
|
|
|
|
+ kwtWaybillOrderNode.setTruckId(billOrder.getTruckId());
|
|
|
|
|
+ kwtWaybillOrderNode.setTruckNo(billOrder.getTruckNo());
|
|
|
|
|
+ kwtWaybillOrderNode.setDriverId(billOrder.getDriverId());
|
|
|
|
|
+ kwtWaybillOrderNode.setDriverName(billOrder.getDriverName());
|
|
|
|
|
+
|
|
|
kwtWaybillOrderNode.setWOrderId(billOrder.getId());
|
|
kwtWaybillOrderNode.setWOrderId(billOrder.getId());
|
|
|
kwtWaybillOrderNode.setWSubtaskId(subtask.getId());
|
|
kwtWaybillOrderNode.setWSubtaskId(subtask.getId());
|
|
|
kwtWaybillOrderNode.setOrderStatus(status);
|
|
kwtWaybillOrderNode.setOrderStatus(status);
|
|
|
kwtWaybillOrderNode.setRemark(remark);
|
|
kwtWaybillOrderNode.setRemark(remark);
|
|
|
|
|
+ kwtWaybillOrderNode.setCreateBy(LoginUserHolder.getUserId());
|
|
|
|
|
+ kwtWaybillOrderNode.setTruckId(billOrder.getTruckId());
|
|
|
waybillOrderNodeRepository.save(kwtWaybillOrderNode);
|
|
waybillOrderNodeRepository.save(kwtWaybillOrderNode);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@NotNull
|
|
@NotNull
|
|
|
- private static KwtLogisticsOrder getKwtLogisticsOrder(KwtLogisticsOrder kwtLogistics, KwtWaybillOrderSubtask subtask) {
|
|
|
|
|
|
|
+ private KwtLogisticsOrder getKwtLogisticsOrder(KwtLogisticsOrder kwtLogistics, KwtWaybillOrderSubtask subtask) {
|
|
|
if (Objects.isNull(kwtLogistics)){
|
|
if (Objects.isNull(kwtLogistics)){
|
|
|
throw new BusinessException("物流订单信息不存在");
|
|
throw new BusinessException("物流订单信息不存在");
|
|
|
}
|
|
}
|
|
|
|
|
+ //调物流订单完结订单
|
|
|
|
|
+ List<KwtWaybillOrderSubtask> waybillOrderSubtasks = kwtWaybillOrderSubtaskRepository.queryByLogId(subtask.getLOrderId());
|
|
|
|
|
+ boolean b2 = waybillOrderSubtasks.stream()
|
|
|
|
|
+ .allMatch(x -> Arrays.asList(CarWaybillV1Enum.WAIT_UNLOADING.getCode(), CarWaybillV1Enum.APPROVAL_TREAT.getCode()).contains(x.getStatus()));
|
|
|
|
|
+ // KwtLogisticsOrder logisticsOrder = kwtLogisticsOrderRepository.queryByLogisticsOrderId(subtask.getLOrderId());
|
|
|
|
|
+
|
|
|
BigDecimal entrustAmount = Objects.isNull(kwtLogistics.getEntrustAmount()) ? BigDecimal.ZERO: kwtLogistics.getEntrustAmount();
|
|
BigDecimal entrustAmount = Objects.isNull(kwtLogistics.getEntrustAmount()) ? BigDecimal.ZERO: kwtLogistics.getEntrustAmount();
|
|
|
BigDecimal subEntrustAmount = Objects.isNull(subtask.getEntrustAmount()) ? BigDecimal.ZERO: subtask.getEntrustAmount();
|
|
BigDecimal subEntrustAmount = Objects.isNull(subtask.getEntrustAmount()) ? BigDecimal.ZERO: subtask.getEntrustAmount();
|
|
|
BigDecimal loadAmount = Objects.isNull(kwtLogistics.getLoadAmount()) ? BigDecimal.ZERO: kwtLogistics.getLoadAmount();
|
|
BigDecimal loadAmount = Objects.isNull(kwtLogistics.getLoadAmount()) ? BigDecimal.ZERO: kwtLogistics.getLoadAmount();
|
|
@@ -3500,6 +3594,10 @@ public class KwtWaybillOrderV1Service {
|
|
|
kwtLogisticsOrder.setEntrustAmount(entrustAmount.add(subEntrustAmount));
|
|
kwtLogisticsOrder.setEntrustAmount(entrustAmount.add(subEntrustAmount));
|
|
|
kwtLogisticsOrder.setLoadAmount(loadAmount.add(subLoadAmount));
|
|
kwtLogisticsOrder.setLoadAmount(loadAmount.add(subLoadAmount));
|
|
|
kwtLogisticsOrder.setUnloadAmount(unloadAmount.add(subUnloadAmount));
|
|
kwtLogisticsOrder.setUnloadAmount(unloadAmount.add(subUnloadAmount));
|
|
|
|
|
+ if (b2){
|
|
|
|
|
+ //调物流订单完结订单
|
|
|
|
|
+ kwtLogisticsOrder.setStatus(LogisticsOrderV1Enum.HAVE_RECONCILED.getCode());
|
|
|
|
|
+ }
|
|
|
return kwtLogisticsOrder;
|
|
return kwtLogisticsOrder;
|
|
|
}
|
|
}
|
|
|
|
|
|