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

Merge remote-tracking branch 'origin/v15.4_truck_fleet_20240513' into test

......@@ -89,6 +89,12 @@ public class IntegralRecordServiceImpl implements IntegralRecordService {
return;
}
//超过上限只能增加积分上限
if (sum + integral > ruleInfo.getDriverReportRule().getIntegralLimit()){
integral = ruleInfo.getDriverReportRule().getIntegralLimit() - sum;
}
// 更新积分
statistics.setIntegral(statistics.getIntegral()+integral);
integralStatisticsDao.updateIntegral(statistics);
......
......@@ -55,14 +55,22 @@ public class TruckTraceServiceImpl implements TruckTraceService {
// 停留时长计算
Integer parkIdx = null;
for (int i=0; i<traceList.size(); i++){
if (traceList.get(i).getSpeed() == null){continue;}
if (traceList.get(i).getSpeed().compareTo(new BigDecimal(PARK_SPEED)) < 0){
parkIdx = i;
if (parkIdx == null) {parkIdx = i;}
}
else {
if (parkIdx == null) {continue;}
long stayTime = Duration.between(LocalDateTimeUtils.parseTime(traceList.get(parkIdx).getGpsTime()), LocalDateTimeUtils.parseTime(traceList.get(i).getGpsTime())).getSeconds();
traceList.get(parkIdx).setStayTime(new BigDecimal(stayTime).divide(new BigDecimal(60), 1, RoundingMode.HALF_UP));
parkIdx = null;
}
}
if (parkIdx!=null && parkIdx < traceList.size()-1){
long stayTime = Duration.between(LocalDateTimeUtils.parseTime(traceList.get(parkIdx).getGpsTime()), LocalDateTimeUtils.parseTime(traceList.get(traceList.size()-1).getGpsTime())).getSeconds();
traceList.get(parkIdx).setStayTime(new BigDecimal(stayTime).divide(new BigDecimal(60), 1, RoundingMode.HALF_UP));
}
return traceList;
......@@ -85,18 +93,23 @@ public class TruckTraceServiceImpl implements TruckTraceService {
if (traceList.get(i).getSpeed() == null){continue;}
if (traceList.get(i).getSpeed().compareTo(new BigDecimal(PARK_SPEED)) < 0){
parkIdx = i;
if (parkIdx == null) {parkIdx = i;}
}
else {
if (parkIdx == null) {continue;}
long stayTime = Duration.between(LocalDateTimeUtils.parseTime(traceList.get(parkIdx).getGpsTime()), LocalDateTimeUtils.parseTime(traceList.get(i).getGpsTime())).getSeconds();
traceList.get(parkIdx).setStayTime(new BigDecimal(stayTime).divide(new BigDecimal(60), 1, RoundingMode.HALF_UP));
parkIdx = null;
}
}
return traceList;
if (parkIdx!=null && parkIdx < traceList.size()-1){
long stayTime = Duration.between(LocalDateTimeUtils.parseTime(traceList.get(parkIdx).getGpsTime()), LocalDateTimeUtils.parseTime(traceList.get(traceList.size()-1).getGpsTime())).getSeconds();
traceList.get(parkIdx).setStayTime(new BigDecimal(stayTime).divide(new BigDecimal(60), 1, RoundingMode.HALF_UP));
}
return traceList;
}
@Override
public void truckTraceSave(TruckTraceAddParam param){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论