From 8d7abc8492cc85817a2c90b3a381fab7a26c5811 Mon Sep 17 00:00:00 2001 From: htjcAdmin Date: Thu, 29 May 2025 16:59:00 +0800 Subject: [PATCH] =?UTF-8?q?/*=E6=97=A0=E4=BA=BA=E6=9C=BA=E7=BA=A2=E5=A4=96?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9=E3=80=82*/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/Infrared/InfraPictureInfo.java | 3 + .../domain/result/BasedataPatrolPoint.java | 75 ++++ .../mapper/BasedataPatrolPointMapper.java | 34 ++ .../service/impl/AlgorithmServiceImpl.java | 31 +- .../service/impl/HikVisionServiceImpl.java | 43 ++- .../mapper/BasedataPatrolPointMapper.xml | 328 ++++++++++++++++++ 6 files changed, 500 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/inspect/simulator/domain/result/BasedataPatrolPoint.java create mode 100644 src/main/java/com/inspect/simulator/mapper/BasedataPatrolPointMapper.java create mode 100644 src/main/resources/mapper/BasedataPatrolPointMapper.xml diff --git a/src/main/java/com/inspect/simulator/domain/Infrared/InfraPictureInfo.java b/src/main/java/com/inspect/simulator/domain/Infrared/InfraPictureInfo.java index 42af4ec..3db64de 100644 --- a/src/main/java/com/inspect/simulator/domain/Infrared/InfraPictureInfo.java +++ b/src/main/java/com/inspect/simulator/domain/Infrared/InfraPictureInfo.java @@ -12,6 +12,9 @@ import java.util.List; public class InfraPictureInfo { private Long channelId; private String channelCode; + + private Long patrolPointId; + private String patrolPointCode; //点一坐标 private Integer firstX; private Integer firstY; diff --git a/src/main/java/com/inspect/simulator/domain/result/BasedataPatrolPoint.java b/src/main/java/com/inspect/simulator/domain/result/BasedataPatrolPoint.java new file mode 100644 index 0000000..c2339b8 --- /dev/null +++ b/src/main/java/com/inspect/simulator/domain/result/BasedataPatrolPoint.java @@ -0,0 +1,75 @@ +package com.inspect.simulator.domain.result; + +import com.inspect.simulator.domain.BaseEntity; +import lombok.Getter; +import lombok.Setter; + + + +@Setter +@Getter +public class BasedataPatrolPoint extends BaseEntity { + private static final long serialVersionUID = 1L; + private Long patrolPointId; + private String patrolPointCode; + private String patrolPointName; + private Long deviceTypeId; + private Long mainDeviceId; + private Long deviceId; + private String deviceName; + private String patrolContent; + private String purpose; + private String deleteFlag; + private Long stdParolPointId; + private Long areaId; + private String patrolTypeId; + private String pointImptLevel; + private String alarmThreshold; + private String algSubtypeId; + private String algSubtypeName; + private String lowerValue; + private String upperValue; + private String positionX; + private String positionY; + private String positionZ; + private String algSubtypeIds; + private String originalAlgSubtypeIds; + private String originalDeviceId; + private String disRefPicturePath; + private String originalMainDeviceId; + private String meterType; + + @Override + public String toString() { + return "BasedataPatrolPoint{" + + "patrolPointId=" + patrolPointId + + ", patrolPointCode='" + patrolPointCode + '\'' + + ", patrolPointName='" + patrolPointName + '\'' + + ", deviceTypeId=" + deviceTypeId + + ", mainDeviceId=" + mainDeviceId + + ", deviceId=" + deviceId + + ", deviceName='" + deviceName + '\'' + + ", patrolContent='" + patrolContent + '\'' + + ", purpose='" + purpose + '\'' + + ", deleteFlag='" + deleteFlag + '\'' + + ", stdParolPointId=" + stdParolPointId + + ", areaId=" + areaId + + ", patrolTypeId='" + patrolTypeId + '\'' + + ", pointImptLevel='" + pointImptLevel + '\'' + + ", alarmThreshold='" + alarmThreshold + '\'' + + ", algSubtypeId='" + algSubtypeId + '\'' + + ", algSubtypeName='" + algSubtypeName + '\'' + + ", lowerValue='" + lowerValue + '\'' + + ", upperValue='" + upperValue + '\'' + + ", positionX='" + positionX + '\'' + + ", positionY='" + positionY + '\'' + + ", positionZ='" + positionZ + '\'' + + ", algSubtypeIds='" + algSubtypeIds + '\'' + + ", originalAlgSubtypeIds='" + originalAlgSubtypeIds + '\'' + + ", originalDeviceId='" + originalDeviceId + '\'' + + ", disRefPicturePath='" + disRefPicturePath + '\'' + + ", originalMainDeviceId='" + originalMainDeviceId + '\'' + + ", meterType='" + meterType + '\'' + + '}'; + } +} diff --git a/src/main/java/com/inspect/simulator/mapper/BasedataPatrolPointMapper.java b/src/main/java/com/inspect/simulator/mapper/BasedataPatrolPointMapper.java new file mode 100644 index 0000000..ec72b65 --- /dev/null +++ b/src/main/java/com/inspect/simulator/mapper/BasedataPatrolPointMapper.java @@ -0,0 +1,34 @@ +package com.inspect.simulator.mapper; + + +import com.inspect.simulator.domain.result.BasedataPatrolPoint; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + + +@Mapper +public interface BasedataPatrolPointMapper { + BasedataPatrolPoint selectBasedataPatrolPointByPatrolPointId(Long patrolPointId); + + List selectBasedataPatrolPointList(BasedataPatrolPoint patrolPoint); + + List selectBasedataPatrolPointListLikePointCode(BasedataPatrolPoint patrolPoint); + + List selectBasedataMonitorList(BasedataPatrolPoint patrolPoint); + + List selectBasedataMonitorUnionList(BasedataPatrolPoint patrolPoint); + + int insertBasedataPatrolPoint(BasedataPatrolPoint patrolPoint); + + int updateBasedataPatrolPoint(BasedataPatrolPoint patrolPoint); + + int deleteBasedataPatrolPointByPatrolPointId(Long patrolPointId); + + int deleteBasedataPatrolPointByPatrolPointIds(Long[] patrolPointIds); + + int selectPresetPosByPatrolPointId(Long[] patrolPointIds); + + BasedataPatrolPoint selectBasedataPatrolPointPresetForOne(BasedataPatrolPoint patrolPoint); + +} diff --git a/src/main/java/com/inspect/simulator/service/impl/AlgorithmServiceImpl.java b/src/main/java/com/inspect/simulator/service/impl/AlgorithmServiceImpl.java index 891bcff..3fe7b03 100644 --- a/src/main/java/com/inspect/simulator/service/impl/AlgorithmServiceImpl.java +++ b/src/main/java/com/inspect/simulator/service/impl/AlgorithmServiceImpl.java @@ -12,7 +12,9 @@ import com.inspect.simulator.domain.algorithm.out.AnalyseResItem; import com.inspect.simulator.domain.algorithm.out.AnalyseResPoint; import com.inspect.simulator.domain.algorithm.out.AnalyseResult; import com.inspect.simulator.domain.basedata.BasedataEqpBookChannel; +import com.inspect.simulator.domain.result.BasedataPatrolPoint; import com.inspect.simulator.domain.result.PatrolPresetPos; +import com.inspect.simulator.mapper.BasedataPatrolPointMapper; import com.inspect.simulator.mapper.PatrolPresetPosMapper; import com.inspect.simulator.service.AlgorithmService; import com.inspect.simulator.service.remote.AnalysisRemoteService; @@ -44,6 +46,8 @@ public class AlgorithmServiceImpl implements AlgorithmService { @Resource private PatrolPresetPosMapper patrolPresetPosMapper; + @Resource + private BasedataPatrolPointMapper basedataPatrolPointMapper; @Resource private HikVisionServiceImpl hikVisionService; @@ -173,23 +177,34 @@ public class AlgorithmServiceImpl implements AlgorithmService { } final String patrolPointId = analyseReqItem.getObjectId(); +// // 根据patrol_point_id查询数据表patrol_preset_pos,得到channel_id,根据channel_id查询数据表basedata_eqpbook_channel,得到channel_content +// List patrolPresetPosList = patrolPresetPosMapper.selectPatrolPresetPosByPatrolPointId(patrolPointId); +// if (patrolPresetPosList == null || patrolPresetPosList.isEmpty()) { +// log.error("[INFRARED] irPicAnalyse: patrolPresetPosList empty!"); +// return "{\"code\":\"203\"}"; +// } +// PatrolPresetPos patrolPresetPos = patrolPresetPosList.get(0); +// final String channelContent = patrolPresetPos.getChannelContent(); +// log.info(Color.MAGENTA + "[INFRARED] irPicAnalyse: channelContent={}" + Color.END, channelContent); + // 根据patrol_point_id查询数据表patrol_preset_pos,得到channel_id,根据channel_id查询数据表basedata_eqpbook_channel,得到channel_content - List patrolPresetPosList = patrolPresetPosMapper.selectPatrolPresetPosByPatrolPointId(patrolPointId); - if (patrolPresetPosList == null || patrolPresetPosList.isEmpty()) { - log.error("[INFRARED] irPicAnalyse: patrolPresetPosList empty!"); + BasedataPatrolPoint basedataPatrolPoint = new BasedataPatrolPoint(); + basedataPatrolPoint.setPatrolPointCode(patrolPointId); + List basedataPatrolPoints = basedataPatrolPointMapper.selectBasedataPatrolPointListLikePointCode(basedataPatrolPoint); + if (basedataPatrolPoints == null || basedataPatrolPoints.isEmpty()) { + log.error("[INFRARED] irPicAnalyse: basedataPatrolPoints empty!"); return "{\"code\":\"203\"}"; } - PatrolPresetPos patrolPresetPos = patrolPresetPosList.get(0); - final String channelContent = patrolPresetPos.getChannelContent(); - log.info(Color.MAGENTA + "[INFRARED] irPicAnalyse: channelContent={}" + Color.END, channelContent); - + BasedataPatrolPoint basedataPatrolPoint2 = basedataPatrolPoints.get(0); + final String infraFrameContent = basedataPatrolPoint2.getMeterType(); + log.info(Color.MAGENTA + "[INFRARED] irPicAnalyse: basedataPatrolPoint2: {}, infraFrameContent={}" + Color.END, basedataPatrolPoint2, infraFrameContent); String[] imageUrlList = analyseReqItem.getImageUrlList(); String[] typeListImg = analyseReqItem.getTypeList(); // 调用红外算法 InfraPictureInfo infraPictureInfo = new InfraPictureInfo(); infraPictureInfo.setImgType(typeListImg[0]); infraPictureInfo.setFilePath(imageUrlList[0]); - InfraredInfo infraredInfo = hikVisionService.calculatePicture(infraPictureInfo,channelContent); + InfraredInfo infraredInfo = hikVisionService.calculatePicture(infraPictureInfo,infraFrameContent); final String feedBackHostIp = analyseRequest.getRequestHostIp(); final String feedBackPort = analyseRequest.getRequestHostPort(); diff --git a/src/main/java/com/inspect/simulator/service/impl/HikVisionServiceImpl.java b/src/main/java/com/inspect/simulator/service/impl/HikVisionServiceImpl.java index 0af5053..e61ccb0 100644 --- a/src/main/java/com/inspect/simulator/service/impl/HikVisionServiceImpl.java +++ b/src/main/java/com/inspect/simulator/service/impl/HikVisionServiceImpl.java @@ -19,11 +19,13 @@ import com.inspect.simulator.domain.algorithm.out.AnalyseResItem; import com.inspect.simulator.domain.algorithm.out.AnalyseResPoint; import com.inspect.simulator.domain.algorithm.out.AnalyseResult; import com.inspect.simulator.domain.basedata.BasedataEqpBookChannel; +import com.inspect.simulator.domain.result.BasedataPatrolPoint; import com.inspect.simulator.hikVision.utils.AjaxResult; import com.inspect.simulator.hikVision.utils.StringUtils; //import com.inspect.simulator.hikVision.utils.jna.HikVisionUtils; import com.inspect.simulator.hikVision.utils.jna.HCNetSDK; import com.inspect.simulator.mapper.BasedataEqpBookChannelMapper; +import com.inspect.simulator.mapper.BasedataPatrolPointMapper; import com.inspect.simulator.mapper.InfraredBoxMapper; import com.inspect.simulator.service.HikVisionService; import com.inspect.simulator.service.remote.AnalysisRemoteService; @@ -111,6 +113,8 @@ public class HikVisionServiceImpl implements HikVisionService { @Resource public InfraredBoxMapper infraredBoxMapper; + @Autowired + private BasedataPatrolPointMapper basedataPatrolPointMapper; // @Override // public AjaxResult login(NvrInfo nvrInfo) { @@ -323,12 +327,6 @@ public class HikVisionServiceImpl implements HikVisionService { log.info("capturePicture, coordinate:{}", infraPictureInfo); final String imageType = infraPictureInfo.getImgType(); if (AlgConstants.INFRA_CAMERA.equals(imageType)) { - return AjaxResult.success("设置成功"); - } else if (AlgConstants.INFRA_CAMERA_REVERSE.equals(imageType)) { - return AjaxResult.success("设置成功"); - } else if (AlgConstants.INFRA_1800.equals(imageType)) { - return AjaxResult.success("设置成功"); - } else if (AlgConstants.INFRA_YU3.equals(imageType)) { Long channelId = infraPictureInfo.getChannelId(); //channelId = 1299L; BasedataEqpBookChannel basedataEqpBookChannel = basedataEqpBookChannelMapper.selectBasedataEqpBookChannelByChannelId(channelId); @@ -355,6 +353,39 @@ public class HikVisionServiceImpl implements HikVisionService { } else { return AjaxResult.error("点位不存在"); } + } else if (AlgConstants.INFRA_CAMERA_REVERSE.equals(imageType)) { + return AjaxResult.success("设置成功"); + } else if (AlgConstants.INFRA_1800.equals(imageType)) { + return AjaxResult.success("设置成功"); + } else if (AlgConstants.INFRA_YU3.equals(imageType)) { + Long patrolPointId = infraPictureInfo.getPatrolPointId(); + //channelId = 1299L; + BasedataPatrolPoint basedataPatrolPoint = basedataPatrolPointMapper.selectBasedataPatrolPointByPatrolPointId(patrolPointId); + log.info("capturePicture, basedataPatrolPoint: {}", basedataPatrolPoint); + if (basedataPatrolPoint != null) { + int firstX = 1; + int firstY = 1; + int secondX = 639; + int secondY = 511; + int imgWidth = 640; + int imgHeight = 512; + if (infraPictureInfo.getCoordinates() != null && !infraPictureInfo.getCoordinates().isEmpty()) { + firstX = infraPictureInfo.getCoordinates().get(0).getFirstX(); + firstY = infraPictureInfo.getCoordinates().get(0).getFirstY(); + secondX = infraPictureInfo.getCoordinates().get(0).getSecondX(); + secondY = infraPictureInfo.getCoordinates().get(0).getSecondY(); + imgWidth = infraPictureInfo.getImgHeight(); + imgHeight = infraPictureInfo.getImgWidth(); + } + + String infraFrameContent = firstX + "," + firstY + "," + secondX + "," + secondY + "," + imgWidth + "," + imgHeight; + log.info("capturePicture, infraFrameContent: {}", infraFrameContent); + basedataPatrolPoint.setMeterType(infraFrameContent); + basedataPatrolPointMapper.updateBasedataPatrolPoint(basedataPatrolPoint); + return AjaxResult.success("设置成功"); + } else { + return AjaxResult.error("点位不存在"); + } } else { return AjaxResult.error("不支持该类型"); } diff --git a/src/main/resources/mapper/BasedataPatrolPointMapper.xml b/src/main/resources/mapper/BasedataPatrolPointMapper.xml new file mode 100644 index 0000000..1ee6622 --- /dev/null +++ b/src/main/resources/mapper/BasedataPatrolPointMapper.xml @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select patrol_point_id, + patrol_point_code, + patrol_point_name, + device_type_id, + main_device_id, + device_id, + area_id, + patrol_content, + purpose, + create_by, + create_time, + update_by, + update_time, + delete_flag, + std_parol_point_id, + point_impt_level, + patrol_type_id, + lower_value, + upper_value, + position_x, + position_y, + position_z, + alg_subtype_ids, + original_alg_subtype_ids, + original_device_id, + dis_ref_picture_path, + original_main_device_id, + alarm_threshold, + meter_type + from basedata_patrolpoint + + + + + + + + + + + + + + insert into basedata_patrolpoint + + patrol_point_code, + patrol_point_name, + device_type_id, + main_device_id, + device_id, + area_id, + patrol_content, + purpose, + create_by, + create_time, + update_by, + update_time, + delete_flag, + std_parol_point_id, + point_impt_level, + patrol_type_id, + lower_value, + upper_value, + position_x, + position_y, + position_z, + alg_subtype_ids, + original_alg_subtype_ids, + original_device_id, + dis_ref_picture_path, + original_main_device_id, + alarm_threshold, + meter_type, + + + #{patrolPointCode}, + #{patrolPointName}, + #{deviceTypeId}, + #{mainDeviceId}, + #{deviceId}, + #{areaId}, + #{patrolContent}, + #{purpose}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{deleteFlag}, + #{stdParolPointId}, + #{pointImptLevel}, + #{patrolTypeId}, + #{lowerValue}, + #{upperValue}, + #{positionX}, + #{positionY}, + #{positionZ}, + #{algSubtypeIds}, + #{originalAlgSubtypeIds}, + #{originalDeviceId}, + #{disRefPicturePath}, + #{originalMainDeviceId}, + #{alarmThreshold}, + #{meterType}, + + + + + update basedata_patrolpoint + + patrol_point_code = #{patrolPointCode}, + patrol_point_name = #{patrolPointName}, + device_type_id = #{deviceTypeId}, + main_device_id = #{mainDeviceId}, + device_id = #{deviceId}, + area_id = #{areaId}, + patrol_content = #{patrolContent}, + purpose = #{purpose}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + delete_flag = #{deleteFlag}, + std_parol_point_id = #{stdParolPointId}, + point_impt_level = #{pointImptLevel}, + patrol_type_id = #{patrolTypeId}, + upper_value = #{upperValue}, + lower_value = #{lowerValue}, + position_x = #{positionX}, + position_y = #{positionY}, + position_z = #{positionZ}, + alg_subtype_ids = #{algSubtypeIds}, + original_alg_subtype_ids = #{originalAlgSubtypeIds}, + original_device_id = #{originalDeviceId}, + dis_ref_picture_path = #{disRefPicturePath}, + original_main_device_id = #{originalMainDeviceId}, + alarm_threshold = #{alarmThreshold}, + meter_type = #{meterType}, + + where patrol_point_id = #{patrolPointId} + + + + delete + from basedata_patrolpoint + where patrol_point_id = #{patrolPointId} + + + + delete from basedata_patrolpoint where patrol_point_id in + + #{patrolPointId} + + + +