From c89c0dd3d6aafbb87b1265205d1de04c4e9d36b5 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Thu, 27 Nov 2025 18:34:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E5=A4=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../baotou/entity/CarDangerDetect.java | 1 + .../impl/ProjectHomeNameServiceImpl.java | 1 + .../xmgl/modules/project/entity/Project.java | 2 ++ .../java/com/zhgd/xmgl/task/CarInfoTask.java | 22 +++++++++++-------- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/entity/CarDangerDetect.java b/src/main/java/com/zhgd/xmgl/modules/baotou/entity/CarDangerDetect.java index 6648f5d2f..da57ce1d4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/entity/CarDangerDetect.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/entity/CarDangerDetect.java @@ -19,6 +19,7 @@ import java.io.Serializable; @Data @TableName("car_danger_detect") @ApiModel(value = "CarDangerDetect实体类", description = "CarDangerDetect") +@Deprecated//使用车辆测速设备 public class CarDangerDetect implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/ProjectHomeNameServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/ProjectHomeNameServiceImpl.java index f0041b4ad..be85b4116 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/ProjectHomeNameServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/ProjectHomeNameServiceImpl.java @@ -91,6 +91,7 @@ public class ProjectHomeNameServiceImpl extends ServiceImpl() .eq(ProjectHomeName::getWhichType, projectHomeName.getWhichType()) + .eq(ProjectHomeName::getWhichModule, projectHomeName.getWhichModule()) .eq(ProjectHomeName::getProjectSn, projectHomeName.getProjectSn()) ); if (name == null) { diff --git a/src/main/java/com/zhgd/xmgl/modules/project/entity/Project.java b/src/main/java/com/zhgd/xmgl/modules/project/entity/Project.java index c5e5cc335..043cb35bc 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/entity/Project.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/entity/Project.java @@ -327,6 +327,8 @@ public class Project implements Serializable { private String workerSafeWatchTime; @ApiModelProperty(value = "是否需要项目管理员做AI抓拍初筛") private Integer aiAlarmNeedManageApprove; + @ApiModelProperty(value = "是否需要项目管理员做车辆不安全行为监测抓拍初筛") + private Integer carDangerNeedManageApprove; /** * runde平台token */ diff --git a/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java b/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java index 7cc220301..16bd21911 100644 --- a/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java +++ b/src/main/java/com/zhgd/xmgl/task/CarInfoTask.java @@ -26,6 +26,7 @@ import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDataService; import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDevService; import com.zhgd.xmgl.modules.car.service.impl.CarInfoServiceImpl; import com.zhgd.xmgl.modules.project.entity.Project; +import com.zhgd.xmgl.modules.project.entity.vo.ProjectInfoExtVo; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.util.HikvisionUtil; import lombok.extern.slf4j.Slf4j; @@ -125,7 +126,6 @@ public class CarInfoTask { List projects = projectMapper.selectList(new LambdaQueryWrapper() .eq(Project::getSyncHikvision, 1)); Map> projectMap = carMeasureSpeedDevService.list().stream().collect(Collectors.groupingBy(CarMeasureSpeedDev::getProjectSn)); - Map> dangerDetectProjectMap = carDangerDetectService.list().stream().collect(Collectors.groupingBy(CarDangerDetect::getProjectSn)); for (Project project : projects) { try { JSONArray listJa = getSpeedDataList(start, project); @@ -138,11 +138,15 @@ public class CarInfoTask { carMeasureSpeedDataService.saveBatch(speedDatas); } - Map carDangerDevMap = Optional.ofNullable(dangerDetectProjectMap.get(project.getProjectSn())).map(m -> m.stream().collect(Collectors.toMap(CarDangerDetect::getHardwareId, Function.identity()))).orElse(null); - List carDangers = buildCarDangerData(listJa, carDangerDevMap, project); + List carDangers = buildCarDangerData(listJa, devMap, project); if (CollUtil.isNotEmpty(carDangers)) { carDangerDetectRecordService.saveBatch(carDangers); } + if (Objects.equals(project.getCarDangerNeedManageApprove(), 0)) { + for (CarDangerDetectRecord danger : carDangers) { + carDangerDetectRecordService.violationPush(danger.getId()); + } + } } catch (Exception e) { log.error("定时到海康拉取车辆超速错误:", e); @@ -151,7 +155,7 @@ public class CarInfoTask { } - private List buildCarDangerData(JSONArray listJa, Map carDangerDevMap, Project project) throws Exception { + private List buildCarDangerData(JSONArray listJa, Map carDangerDevMap, Project project) throws Exception { List datas = new ArrayList<>(); if (CollUtil.isNotEmpty(listJa)) { for (int i = 0; i < listJa.size(); i++) { @@ -161,7 +165,7 @@ public class CarInfoTask { continue; } String monitoringId = jo.getString("monitoringId"); - CarDangerDetect dev = carDangerDevMap.get(monitoringId); + CarMeasureSpeedDev dev = carDangerDevMap.get(monitoringId); if (dev == null) { continue; } @@ -170,16 +174,16 @@ public class CarInfoTask { Date time = DateUtil.parse(jo.getString("crossTime")); CarDangerDetectRecord data = new CarDangerDetectRecord(); data.setProjectSn(dev.getProjectSn()); - data.setHardwareName(dev.getHardwareName()); - data.setHardwareId(dev.getHardwareId()); + data.setHardwareName(dev.getDeviceName()); + data.setHardwareId(dev.getDevSn()); String platePicUrl = jo.getString("carPicUri"); String svrIndex = jo.getString("aswSyscode"); if (StringUtils.isNotBlank(platePicUrl)) { data.setImageUrl(hikvisionCall.saveToLocal(HikvisionCall.getHikvisionEventsPicture(new HikvisionEventsPictureRq(svrIndex, platePicUrl), project.getArtemisConfigHost(), project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()))); } - data.setAlarmDesc(dev.getHardwareName()); + data.setAlarmDesc(dev.getDeviceName()); data.setAlarmType(1); - data.setLocation(dev.getHardwareName()); + data.setLocation(dev.getDeviceName()); data.setCreateTime(DateUtil.formatDateTime(time)); data.setIsPushed(false); data.setCarNumber(plateNo);