|
@@ -239,7 +239,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
*/
|
|
|
@PostMapping("/api/alarm")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public synchronized String alarm(@RequestBody ParameterVo parameterVo, HttpServletRequest request) throws Exception {
|
|
|
+ public synchronized String alarm(@RequestBody ParameterVo parameterVo, HttpServletRequest request) throws Exception {
|
|
|
String token = apiTokenUtils.getGeoHazardMonitorToken(request);
|
|
|
log.info("token:{}", token);
|
|
|
log.info("parameter:{}", parameterVo);
|
|
@@ -880,7 +880,7 @@ public class GeoHazardMonitorTokenController {
|
|
|
}
|
|
|
respHeartbeatVo.setPreAlarmList(responseList);
|
|
|
} else {
|
|
|
- BaseCameraManagementReq baseCameraManagementReq=new BaseCameraManagementReq();
|
|
|
+ BaseCameraManagementReq baseCameraManagementReq = new BaseCameraManagementReq();
|
|
|
//没有报警信息的时候
|
|
|
if (heartbeatVo.getLineDir() == 1) {
|
|
|
distance = heartbeatVo.getVisualDistance() + heartbeatVo.getCurrentMile();
|
|
@@ -1062,10 +1062,10 @@ public class GeoHazardMonitorTokenController {
|
|
|
} else {
|
|
|
//没有报警信息的时候
|
|
|
LambdaQueryWrapper<BaseCameraManagement> base = new LambdaQueryWrapper<>();
|
|
|
- BaseCameraManagementReq baseCameraManagementReq=new BaseCameraManagementReq();
|
|
|
+ BaseCameraManagementReq baseCameraManagementReq = new BaseCameraManagementReq();
|
|
|
if (heartbeatVo.getLineDir() == 1) {
|
|
|
distance = heartbeatVo.getVisualDistance() + heartbeatVo.getCurrentMile();
|
|
|
- baseCameraManagementReq.setInstallMile(heartbeatVo.getCurrentMile() +10000);
|
|
|
+ baseCameraManagementReq.setInstallMile(heartbeatVo.getCurrentMile() + 10000);
|
|
|
}
|
|
|
if (heartbeatVo.getLineDir() == 2) {
|
|
|
distance = heartbeatVo.getCurrentMile() - heartbeatVo.getVisualDistance();
|
|
@@ -1729,32 +1729,31 @@ public class GeoHazardMonitorTokenController {
|
|
|
terminal.eq(BaseTerminal::getTerminalCode, baseTerminalLog.getTerminalCode());
|
|
|
boolean update = baseTerminalService.update(baseTerminal1, terminal);
|
|
|
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"));
|
|
|
- // 获取当前时间的前5分钟
|
|
|
- Date fiveMinutesAgo = Date.from(Instant.now().minus(5, ChronoUnit.MINUTES));
|
|
|
- log.info("fiveMinutesAgo:{}", fiveMinutesAgo);
|
|
|
- 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()) ||
|
|
|
- (vehiclePosition.getLineDir() == 2 && positionServiceOne.getTravelMile() <= vehiclePosition.getTravelMile())) {
|
|
|
- int dif = vehiclePosition.getTravelMile() - positionServiceOne.getTravelMile();
|
|
|
- map.put("frontVehicleDistance", Math.abs(dif));
|
|
|
- } else {
|
|
|
- map.put("frontVehicleDistance", "_");
|
|
|
- }
|
|
|
+ VehiclePosition vehiclePosition = vehiclePositionService.getOne(new LambdaQueryWrapper<VehiclePosition>().eq(VehiclePosition::getVehicleCode, baseTerminalLog.getTrainNum()).orderByDesc(VehiclePosition::getCreateTime).last("limit 1"));
|
|
|
+ // 获取当前时间的前5分钟
|
|
|
+ List<SysDictData> frontValue = dictTypeService.selectDictDataByType("distance_time");
|
|
|
+ Date fiveMinutesAgo = Date.from(Instant.now().minus(Long.valueOf(frontValue.get(0).getDictValue()), ChronoUnit.MINUTES));
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String formattedDate = sdf.format(fiveMinutesAgo);
|
|
|
+ log.info("fiveMinutesAgo:{}", fiveMinutesAgo);
|
|
|
+ VehiclePosition positionServiceOne = vehiclePositionService.getOne(new LambdaQueryWrapper<VehiclePosition>()
|
|
|
+ .eq(VehiclePosition::getVehicleCode, baseTerminalLog.getFrontTrainNum())
|
|
|
+ .eq(VehiclePosition::getLineDir, 1)
|
|
|
+ .ge(VehiclePosition::getCreateTime, formattedDate) // 添加条件: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()) ||
|
|
|
+ (vehiclePosition.getLineDir() == 2 && positionServiceOne.getTravelMile() <= vehiclePosition.getTravelMile())) {
|
|
|
+ int dif = vehiclePosition.getTravelMile() - positionServiceOne.getTravelMile();
|
|
|
+ map.put("frontVehicleDistance", Math.abs(dif));
|
|
|
} else {
|
|
|
map.put("frontVehicleDistance", "_");
|
|
|
}
|
|
|
- AjaxResults1 = new AjaxResults(1, "ok", map);
|
|
|
} else {
|
|
|
- AjaxResults1 = new AjaxResults(1, "ok");
|
|
|
+ map.put("frontVehicleDistance", "_");
|
|
|
}
|
|
|
+ AjaxResults1 = new AjaxResults(1, "ok", map);
|
|
|
return SM4Utils.encryptData_ECB(JSONObject.toJSONString(AjaxResults1), key);
|
|
|
} else {
|
|
|
AjaxResults1 = new AjaxResults(0, "新增失败");
|