提交 4e128d84 authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/v19.4_order_performance_progress_20240712' into test

Former-commit-id: 77851284
...@@ -326,6 +326,12 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi ...@@ -326,6 +326,12 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
item.setSendSystemAddressId(data.getSendSystemAddressId()); item.setSendSystemAddressId(data.getSendSystemAddressId());
item.setSendSystemAddressShorter(getSystemAddressShorter(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); performanceProgressDao.updateEntityByKey(item);
}else{ }else{
//查询最大的seq //查询最大的seq
...@@ -467,8 +473,7 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi ...@@ -467,8 +473,7 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
onTheWayTruckNum = loadTruckNum - unloadTruckNum; onTheWayTruckNum = loadTruckNum - unloadTruckNum;
//接单率 = 接单吨数 / 挂单吨数 //接单率 = 接单吨数 / 挂单吨数
orderedRate = orderedWeight .divide(optional.get().getPendingWeight(),3, RoundingMode.HALF_UP) orderedRate = calcOrderedRate(orderedWeight,optional.get().getPendingWeight());
.multiply(new BigDecimal(100));
//任务完成率 = 到站量 / 任务量 //任务完成率 = 到站量 / 任务量
taskCompleteRatio = sumUnloadWeight.divide(orderInfo.getTransportWeight(),3, RoundingMode.HALF_UP) taskCompleteRatio = sumUnloadWeight.divide(orderInfo.getTransportWeight(),3, RoundingMode.HALF_UP)
...@@ -489,4 +494,27 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi ...@@ -489,4 +494,27 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
update.setSumOnTheWayWeight(sumOnTheWayWeight); update.setSumOnTheWayWeight(sumOnTheWayWeight);
performanceProgressDao.updateEntityByKey(update); 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论