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

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

...@@ -55,14 +55,22 @@ public class TruckTraceServiceImpl implements TruckTraceService { ...@@ -55,14 +55,22 @@ public class TruckTraceServiceImpl implements TruckTraceService {
// 停留时长计算 // 停留时长计算
Integer parkIdx = null; Integer parkIdx = null;
for (int i=0; i<traceList.size(); i++){ 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){ if (traceList.get(i).getSpeed().compareTo(new BigDecimal(PARK_SPEED)) < 0){
parkIdx = i; if (parkIdx == null) {parkIdx = i;}
} }
else { else {
if (parkIdx == null) {continue;} if (parkIdx == null) {continue;}
long stayTime = Duration.between(LocalDateTimeUtils.parseTime(traceList.get(parkIdx).getGpsTime()), LocalDateTimeUtils.parseTime(traceList.get(i).getGpsTime())).getSeconds(); 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)); 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; return traceList;
...@@ -85,18 +93,23 @@ public class TruckTraceServiceImpl implements TruckTraceService { ...@@ -85,18 +93,23 @@ public class TruckTraceServiceImpl implements TruckTraceService {
if (traceList.get(i).getSpeed() == null){continue;} if (traceList.get(i).getSpeed() == null){continue;}
if (traceList.get(i).getSpeed().compareTo(new BigDecimal(PARK_SPEED)) < 0){ if (traceList.get(i).getSpeed().compareTo(new BigDecimal(PARK_SPEED)) < 0){
parkIdx = i; if (parkIdx == null) {parkIdx = i;}
} }
else { else {
if (parkIdx == null) {continue;} if (parkIdx == null) {continue;}
long stayTime = Duration.between(LocalDateTimeUtils.parseTime(traceList.get(parkIdx).getGpsTime()), LocalDateTimeUtils.parseTime(traceList.get(i).getGpsTime())).getSeconds(); 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)); 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 @Override
public void truckTraceSave(TruckTraceAddParam param){ public void truckTraceSave(TruckTraceAddParam param){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论