|
|
@@ -3627,7 +3627,18 @@ public class KwtWaybillOrderV1Service {
|
|
|
return Collections.emptySet();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ // 如果指定了贸易订单号,根据贸易订单号查询
|
|
|
+ if (StringUtils.isNotBlank(req.getTradeOrderNo())) {
|
|
|
+ Set<Long> orderIdsByTradeOrderNo = getLogOrderIdsByTradeOrderNo(req.getTradeOrderNo());
|
|
|
+ log.debug("根据贸易订单号查询到ID数量: {}", orderIdsByTradeOrderNo.size());
|
|
|
+ if (CollectionUtils.isNotEmpty(orderIdsByTradeOrderNo)) {
|
|
|
+ intersectLogOrderIds(logOrderIds, orderIdsByTradeOrderNo);
|
|
|
+ log.debug("贸易订单号查询后,当前物流订单ID数量: {}", logOrderIds.size());
|
|
|
+ } else {
|
|
|
+ log.debug("根据贸易订单号未查询到数据,返回空集合");
|
|
|
+ return Collections.emptySet();
|
|
|
+ }
|
|
|
+ }
|
|
|
// 如果指定了结算方式,根据结算方式查询
|
|
|
if (StringUtils.isNotBlank(req.getBillingMethod())) {
|
|
|
Set<Long> orderIdsByBilling = getLogOrderIdsByBillingMethod(req.getBillingMethod());
|
|
|
@@ -3897,7 +3908,19 @@ public class KwtWaybillOrderV1Service {
|
|
|
orderIds.add(logisticsOrder.getId());
|
|
|
return orderIds;
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 根据贸易订单号获取物流订单ID集合
|
|
|
+ */
|
|
|
+ private Set<Long> getLogOrderIdsByTradeOrderNo(String tradeOrderNo) {
|
|
|
+ List<KwtLogisticsOrder> logisticsOrders = logisticsOrderRepository.queryTradeOrderNo(tradeOrderNo);
|
|
|
+ if (CollectionUtils.isEmpty(logisticsOrders)) {
|
|
|
+ return Collections.emptySet();
|
|
|
+ }
|
|
|
|
|
|
+ return logisticsOrders.stream()
|
|
|
+ .map(KwtLogisticsOrder::getId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ }
|
|
|
/**
|
|
|
* 根据结算方式获取物流订单ID集合
|
|
|
*/
|
|
|
@@ -4574,6 +4597,11 @@ public class KwtWaybillOrderV1Service {
|
|
|
contractGoodsDto.getPrice().multiply(subtask.getLoadAmount()) : BigDecimal.ZERO;
|
|
|
resp.setActualPrice(actualPrice.setScale(2, RoundingMode.HALF_UP).toPlainString() +"元");
|
|
|
resp.setActualGoodsPrice(actualGoodsPrice.setScale(2, RoundingMode.HALF_UP).toPlainString()+"元");
|
|
|
+ // 票据信息
|
|
|
+ String shipmentTicketKey = subtask.getWOrderId() + "-" + AddressTypeEnum.SHIPMENT.getCode();
|
|
|
+ KwtWaybillOrderTicket tareAmountTicket = ticketMap.getOrDefault(shipmentTicketKey, new KwtWaybillOrderTicket());
|
|
|
+ resp.setTareAmount(tareAmountTicket.getTareAmount());
|
|
|
+ resp.setGrossAmount(tareAmountTicket.getGrossAmount());
|
|
|
}else if (org.apache.commons.lang3.StringUtils.equals(logOrder.getBillingMode(), DictEnum.CHARGING_TYPE_2.getValue())){
|
|
|
BigDecimal actualPrice = Objects.nonNull(logOrder.getPrice()) && Objects.nonNull(subtask.getUnloadAmount()) ?
|
|
|
logOrder.getPrice().multiply(subtask.getUnloadAmount()) : BigDecimal.ZERO;
|
|
|
@@ -4581,6 +4609,12 @@ public class KwtWaybillOrderV1Service {
|
|
|
contractGoodsDto.getPrice().multiply(subtask.getUnloadAmount()) : BigDecimal.ZERO;
|
|
|
resp.setActualPrice(actualPrice.setScale(2, RoundingMode.HALF_UP).toPlainString()+"元");
|
|
|
resp.setActualGoodsPrice(actualGoodsPrice.setScale(2, RoundingMode.HALF_UP).toPlainString()+"元");
|
|
|
+
|
|
|
+ String takeTicketKey = subtask.getWOrderId() + "-" + AddressTypeEnum.TAKE.getCode();
|
|
|
+ KwtWaybillOrderTicket grossAmountTicket = ticketMap.getOrDefault(takeTicketKey, new KwtWaybillOrderTicket());
|
|
|
+ resp.setTareAmount(grossAmountTicket.getTareAmount());
|
|
|
+ resp.setGrossAmount(grossAmountTicket.getGrossAmount());
|
|
|
+
|
|
|
}
|
|
|
resp.setTruckNo(billOrder.getTruckNo());
|
|
|
resp.setCarAxis(truck != null ? truck.getCarAxis() : "");
|
|
|
@@ -4634,14 +4668,6 @@ public class KwtWaybillOrderV1Service {
|
|
|
.ifPresent(x -> resp.setSupplyEntName(x.getFirmName()));
|
|
|
}
|
|
|
|
|
|
- // 票据信息
|
|
|
- String shipmentTicketKey = subtask.getWOrderId() + "-" + AddressTypeEnum.SHIPMENT.getCode();
|
|
|
- String takeTicketKey = subtask.getWOrderId() + "-" + AddressTypeEnum.TAKE.getCode();
|
|
|
- KwtWaybillOrderTicket tareAmountTicket = ticketMap.getOrDefault(shipmentTicketKey, new KwtWaybillOrderTicket());
|
|
|
- KwtWaybillOrderTicket grossAmountTicket = ticketMap.getOrDefault(takeTicketKey, new KwtWaybillOrderTicket());
|
|
|
- resp.setTareAmount(tareAmountTicket.getTareAmount());
|
|
|
- resp.setGrossAmount(grossAmountTicket.getGrossAmount());
|
|
|
-
|
|
|
// 状态信息
|
|
|
resp.setStatus(subtask.getStatus());
|
|
|
resp.setStatusDesc(CarWaybillV1Enum.geDesc(subtask.getStatus()));
|
|
|
@@ -4863,10 +4889,11 @@ public class KwtWaybillOrderV1Service {
|
|
|
WalletPayableDto unFreezePayableDto = new WalletPayableDto();
|
|
|
unFreezePayableDto.setConsignEntId(map.get(1));
|
|
|
unFreezePayableDto.setCarriageEntId(map.get(2));
|
|
|
- unFreezePayableDto.setOrderNo(String.valueOf(kwtLogistics.getId()));
|
|
|
+ unFreezePayableDto.setOrderNo(kwtLogistics.getLOrderNo());
|
|
|
unFreezePayableDto.setOrderType(5);
|
|
|
unFreezePayableDto.setTradeType(5);
|
|
|
unFreezePayableDto.setRemark("物流订单号:" + unFreezePayableDto.getOrderNo() + ",订单完结解冻");
|
|
|
+ log.info("物流订单号:{},订单完结解冻进行中运费,参数:{}", unFreezePayableDto.getOrderNo(),JSON.toJSONString(unFreezePayableDto));
|
|
|
BaseResult<Object> unFreezeResult = paymentFeignService.updatePayable(unFreezePayableDto);
|
|
|
if(unFreezeResult.getCode()!= HttpStatus.SUCCESS_CODE){
|
|
|
log.error("物流订单号:{},订单完结解冻失败,异常信息为:{}",unFreezePayableDto.getOrderNo(),unFreezeResult.getMessage());
|
|
|
@@ -4876,15 +4903,16 @@ public class KwtWaybillOrderV1Service {
|
|
|
WalletPayableDto consumePayableDto = new WalletPayableDto();
|
|
|
consumePayableDto.setConsignEntId(map.get(1));
|
|
|
consumePayableDto.setCarriageEntId(map.get(2));
|
|
|
- consumePayableDto.setOrderNo(String.valueOf(kwtLogistics.getId()));
|
|
|
+ consumePayableDto.setOrderNo(kwtLogistics.getLOrderNo());
|
|
|
consumePayableDto.setOrderType(5);
|
|
|
consumePayableDto.setTradeType(6);
|
|
|
consumePayableDto.setTradeAmount(kwtLogistics.getTotalUnloadAmount().multiply(kwtLogistics.getPrice()));
|
|
|
consumePayableDto.setRemark("物流订单号:" + consumePayableDto.getOrderNo() + ",订单完结消费");
|
|
|
+ log.info("物流订单号:{},订单完结消费,参数:{}", consumePayableDto.getOrderNo(),JSON.toJSONString(consumePayableDto));
|
|
|
BaseResult<Object> consumeResult = paymentFeignService.updatePayable(consumePayableDto);
|
|
|
if(consumeResult.getCode()!= HttpStatus.SUCCESS_CODE){
|
|
|
- log.error("物流订单号:{},订单完结消费失败,异常信息为:{}",unFreezePayableDto.getOrderNo(),consumeResult.getMessage());
|
|
|
- throw new BusinessException("物流订单号:"+unFreezePayableDto.getOrderNo()+",订单完结消费失败");
|
|
|
+ log.error("物流订单号:{},订单完结消费失败,异常信息为:{}",consumePayableDto.getOrderNo(),consumeResult.getMessage());
|
|
|
+ throw new BusinessException("物流订单号:"+consumePayableDto.getOrderNo()+",订单完结消费失败");
|
|
|
}
|
|
|
}
|
|
|
}
|