提交 601194c7 authored 作者: 刘海泉's avatar 刘海泉

当运单、货单取消之后,需要重新计算对应该订单的接单率

上级 b5059be2
......@@ -326,6 +326,12 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
item.setSendSystemAddressId(data.getSendSystemAddressId());
item.setSendSystemAddressShorter(getSystemAddressShorter(data.getSendSystemAddressId()));
}
//挂单吨数发生变化需要重新计算接单率
if(performanceProgressOptional.get().getPendingWeight().compareTo(item.getPendingWeight())!= 0){
BigDecimal orderedWeight = calcOrderedWeight(data.getOrderNo());
BigDecimal orderedRate = calcOrderedRate(orderedWeight,item.getPendingWeight());
item.setOrderedRate(orderedRate);
}
performanceProgressDao.updateEntityByKey(item);
}else{
//查询最大的seq
......@@ -467,8 +473,7 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
onTheWayTruckNum = loadTruckNum - unloadTruckNum;
//接单率 = 接单吨数 / 挂单吨数
orderedRate = orderedWeight .divide(optional.get().getPendingWeight(),3, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100));
orderedRate = calcOrderedRate(orderedWeight,optional.get().getPendingWeight());
//任务完成率 = 到站量 / 任务量
taskCompleteRatio = sumUnloadWeight.divide(orderInfo.getTransportWeight(),3, RoundingMode.HALF_UP)
......@@ -489,4 +494,27 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
update.setSumOnTheWayWeight(sumOnTheWayWeight);
performanceProgressDao.updateEntityByKey(update);
}
// 计算接单率
public BigDecimal calcOrderedRate(BigDecimal orderedWeight,BigDecimal pendingWeight){
//接单率 = 接单吨数 / 挂单吨数
return orderedWeight.divide(pendingWeight,3, RoundingMode.HALF_UP);
}
public BigDecimal calcOrderedWeight(String orderNo){
List<OrderChild> orderChildList = orderChildDao.listBeforeCompleteByOrderNo(orderNo);
BigDecimal orderedWeight = BigDecimal.ZERO;
if(CollectionUtils.isEmpty(orderChildList)){
return orderedWeight;
}
for (OrderChild child : orderChildList) {
if(child.getStatus() >= OrderChildEnum.Status.LOAD.getCode()){
orderedWeight = orderedWeight.add(child.getLoadNet());
}else{
orderedWeight = orderedWeight.add(child.getWeight());
}
}
return orderedWeight;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论