|
|
@@ -127,7 +127,6 @@ public class KwtTransportCommonService {
|
|
|
@Autowired
|
|
|
public KwtLogisticsOrderMapper logisticsOrderMapper;
|
|
|
|
|
|
-
|
|
|
@Autowired
|
|
|
private KwtWaybillOrderV1Mapper kwtWaybillOrderV1Mapper;
|
|
|
|
|
|
@@ -410,7 +409,7 @@ public class KwtTransportCommonService {
|
|
|
|
|
|
List<LineFreightRateVo> lineFreightRateVos = kwtLogisticsOrderLineFreightRateMapper.selectListByOrderId(Long.parseLong(dto.getId()));
|
|
|
orderDetailVO.setLineFreightRate(lineFreightRateVos);
|
|
|
-
|
|
|
+ orderDetailVO.setTotalTake(logisticsOrder.getTotalTake());
|
|
|
return orderDetailVO;
|
|
|
}
|
|
|
|
|
|
@@ -817,8 +816,9 @@ public class KwtTransportCommonService {
|
|
|
// put("passStatus", Global.NUMERICAL_ONE);
|
|
|
// }};
|
|
|
|
|
|
- WaybillCountVo waybillOrderCount = kwtWaybillOrderV1Mapper.findCountByLOrderId(Long.parseLong(logisticsOrderDTO.getLOrderId()));
|
|
|
- BigDecimal totalComplete = waybillOrderCount == null ? NumberConstant.ZERO_TWO : new BigDecimal(waybillOrderCount.getTotalComplete());
|
|
|
+ /* WaybillCountVo waybillOrderCount = kwtWaybillOrderV1Mapper.findCountByLOrderId(Long.parseLong(logisticsOrderDTO.getLOrderId()));
|
|
|
+ BigDecimal totalComplete = waybillOrderCount == null ? NumberConstant.ZERO_TWO : new BigDecimal(waybillOrderCount.getTotalComplete());*/
|
|
|
+ BigDecimal totalComplete = BigDecimal.valueOf(logisticsOrderDTO.getTotalTake());
|
|
|
actualAmount = totalComplete.multiply(price);
|
|
|
} else if (DictEnum.CHARGING_TYPE_4.getValue().equals(billingMode)) {
|
|
|
String lOrderId = logisticsOrderDTO.getLOrderId();
|
|
|
@@ -1025,11 +1025,12 @@ public class KwtTransportCommonService {
|
|
|
add(CarWaybillEnum.APPROVAL_PASS.getCode());
|
|
|
}};
|
|
|
// orderFinishVO.setNumber(waybillOrderCount == null ? NumberConstant.ZERO : waybillOrderCount.getTotalComplete());
|
|
|
- orderFinishVO.setNumber(waybillOrderSubtaskMapper.selectCount(
|
|
|
+ /*orderFinishVO.setNumber(waybillOrderSubtaskMapper.selectCount(
|
|
|
new LambdaQueryWrapper<KwtWaybillOrderSubtask>()
|
|
|
.eq(KwtWaybillOrderSubtask::getLOrderId, Long.parseLong(orderId))
|
|
|
.eq(KwtWaybillOrderSubtask::getDelFlag, 0)
|
|
|
- .in(KwtWaybillOrderSubtask::getStatus, orderStatus)).intValue());
|
|
|
+ .in(KwtWaybillOrderSubtask::getStatus, orderStatus)).intValue());*/
|
|
|
+ orderFinishVO.setNumber(logisticsOrder.getTotalTake());
|
|
|
orderFinishVO.setUnit(logisticsOrder.getUnit());
|
|
|
orderFinishVO.setUnitName(unitMap != null ? unitMap.get(logisticsOrder.getUnit()) : null);
|
|
|
orderFinishVO.setAmount(logisticsOrder.getAmount());
|
|
|
@@ -1084,7 +1085,7 @@ public class KwtTransportCommonService {
|
|
|
logisticsOrder.setIgnoreAmount(ignoreAmount);
|
|
|
logisticsOrderMapper.updateById(logisticsOrder);
|
|
|
//物流订单状态记录
|
|
|
- updateLogisticOrderTrack(logisticsOrder.getId(), LogisticsOrderEnum.HAVE_FINISHED.getCode(), params.getRemark());
|
|
|
+ updateLogisticOrderTrack(logisticsOrder.getId(), LogisticsOrderEnum.HAVE_FINISHED.getCode(), params.getRemark(), JSON.toJSONString(params));
|
|
|
//修改mongodb的数据
|
|
|
updateMongoDbByLogisticsOrder(logisticsOrder);
|
|
|
//更新商品辅助单位信息
|
|
|
@@ -1241,7 +1242,7 @@ public class KwtTransportCommonService {
|
|
|
* @param code 状态码
|
|
|
* @param remark 备注
|
|
|
*/
|
|
|
- private void updateLogisticOrderTrack(Long lOrderId, int code, String remark) {
|
|
|
+ private void updateLogisticOrderTrack(Long lOrderId, int code, String remark, String reserved) {
|
|
|
KwtLogisticsOrderTrack track = logisticsOrderTrackMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderTrack>()
|
|
|
.eq(KwtLogisticsOrderTrack::getLOrderId, lOrderId).eq(KwtLogisticsOrderTrack::getStatus, code)
|
|
|
);
|
|
|
@@ -1263,6 +1264,7 @@ public class KwtTransportCommonService {
|
|
|
orderTrack.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
orderTrack.setUpdateTime(new Date());
|
|
|
orderTrack.setDelFlag(NumberConstant.ZERO);
|
|
|
+ orderTrack.setReserved(reserved);
|
|
|
logisticsOrderTrackMapper.insert(orderTrack);
|
|
|
}
|
|
|
}
|
|
|
@@ -1352,11 +1354,42 @@ public class KwtTransportCommonService {
|
|
|
//差值=上游委托量-实际总装货量
|
|
|
BigDecimal difference = order.getAmount().subtract(order.getTotalLoadAmount());
|
|
|
currentOrder.setSubcontractAmount(currentOrder.getSubcontractAmount().subtract(difference));
|
|
|
+
|
|
|
+ //装货统计(当前物流订单)
|
|
|
+ Map<String, Object> queryParams = new HashMap<>(NumberConstant.SIXTEEN);
|
|
|
+ queryParams.put("lOrderId", currentOrder.getId());
|
|
|
+ queryParams.put("unit", currentOrder.getUnit());
|
|
|
+ queryParams.put("type", NumberConstant.ONE);
|
|
|
+ queryParams.put("passStatus", Global.NUMERICAL_ONE);
|
|
|
+ WaybillCountVo loadCount = kwtWaybillOrderV1Mapper.findTicketCountByAddress(queryParams);
|
|
|
+ //卸货统计(当前物流订单)
|
|
|
+ queryParams.put("type", NumberConstant.TWO);
|
|
|
+ WaybillCountVo unloadCount = kwtWaybillOrderV1Mapper.findTicketCountByAddress(queryParams);
|
|
|
+
|
|
|
+ //下级物流订单统计
|
|
|
+ Map<String, Object> params = new HashMap<>(){{put("upperlOrderId", currentOrder.getId()); put("ownOrderId", currentOrder.getId());}};
|
|
|
+ List<KwtLogisticsOrder> upperlOrders = logisticsOrderMapper.findLogisticsOrder(params);
|
|
|
+
|
|
|
+ //运量
|
|
|
+ BigDecimal totalLoadAmount = upperlOrders.stream().map(KwtLogisticsOrder::getTotalLoadAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal totalUnloadAmount = upperlOrders.stream().map(KwtLogisticsOrder::getTotalUnloadAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ currentOrder.setTotalLoadAmount(loadCount.getAmount().add(totalLoadAmount));
|
|
|
+ currentOrder.setTotalUnloadAmount(unloadCount.getAmount().add(totalUnloadAmount));
|
|
|
+
|
|
|
+ //运单数量
|
|
|
+ int sum = upperlOrders.stream().mapToInt(KwtLogisticsOrder::getTotalTake).sum();
|
|
|
+ int totalTake = kwtWaybillOrderV1Mapper.findWaybillOrderCountByLOrderId(currentOrder.getId());
|
|
|
+ currentOrder.setTotalTake(totalTake + sum);
|
|
|
logisticsOrderMapper.updateById(currentOrder);
|
|
|
|
|
|
+ //辅助单位运量
|
|
|
+ logisticsOrderGoodsService.editLogisticsOrderGoodsTotalLoading(currentOrder.getId());
|
|
|
+
|
|
|
//Mongodb数据更新
|
|
|
SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
|
|
|
lOrder.setSubcontractAmount(currentOrder.getSubcontractAmount());
|
|
|
+ lOrder.setTotalUnloadAmount(currentOrder.getTotalUnloadAmount());
|
|
|
+ lOrder.setTotalLoadAmount(currentOrder.getTotalLoadAmount());
|
|
|
waybillOrderService.editSckwLogisticsOrder(lOrder, currentOrder);
|
|
|
}
|
|
|
}
|
|
|
@@ -1666,12 +1699,13 @@ public class KwtTransportCommonService {
|
|
|
logisticsOrder.setUpdateTime(new Date());
|
|
|
logisticsOrder.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
logisticsOrder.setIgnoreAmount(ignoreAmount);
|
|
|
+ logisticsOrder.setTotalTake(params.getCount() != null ? params.getCount() : logisticsOrder.getTotalTake());
|
|
|
if (DictEnum.CHARGING_TYPE_4.getValue().equals(logisticsOrder.getBillingMode())) {
|
|
|
updateLogisticsOrderLineFreightRate(logisticsOrder, params);
|
|
|
}
|
|
|
logisticsOrderMapper.updateById(logisticsOrder);
|
|
|
//物流订单状态记录
|
|
|
- updateLogisticOrderTrack(logisticsOrder.getId(), LogisticsOrderEnum.HAVE_FINISHED.getCode(), params.getRemark());
|
|
|
+ updateLogisticOrderTrack(logisticsOrder.getId(), LogisticsOrderEnum.HAVE_FINISHED.getCode(), params.getRemark(), JSON.toJSONString(params));
|
|
|
//修改mongodb的数据
|
|
|
updateMongoDbByLogisticsOrder(logisticsOrder);
|
|
|
//更新商品辅助单位信息
|
|
|
@@ -1730,7 +1764,7 @@ public class KwtTransportCommonService {
|
|
|
//修改合同履约量
|
|
|
commonService.updatePerformed(logisticsOrder, loadAmount, unloadAmount);
|
|
|
|
|
|
- //完结物流订单数据处理-上级物流订单分包量计算
|
|
|
+ //完结物流订单数据处理-上级物流订单量计算
|
|
|
closeHandleByOrderFinish(logisticsOrder.getId());
|
|
|
|
|
|
//关闭运单
|