|
@@ -91,8 +91,10 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
+import java.time.Instant;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Calendar;
|
|
@@ -2773,7 +2775,13 @@ public class GeoHazardMonitorTokenController {
|
|
|
if (baseTerminalLogService.save(baseTerminalLog) && update) {
|
|
|
if (!ObjectUtils.isEmpty(baseTerminalLog.getTrainNum()) && !ObjectUtils.isEmpty(baseTerminalLog.getFrontTrainNum())) {
|
|
|
VehiclePosition vehiclePosition = vehiclePositionService.getOne(new LambdaQueryWrapper<VehiclePosition>().eq(VehiclePosition::getVehicleCode, baseTerminalLog.getTrainNum()).orderByDesc(VehiclePosition::getCreateTime).last("limit 1"));
|
|
|
- VehiclePosition positionServiceOne = vehiclePositionService.getOne(new LambdaQueryWrapper<VehiclePosition>().eq(VehiclePosition::getVehicleCode, baseTerminalLog.getFrontTrainNum()).eq(VehiclePosition::getLineDir, vehiclePosition.getLineDir()).orderByDesc(VehiclePosition::getCreateTime).last("limit 1"));
|
|
|
+ // 获取当前时间的前5分钟
|
|
|
+ Date fiveMinutesAgo = Date.from(Instant.now().minus(5, ChronoUnit.MINUTES));
|
|
|
+ VehiclePosition positionServiceOne = vehiclePositionService.getOne(new LambdaQueryWrapper<VehiclePosition>()
|
|
|
+ .eq(VehiclePosition::getVehicleCode, baseTerminalLog.getFrontTrainNum())
|
|
|
+ .eq(VehiclePosition::getLineDir, vehiclePosition.getLineDir())
|
|
|
+ .ge(VehiclePosition::getCreateTime, fiveMinutesAgo) // 添加条件:createTime大于当前时间前5分钟
|
|
|
+ .orderByDesc(VehiclePosition::getCreateTime).last("limit 1"));
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
if (!ObjectUtils.isEmpty(positionServiceOne) && !ObjectUtils.isEmpty(vehiclePosition)) {
|
|
|
if ((vehiclePosition.getLineDir() == 1 && positionServiceOne.getTravelMile() >= vehiclePosition.getTravelMile()) ||
|