From 8926d27639d8cb9826941b482926f774bd10dc92 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期二, 16 一月 2024 17:28:48 +0800 Subject: [PATCH] 增加引导井关联相机ptz --- ard-work/src/main/resources/mapper/alarmpoints/ArdWellGuideCameraMapper.xml | 93 +++ ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdWellGuideCameraController.java | 113 ++++ ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/GuideCamera.java | 26 + ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdWellGuideCameraService.java | 61 ++ ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java | 2 ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java | 4 ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties | 7 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java | 214 +++++++ ruoyi-admin/src/main/resources/i18n/messages_en_US.properties | 5 ard-work/src/main/java/com/ruoyi/alarmpoints/well/mapper/ArdWellGuideCameraMapper.java | 61 ++ ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java | 10 ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java | 2 ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdWellGuideCameraServiceImpl.java | 92 +++ bin/run.bat | 2 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java | 39 - ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java | 22 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java | 53 - ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java | 395 +++++++------- ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 45 - ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java | 4 ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java | 6 ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java | 9 ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml | 44 ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java | 2 ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java | 8 ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java | 11 /dev/null | 32 - ruoyi-admin/src/main/resources/i18n/messages.properties | 5 ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java | 5 ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdWellGuideCamera.java | 149 +++++ ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java | 9 31 files changed, 1,085 insertions(+), 445 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java index 08bb607..060b9de 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java @@ -21,5 +21,5 @@ String alarmType; Date receiveTime; double[] targetPosition; - GuidePTZ guidePTZ; + String wellId; } diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePTZ.java b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePTZ.java deleted file mode 100644 index 23d96dd..0000000 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePTZ.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.ruoyi.alarm.global.domain; - -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * @Description: - * @ClassName: GuidePTZ - * @Author: 鍒樿嫃涔� - * @Date: 2023骞�12鏈�09鏃�10:13:28 - **/ -@Data -@Accessors(chain = true) -public class GuidePTZ { - /** 寮曞P1鍊� */ - private Double P1; - - /** 寮曞T1鍊� */ - private Double T1; - - /** 寮曞Z1鍊� */ - private Double Z1; - - /** 寮曞P2鍊� */ - private Double P2; - - /** 寮曞T2鍊� */ - private Double T2; - - /** 寮曞Z2鍊� */ - private Double Z2; -} diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java index 2086b80..234adb7 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java @@ -45,8 +45,4 @@ * 寮曞鐩爣缁忕含搴� */ double[] targetPosition; - - /** 寮曞PTZ鍊� */ - private GuidePTZ guidePTZ; - } diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java index 7db19e7..ba87d51 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java @@ -1073,13 +1073,6 @@ Double longitude = well.getLongitude(); Double latitude = well.getLatitude(); String targetId = ardAlarmRadar.getTargetId(); - GuidePTZ guidePTZ = new GuidePTZ(); - guidePTZ.setP1(well.getGuideP1()); - guidePTZ.setT1(well.getGuideT1()); - guidePTZ.setZ1(well.getGuideZ1()); - guidePTZ.setP2(well.getGuideP2()); - guidePTZ.setT2(well.getGuideT2()); - guidePTZ.setZ2(well.getGuideZ2()); switch (ardAlarmRadar.getAlarmType()) { case "杩愬姩鐩爣妫�娴�": ArdAlarmRadarMove ardAlarmRadarMove = new ArdAlarmRadarMove(); @@ -1093,8 +1086,6 @@ ardAlarmRadarMove.setLatitude(latitude); ardAlarmRadarMove.setUpdateTime(radarAlarmData.getAlarmTime()); ardAlarmRadarMove.setRadarId(radarId); - ardAlarmRadarMove.setGuidePTZ(guidePTZ); - // ardAlarmRadarMoveHandler(ardAlarmRadarMove); break; case "鐑簮妫�娴�": @@ -1107,10 +1098,8 @@ ardAlarmRadarFire.setAlarmType("鐑簮妫�娴�"); ardAlarmRadarFire.setLongitude(longitude); ardAlarmRadarFire.setLatitude(latitude); - ardAlarmRadarFire.setGuidePTZ(guidePTZ); ardAlarmRadarFire.setRadarId(radarId); ardAlarmRadarFire.setUpdateTime(radarAlarmData.getAlarmTime()); - // ardAlarmRadarFireHandler(ardAlarmRadarFire); break; case "闆疯揪鎶芥补鏈哄仠鏈�": @@ -1125,8 +1114,6 @@ ardAlarmRadarPump.setUpdateTime(radarAlarmData.getAlarmTime()); ardAlarmRadarPump.setLongitude(well.getLongitude()); ardAlarmRadarPump.setLatitude(well.getLatitude()); - ardAlarmRadarPump.setGuidePTZ(guidePTZ); - // ardAlarmRadarPumpHandler(ardAlarmRadarPump); break; } @@ -1141,16 +1128,10 @@ //澶栬仈闃插尯鍚嶇О灏辨槸鍏磋叮鐐癸紝鏌ュ叴瓒g偣鍧愭爣 String defenseName = ardAlarmExternal.getDefenseName(); ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(defenseName); - GuidePTZ guidePTZ = new GuidePTZ(); + if (StringUtils.isNotNull(well)) { ardAlarmExternal.setLongitude(well.getLongitude()); ardAlarmExternal.setLatitude(well.getLatitude()); - guidePTZ.setP1(well.getGuideP1()); - guidePTZ.setT1(well.getGuideT1()); - guidePTZ.setZ1(well.getGuideZ1()); - guidePTZ.setP2(well.getGuideP2()); - guidePTZ.setT2(well.getGuideT2()); - guidePTZ.setZ2(well.getGuideZ2()); } int aae = ardAlarmExternalMapper.insertArdAlarmExternal(ardAlarmExternal); if (aae > 0) { @@ -1168,7 +1149,7 @@ .setAlarmType("sys_external") .setReceiveTime(ardAlarmExternal.getCreateTime()) .setTargetPosition(coordinate) - .setGuidePTZ(guidePTZ); + .setWellId(well.getId()); messagesEnqueued(guideDataDto); } //endregion @@ -1298,10 +1279,7 @@ return; } guideTask.setPriority(Integer.valueOf(priority)); - guideTask.setTargetPosition(guideDataDto.getTargetPosition());//鐩爣缁忕含搴� - if (guideDataDto.getGuidePTZ() != null) { - guideTask.setGuidePTZ(guideDataDto.getGuidePTZ());//鐩爣PTZ - } + guideTask.setTargetPosition(guideDataDto.getTargetPosition());//寮曞浜旾D //娑堟伅鍏ラ槦 queueHandler.addTaskToQueue(cameraId, guideTask); //鎵撳嵃闃熷垪 @@ -1370,7 +1348,6 @@ //鑾峰彇鐩告満寮曞鍏ラ槦 private void getCameraGuideToQueue(GuideDataDto guideDataDto) { - //鑾峰彇闆疯揪鎵�鍦ㄥ涓婄殑澶у厜鐢� ArdCameras cameraWithTower = ardEquipRadarMapper.getCameraByRadar(guideDataDto.getRadarId()); if (StringUtils.isNotNull(cameraWithTower)) { @@ -1402,8 +1379,7 @@ .setAlarmId(ardAlarmRadarMove.getId()) .setAlarmType(ardAlarmRadarMove.getAlarmType()) .setReceiveTime(ardAlarmRadarMove.getCreateTime()) - .setTargetPosition(coordinate) - .setGuidePTZ(ardAlarmRadarMove.getGuidePTZ()); + .setTargetPosition(coordinate); getCameraGuideToQueue(guideDataDto);//鑾峰彇鐩告満鍏ラ槦 } @@ -1426,8 +1402,7 @@ .setAlarmId(ardAlarmRadarFire.getId()) .setAlarmType(ardAlarmRadarFire.getAlarmType()) .setReceiveTime(ardAlarmRadarFire.getCreateTime()) - .setTargetPosition(coordinate) - .setGuidePTZ(ardAlarmRadarFire.getGuidePTZ()); + .setTargetPosition(coordinate); getCameraGuideToQueue(guideDataDto);//鑾峰彇鐩告満鍏ラ槦 } @@ -1451,11 +1426,9 @@ .setAlarmId(ardAlarmRadarPump.getId()) .setAlarmType(ardAlarmRadarPump.getAlarmType()) .setReceiveTime(ardAlarmRadarPump.getCreateTime()) - .setTargetPosition(coordinate) - .setGuidePTZ(ardAlarmRadarPump.getGuidePTZ()); + .setTargetPosition(coordinate); getCameraGuideToQueue(guideDataDto);//鑾峰彇鐩告満鍏ラ槦 } - /** * 闆疯揪鐩爣绉诲姩鎶ヨ澶勭悊 diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java index 1ca7cc7..9d5fe47 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueHandler.java @@ -15,7 +15,9 @@ import com.ruoyi.alarm.tube.domain.ArdAlarmTube; import com.ruoyi.alarm.tube.service.IArdAlarmTubeService; import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.spring.SpringUtils; import com.ruoyi.device.camera.domain.ArdCameras; @@ -58,25 +60,6 @@ } log.debug("鏂颁换鍔″叆闃�:" + task.getAlarmId()); guideTaskQueue.add(task); - /*鑾峰彇璇ョ浉鏈虹殑褰撳墠鎵ц绾跨▼-----寮冪敤*/ - //TaskThread currentTaskThread = threadMap.get(cameraId); - ////濡傛灉闃熷垪褰撳墠绾跨▼姝e湪杩愯锛岃嫢鍏ラ槦浠诲姟浼樺厛绾уぇ浜庡綋鍓嶄换鍔′紭鍏堢骇锛屽垯缁堟褰撳墠绾跨▼ - //if (currentTaskThread != null){ - // if (task.getPriority() > currentTaskThread.getCurrentTask().getPriority()) { - // currentTaskThread.getThread().interrupt(); - // } - // if (!currentTaskThread.getThread().isAlive()) { - // Thread newThread = createThread(cameraId, guideTaskQueue); - // threadMap.put(cameraId, new TaskThread(newThread, task)); - // newThread.start(); - // } - //} - ////濡傛灉闃熷垪褰撳墠娌℃湁绾跨▼姝e湪杩愯锛屽垯鍚姩鏂扮嚎绋� - //else { - // Thread newThread = createThread(cameraId, guideTaskQueue); - // threadMap.put(cameraId, new TaskThread(newThread, task)); - // newThread.start(); - //} } @Async("guideExecutor") @@ -94,7 +77,7 @@ } log.debug("鎵ц鏂颁换鍔�:銆�" + newTask.getAlarmId() + "銆�"); log.debug("鍓╀綑浠诲姟鏁�:銆�" + guideTasks.size() + "銆�"); - // 寮傛澶勭悊浠诲姟锛屽苟鑾峰彇Future + // 澶勭悊浠诲姟 processTask(newTask); } try { @@ -104,7 +87,7 @@ } } } - + //寮傛澶勭悊浠诲姟 public void processTask(GuideTask guideTask) { try { if (!IsEnableGuide(guideTask.getCameraId())) { @@ -114,35 +97,15 @@ CameraCmd cmd = new CameraCmd(); cmd.setCameraId(guideTask.getCameraId()); cmd.setChanNo(guideTask.getChanNo()); - cmd.setTargetPosition(guideTask.getTargetPosition()); cmd.setOperator(guideTask.getAlarmType()); cmd.setExpired(30); cmd.setRecordBucketName("record"); - Map<String, Double> ptzMap = new HashMap<>(); - switch (guideTask.getChanNo()) { - case 1: - ptzMap.put("p", guideTask.getGuidePTZ().getP1()); - ptzMap.put("t", guideTask.getGuidePTZ().getT1()); - ptzMap.put("z", guideTask.getGuidePTZ().getZ1()); - break; - case 2: - ptzMap.put("p", guideTask.getGuidePTZ().getP2()); - ptzMap.put("t", guideTask.getGuidePTZ().getT2()); - ptzMap.put("z", guideTask.getGuidePTZ().getZ2()); - break; - } - cmd.setPtzMap(ptzMap); - cmd.setRecordObjectName("alarm_" + guideTask.getAlarmId()); + cmd.setTargetPosition(guideTask.getTargetPosition()); + cmd.setRecordObjectName("alarmGuide/"+ DateUtils.getDateYYYYMMDD()+"/"+guideTask.getAlarmType()+"/"+guideTask.getAlarmId()); ICameraSdkService cameraSdkService = SpringUtils.getBean(ICameraSdkService.class); log.debug("寮�濮嬪紩瀵�"); - boolean guideRes = false; boolean recordFlag = false; - if (cmd.getPtzMap().get("p") != null) { - //p鍊煎瓨鍦� 浼樺厛寮曞ptz - guideRes = cameraSdkService.setPtz(cmd); - } else { - guideRes = cameraSdkService.guideTargetPosition(cmd); - } + boolean guideRes = cameraSdkService.guideTargetPosition(cmd); if (guideRes) { log.debug("寮曞鎴愬姛"); cameraSdkService.controlLock(cmd);//涓婇攣 @@ -236,4 +199,4 @@ } return enabled; } -} \ No newline at end of file +} diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java index 1b1c22c..0f96657 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java @@ -2,16 +2,13 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.alarm.global.domain.GuidePTZ; import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; /** * 闆疯揪闃茬伀鎶ヨ瀵硅薄 ard_alarm_radar_fire - * + * * @author ard * @date 2023-09-02 */ @@ -82,9 +79,5 @@ * 闆疯揪ID */ private String radarId; - - /** 寮曞PTZ鍊� */ - private GuidePTZ guidePTZ; - } diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java index 871d1d6..2b6e41b 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java @@ -2,16 +2,13 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.alarm.global.domain.GuidePTZ; import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; /** * 闆疯揪绉诲姩鎶ヨ瀵硅薄 ard_alarm_radar_move - * + * * @author ard * @date 2023-09-02 */ @@ -82,9 +79,5 @@ * 闆疯揪ID */ private String RadarId; - - - /** 寮曞PTZ鍊� */ - private GuidePTZ guidePTZ; } diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java index 07a03c0..ea173b0 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java @@ -3,10 +3,7 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; -import com.ruoyi.alarm.global.domain.GuidePTZ; import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; @@ -106,9 +103,6 @@ * 闆疯揪ID */ private String radarId; - /** - * 寮曞PTZ鍊� - */ - private GuidePTZ guidePTZ; + } diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdWellGuideCameraController.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdWellGuideCameraController.java new file mode 100644 index 0000000..d5a406f --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdWellGuideCameraController.java @@ -0,0 +1,113 @@ +package com.ruoyi.alarmpoints.well.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.alarmpoints.well.domain.ArdWellGuideCamera; +import com.ruoyi.alarmpoints.well.service.IArdWellGuideCameraService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 浜曞叧鑱斿紩瀵肩浉鏈篊ontroller + * + * @author ard + * @date 2024-01-15 + */ +@Api(tags = "浜曞叧鑱斿紩瀵肩浉鏈烘帴鍙�") +@RestController +@RequestMapping("/well/guidecamera") +public class ArdWellGuideCameraController extends BaseController +{ + @Autowired + private IArdWellGuideCameraService ardWellGuideCameraService; + + /** + * 鏌ヨ浜曞叧鑱斿紩瀵肩浉鏈哄垪琛� + */ + @ApiOperation("鏌ヨ浜曞叧鑱斿紩瀵肩浉鏈哄垪琛�") + @PreAuthorize("@ss.hasPermi('well:guidecamera:list')") + @GetMapping("/list") + public TableDataInfo list(ArdWellGuideCamera ardWellGuideCamera) + { + startPage(); + List<ArdWellGuideCamera> list = ardWellGuideCameraService.selectArdWellGuideCameraList(ardWellGuideCamera); + return getDataTable(list); + } + + /** + * 瀵煎嚭浜曞叧鑱斿紩瀵肩浉鏈哄垪琛� + */ + @PreAuthorize("@ss.hasPermi('well:guidecamera:export')") + @Log(title = "浜曞叧鑱斿紩瀵肩浉鏈�", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ArdWellGuideCamera ardWellGuideCamera) + { + List<ArdWellGuideCamera> list = ardWellGuideCameraService.selectArdWellGuideCameraList(ardWellGuideCamera); + ExcelUtil<ArdWellGuideCamera> util = new ExcelUtil<ArdWellGuideCamera>(ArdWellGuideCamera.class); + util.exportExcel(response, list, "浜曞叧鑱斿紩瀵肩浉鏈烘暟鎹�"); + } + + /** + * 鑾峰彇浜曞叧鑱斿紩瀵肩浉鏈鸿缁嗕俊鎭� + */ + @ApiOperation("鑾峰彇浜曞叧鑱斿紩瀵肩浉鏈鸿缁嗕俊鎭�") + @PreAuthorize("@ss.hasPermi('well:guidecamera:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return success(ardWellGuideCameraService.selectArdWellGuideCameraById(id)); + } + + /** + * 鏂板浜曞叧鑱斿紩瀵肩浉鏈� + */ + @ApiOperation("鏂板浜曞叧鑱斿紩瀵肩浉鏈�") + @PreAuthorize("@ss.hasPermi('well:guidecamera:add')") + @Log(title = "浜曞叧鑱斿紩瀵肩浉鏈�", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ArdWellGuideCamera ardWellGuideCamera) + { + return toAjax(ardWellGuideCameraService.insertArdWellGuideCamera(ardWellGuideCamera)); + } + + /** + * 淇敼浜曞叧鑱斿紩瀵肩浉鏈� + */ + @ApiOperation("淇敼浜曞叧鑱斿紩瀵肩浉鏈�") + @PreAuthorize("@ss.hasPermi('well:guidecamera:edit')") + @Log(title = "浜曞叧鑱斿紩瀵肩浉鏈�", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ArdWellGuideCamera ardWellGuideCamera) + { + return toAjax(ardWellGuideCameraService.updateArdWellGuideCamera(ardWellGuideCamera)); + } + + /** + * 鍒犻櫎浜曞叧鑱斿紩瀵肩浉鏈� + */ + @ApiOperation("鍒犻櫎浜曞叧鑱斿紩瀵肩浉鏈�") + @PreAuthorize("@ss.hasPermi('well:guidecamera:remove')") + @Log(title = "浜曞叧鑱斿紩瀵肩浉鏈�", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + return toAjax(ardWellGuideCameraService.deleteArdWellGuideCameraByIds(ids)); + } +} diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java index a734150..b587a8a 100644 --- a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java @@ -1,6 +1,7 @@ package com.ruoyi.alarmpoints.well.domain; import java.util.Date; +import java.util.List; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -14,7 +15,7 @@ /** * 浜曠鐞嗗璞� ard_alarmpoints_well - * + * * @author 鍒樿嫃涔� * @date 2023-03-07 */ @@ -98,26 +99,11 @@ /** 鐢ㄦ埛id */ private String userId; - /** 寮曞P1鍊� */ - private Double guideP1; - - /** 寮曞T1鍊� */ - private Double guideT1; - - /** 寮曞Z1鍊� */ - private Double guideZ1; - - /** 寮曞P2鍊� */ - private Double guideP2; - - /** 寮曞T2鍊� */ - private Double guideT2; - - /** 寮曞Z2鍊� */ - private Double guideZ2; @TableField(exist = false) private String type; + /** 鍏宠仈寮曞鐩告満鍒楄〃 */ + List<ArdWellGuideCamera> ardWellGuideCameraList; } diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdWellGuideCamera.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdWellGuideCamera.java new file mode 100644 index 0000000..92b5a29 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdWellGuideCamera.java @@ -0,0 +1,149 @@ +package com.ruoyi.alarmpoints.well.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 浜曞叧鑱斿紩瀵肩浉鏈哄璞� ard_well_guide_camera + * + * @author ard + * @date 2024-01-15 + */ +public class ArdWellGuideCamera extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 涓婚敭 */ + private String id; + + /** 鐩告満ID */ + @Excel(name = "鐩告満ID") + private String cameraId; + + /** 鍙鍏塸鍊� */ + @Excel(name = "鍙鍏塸鍊�") + private Double p1; + + /** 鍙鍏塼鍊� */ + @Excel(name = "鍙鍏塼鍊�") + private Double t1; + + /** 鍙鍏墇鍊� */ + @Excel(name = "鍙鍏墇鍊�") + private Double z1; + + /** 鐑孩澶杙鍊� */ + @Excel(name = "鐑孩澶杙鍊�") + private Double p2; + + /** 鐑孩澶杢鍊� */ + @Excel(name = "鐑孩澶杢鍊�") + private Double t2; + + /** 鐑孩澶杬鍊� */ + @Excel(name = "鐑孩澶杬鍊�") + private Double z2; + + /** 浜旾D */ + @Excel(name = "浜旾D") + private String wellId; + + public void setId(String id) + { + this.id = id; + } + + public String getId() + { + return id; + } + public void setCameraId(String cameraId) + { + this.cameraId = cameraId; + } + + public String getCameraId() + { + return cameraId; + } + public void setP1(Double p1) + { + this.p1 = p1; + } + + public Double getP1() + { + return p1; + } + public void setT1(Double t1) + { + this.t1 = t1; + } + + public Double getT1() + { + return t1; + } + public void setZ1(Double z1) + { + this.z1 = z1; + } + + public Double getZ1() + { + return z1; + } + public void setP2(Double p2) + { + this.p2 = p2; + } + + public Double getP2() + { + return p2; + } + public void setT2(Double t2) + { + this.t2 = t2; + } + + public Double getT2() + { + return t2; + } + public void setZ2(Double z2) + { + this.z2 = z2; + } + + public Double getZ2() + { + return z2; + } + public void setWellId(String wellId) + { + this.wellId = wellId; + } + + public String getWellId() + { + return wellId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("cameraId", getCameraId()) + .append("p1", getP1()) + .append("t1", getT1()) + .append("z1", getZ1()) + .append("p2", getP2()) + .append("t2", getT2()) + .append("z2", getZ2()) + .append("wellId", getWellId()) + .toString(); + } +} diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/GuideCamera.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/GuideCamera.java new file mode 100644 index 0000000..be4d659 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/GuideCamera.java @@ -0,0 +1,26 @@ +package com.ruoyi.alarmpoints.well.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Description: 浜曞叧鑱斿紩瀵紁tz鍒楄〃 + * @ClassName: GuideCamera + * @Author: 鍒樿嫃涔� + * @Date: 2024骞�01鏈�15鏃�15:30:54 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class GuideCamera { + Long id; + String cameraId;//鐩告満 + Double p1; + Double t1; + Double z1; + Double p2; + Double t2; + Double z2; + String wellId;//浜昳d +} diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/mapper/ArdWellGuideCameraMapper.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/mapper/ArdWellGuideCameraMapper.java new file mode 100644 index 0000000..6d623fb --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/mapper/ArdWellGuideCameraMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.alarmpoints.well.mapper; + +import java.util.List; +import com.ruoyi.alarmpoints.well.domain.ArdWellGuideCamera; + +/** + * 浜曞叧鑱斿紩瀵肩浉鏈篗apper鎺ュ彛 + * + * @author ard + * @date 2024-01-15 + */ +public interface ArdWellGuideCameraMapper +{ + /** + * 鏌ヨ浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param id 浜曞叧鑱斿紩瀵肩浉鏈轰富閿� + * @return 浜曞叧鑱斿紩瀵肩浉鏈� + */ + public ArdWellGuideCamera selectArdWellGuideCameraById(String id); + + /** + * 鏌ヨ浜曞叧鑱斿紩瀵肩浉鏈哄垪琛� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 浜曞叧鑱斿紩瀵肩浉鏈洪泦鍚� + */ + public List<ArdWellGuideCamera> selectArdWellGuideCameraList(ArdWellGuideCamera ardWellGuideCamera); + + /** + * 鏂板浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 缁撴灉 + */ + public int insertArdWellGuideCamera(ArdWellGuideCamera ardWellGuideCamera); + + /** + * 淇敼浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 缁撴灉 + */ + public int updateArdWellGuideCamera(ArdWellGuideCamera ardWellGuideCamera); + + /** + * 鍒犻櫎浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param id 浜曞叧鑱斿紩瀵肩浉鏈轰富閿� + * @return 缁撴灉 + */ + public int deleteArdWellGuideCameraById(String id); + + /** + * 鎵归噺鍒犻櫎浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteArdWellGuideCameraByIds(String[] ids); +} diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdWellGuideCameraService.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdWellGuideCameraService.java new file mode 100644 index 0000000..948cb35 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdWellGuideCameraService.java @@ -0,0 +1,61 @@ +package com.ruoyi.alarmpoints.well.service; + +import java.util.List; +import com.ruoyi.alarmpoints.well.domain.ArdWellGuideCamera; + +/** + * 浜曞叧鑱斿紩瀵肩浉鏈篠ervice鎺ュ彛 + * + * @author ard + * @date 2024-01-15 + */ +public interface IArdWellGuideCameraService +{ + /** + * 鏌ヨ浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param id 浜曞叧鑱斿紩瀵肩浉鏈轰富閿� + * @return 浜曞叧鑱斿紩瀵肩浉鏈� + */ + public ArdWellGuideCamera selectArdWellGuideCameraById(String id); + + /** + * 鏌ヨ浜曞叧鑱斿紩瀵肩浉鏈哄垪琛� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 浜曞叧鑱斿紩瀵肩浉鏈洪泦鍚� + */ + public List<ArdWellGuideCamera> selectArdWellGuideCameraList(ArdWellGuideCamera ardWellGuideCamera); + + /** + * 鏂板浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 缁撴灉 + */ + public int insertArdWellGuideCamera(ArdWellGuideCamera ardWellGuideCamera); + + /** + * 淇敼浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 缁撴灉 + */ + public int updateArdWellGuideCamera(ArdWellGuideCamera ardWellGuideCamera); + + /** + * 鎵归噺鍒犻櫎浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ids 闇�瑕佸垹闄ょ殑浜曞叧鑱斿紩瀵肩浉鏈轰富閿泦鍚� + * @return 缁撴灉 + */ + public int deleteArdWellGuideCameraByIds(String[] ids); + + /** + * 鍒犻櫎浜曞叧鑱斿紩瀵肩浉鏈轰俊鎭� + * + * @param id 浜曞叧鑱斿紩瀵肩浉鏈轰富閿� + * @return 缁撴灉 + */ + public int deleteArdWellGuideCameraById(String id); +} diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java index 6970cce..16aebd2 100644 --- a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java @@ -9,11 +9,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; -import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo; -import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellParam; -import com.ruoyi.alarmpoints.well.domain.RTU_DATA_YJ_8; +import com.ruoyi.alarmpoints.well.domain.*; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; +import com.ruoyi.alarmpoints.well.mapper.ArdWellGuideCameraMapper; import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.entity.SysConfig; @@ -50,6 +48,9 @@ private static final Logger log = LoggerFactory.getLogger(ArdAlarmpointsWellServiceImpl.class); @Resource private ArdAlarmpointsWellMapper ardAlarmpointsWellMapper; + @Resource + private ArdWellGuideCameraMapper ardWellGuideCameraMapper; + @Autowired protected Validator validator; @@ -137,6 +138,7 @@ ardAlarmpointsWell.setUpdateTime(DateUtils.getNowDate()); return ardAlarmpointsWellMapper.updateArdAlarmpointsWell(ardAlarmpointsWell); } + @Override @Transactional public int updateArdAlarmpointsWellByWellId(ArdAlarmpointsWell ardAlarmpointsWell) { @@ -144,6 +146,7 @@ ardAlarmpointsWell.setUpdateTime(DateUtils.getNowDate()); return ardAlarmpointsWellMapper.updateArdAlarmpointsWellByWellId(ardAlarmpointsWell); } + /** * 鎵归噺鍒犻櫎浜曠鐞� * @@ -312,11 +315,11 @@ } @Override - public List<ArdAlarmpointsWell> getNearbyWellList(Double longitudeCenter,Double latitudeCenter, Long deptId, Integer range) { + public List<ArdAlarmpointsWell> getNearbyWellList(Double longitudeCenter, Double latitudeCenter, Long deptId, Integer range) { List<ArdAlarmpointsWell> nearbyWellList = new ArrayList<>(); try { if (longitudeCenter != null && latitudeCenter != null) { - ArdAlarmpointsWell ardAlarmpointsWell=new ArdAlarmpointsWell(); + ArdAlarmpointsWell ardAlarmpointsWell = new ArdAlarmpointsWell(); ardAlarmpointsWell.setDeptId(deptId); List<ArdAlarmpointsWell> ardAlarmpointsWells = ardAlarmpointsWellMapper.selectArdAlarmpointsWellList(ardAlarmpointsWell); if (ardAlarmpointsWells.size() > 0) { @@ -341,167 +344,167 @@ @Override public Map<String, Object> getWellDataByWellId(String wellId, List<SysConfig> config) { ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(wellId); - Map<String,Object> result = new HashMap(); - if(ardAlarmpointsWell.getWellId() != null){ - result.put("wellId",ardAlarmpointsWell.getWellId()); - }else{ - result.put("wellId",""); + Map<String, Object> result = new HashMap(); + if (ardAlarmpointsWell.getWellId() != null) { + result.put("wellId", ardAlarmpointsWell.getWellId()); + } else { + result.put("wellId", ""); } - if(ardAlarmpointsWell.getWellNumber() != null){ - result.put("wellNumber",ardAlarmpointsWell.getWellNumber()); - }else{ - result.put("wellNumber",""); + if (ardAlarmpointsWell.getWellNumber() != null) { + result.put("wellNumber", ardAlarmpointsWell.getWellNumber()); + } else { + result.put("wellNumber", ""); } - if(ardAlarmpointsWell.getOilProduction() != null){ - result.put("oilProduction",ardAlarmpointsWell.getOilProduction()); - }else{ - result.put("oilProduction",""); + if (ardAlarmpointsWell.getOilProduction() != null) { + result.put("oilProduction", ardAlarmpointsWell.getOilProduction()); + } else { + result.put("oilProduction", ""); } - if(ardAlarmpointsWell.getWellBlock() != null){ - result.put("wellBlock",ardAlarmpointsWell.getWellBlock()); - }else{ - result.put("wellBlock",""); + if (ardAlarmpointsWell.getWellBlock() != null) { + result.put("wellBlock", ardAlarmpointsWell.getWellBlock()); + } else { + result.put("wellBlock", ""); } - if(ardAlarmpointsWell.getProductionDate() != null){ - result.put("productionDate",ardAlarmpointsWell.getProductionDate()); - }else{ - result.put("productionDate",""); + if (ardAlarmpointsWell.getProductionDate() != null) { + result.put("productionDate", ardAlarmpointsWell.getProductionDate()); + } else { + result.put("productionDate", ""); } - if(ardAlarmpointsWell.getDisplacementMode() != null){ - result.put("displacementMode",ardAlarmpointsWell.getDisplacementMode()); - }else{ - result.put("displacementMode",""); + if (ardAlarmpointsWell.getDisplacementMode() != null) { + result.put("displacementMode", ardAlarmpointsWell.getDisplacementMode()); + } else { + result.put("displacementMode", ""); } - if(ardAlarmpointsWell.getSurroundingEnvironment() != null){ - result.put("surroundingEnvironment",ardAlarmpointsWell.getSurroundingEnvironment()); - }else{ - result.put("surroundingEnvironment",""); + if (ardAlarmpointsWell.getSurroundingEnvironment() != null) { + result.put("surroundingEnvironment", ardAlarmpointsWell.getSurroundingEnvironment()); + } else { + result.put("surroundingEnvironment", ""); } - if(ardAlarmpointsWell.getWellType() != null){ - result.put("wellType",ardAlarmpointsWell.getWellType()); - }else{ - result.put("wellType",""); + if (ardAlarmpointsWell.getWellType() != null) { + result.put("wellType", ardAlarmpointsWell.getWellType()); + } else { + result.put("wellType", ""); } - if(ardAlarmpointsWell.getInstalledLoad() != null){ - result.put("installedLoad",ardAlarmpointsWell.getInstalledLoad()); - }else{ - result.put("installedLoad",""); + if (ardAlarmpointsWell.getInstalledLoad() != null) { + result.put("installedLoad", ardAlarmpointsWell.getInstalledLoad()); + } else { + result.put("installedLoad", ""); } - if(ardAlarmpointsWell.getMeteringStation() != null){ - result.put("meteringStation",ardAlarmpointsWell.getMeteringStation()); - }else{ - result.put("meteringStation",""); + if (ardAlarmpointsWell.getMeteringStation() != null) { + result.put("meteringStation", ardAlarmpointsWell.getMeteringStation()); + } else { + result.put("meteringStation", ""); } - if(ardAlarmpointsWell.getTransferStation() != null){ - result.put("transferStation",ardAlarmpointsWell.getTransferStation()); - }else{ - result.put("transferStation",""); + if (ardAlarmpointsWell.getTransferStation() != null) { + result.put("transferStation", ardAlarmpointsWell.getTransferStation()); + } else { + result.put("transferStation", ""); } - if(ardAlarmpointsWell.getDehydrationStation() != null){ - result.put("dehydrationStation",ardAlarmpointsWell.getDehydrationStation()); - }else{ - result.put("dehydrationStation",""); + if (ardAlarmpointsWell.getDehydrationStation() != null) { + result.put("dehydrationStation", ardAlarmpointsWell.getDehydrationStation()); + } else { + result.put("dehydrationStation", ""); } - if(ardAlarmpointsWell.getRunStatus() != null){ - result.put("runStatus",ardAlarmpointsWell.getRunStatus()); - }else{ - result.put("runStatus",""); + if (ardAlarmpointsWell.getRunStatus() != null) { + result.put("runStatus", ardAlarmpointsWell.getRunStatus()); + } else { + result.put("runStatus", ""); } - if(ardAlarmpointsWell.getLongitude() != null){ - result.put("longitude",ardAlarmpointsWell.getLongitude()); - }else{ - result.put("longitude",""); + if (ardAlarmpointsWell.getLongitude() != null) { + result.put("longitude", ardAlarmpointsWell.getLongitude()); + } else { + result.put("longitude", ""); } - if(ardAlarmpointsWell.getLatitude() != null){ - result.put("latitude",ardAlarmpointsWell.getLatitude()); - }else{ - result.put("latitude",""); + if (ardAlarmpointsWell.getLatitude() != null) { + result.put("latitude", ardAlarmpointsWell.getLatitude()); + } else { + result.put("latitude", ""); } - if(ardAlarmpointsWell.getAltitude() != null){ - result.put("altitude",ardAlarmpointsWell.getAltitude()); - }else{ - result.put("altitude",""); + if (ardAlarmpointsWell.getAltitude() != null) { + result.put("altitude", ardAlarmpointsWell.getAltitude()); + } else { + result.put("altitude", ""); } - if(ardAlarmpointsWell.getUserId() != null){ - result.put("userId",ardAlarmpointsWell.getUserId()); - }else{ - result.put("userId",""); + if (ardAlarmpointsWell.getUserId() != null) { + result.put("userId", ardAlarmpointsWell.getUserId()); + } else { + result.put("userId", ""); } - if(ardAlarmpointsWell.getDeptId() != null){ - result.put("deptId",ardAlarmpointsWell.getDeptId()); + if (ardAlarmpointsWell.getDeptId() != null) { + result.put("deptId", ardAlarmpointsWell.getDeptId()); SysDept sysDept = sysDeptMapper.selectDeptById(ardAlarmpointsWell.getDeptId());//鏌ヨ鍏磋叮鐐规墍鍦ㄩ儴闂� - if(sysDept != null){ - result.put("deptName",sysDept.getDeptName()); - }else{ - result.put("deptName",""); + if (sysDept != null) { + result.put("deptName", sysDept.getDeptName()); + } else { + result.put("deptName", ""); } - }else{ - result.put("deptId",""); - result.put("deptName",""); + } else { + result.put("deptId", ""); + result.put("deptName", ""); } - if(ardAlarmpointsWell.getCreateBy() != null){ - result.put("createBy",ardAlarmpointsWell.getCreateBy()); - }else{ - result.put("createBy",""); + if (ardAlarmpointsWell.getCreateBy() != null) { + result.put("createBy", ardAlarmpointsWell.getCreateBy()); + } else { + result.put("createBy", ""); } - if(ardAlarmpointsWell.getCreateTime() != null){ - result.put("createTime",ardAlarmpointsWell.getCreateTime()); - }else{ - result.put("createTime",""); + if (ardAlarmpointsWell.getCreateTime() != null) { + result.put("createTime", ardAlarmpointsWell.getCreateTime()); + } else { + result.put("createTime", ""); } - if(ardAlarmpointsWell.getUpdateBy() != null){ - result.put("updateBy",ardAlarmpointsWell.getUpdateBy()); - }else{ - result.put("updateBy",""); + if (ardAlarmpointsWell.getUpdateBy() != null) { + result.put("updateBy", ardAlarmpointsWell.getUpdateBy()); + } else { + result.put("updateBy", ""); } - if(ardAlarmpointsWell.getUpdateTime() != null){ - result.put("updateTime",ardAlarmpointsWell.getUpdateTime()); - }else{ - result.put("updateTime",""); + if (ardAlarmpointsWell.getUpdateTime() != null) { + result.put("updateTime", ardAlarmpointsWell.getUpdateTime()); + } else { + result.put("updateTime", ""); } - if(ardAlarmpointsWell.getGuideP1() != null){ - result.put("guideP1",ardAlarmpointsWell.getGuideP1()); - }else{ - result.put("guideP1",""); - } - if(ardAlarmpointsWell.getGuideP2() != null){ - result.put("guideP2",ardAlarmpointsWell.getGuideP2()); - }else{ - result.put("guideP2",""); - } - if(ardAlarmpointsWell.getGuideT1() != null){ - result.put("guideT1",ardAlarmpointsWell.getGuideT1()); - }else{ - result.put("guideT1",""); - } - if(ardAlarmpointsWell.getGuideT2() != null){ - result.put("guideT2",ardAlarmpointsWell.getGuideT2()); - }else{ - result.put("guideT2",""); - } - if(ardAlarmpointsWell.getGuideZ1() != null){ - result.put("guideZ1",ardAlarmpointsWell.getGuideZ1()); - }else{ - result.put("guideZ1",""); - } - if(ardAlarmpointsWell.getGuideZ2() != null){ - result.put("guideZ2",ardAlarmpointsWell.getGuideZ2()); - }else{ - result.put("guideZ2",""); - } - if(config.size() != 0){ + //if(ardAlarmpointsWell.getGuideP1() != null){ + // result.put("guideP1",ardAlarmpointsWell.getGuideP1()); + //}else{ + // result.put("guideP1",""); + //} + //if(ardAlarmpointsWell.getGuideP2() != null){ + // result.put("guideP2",ardAlarmpointsWell.getGuideP2()); + //}else{ + // result.put("guideP2",""); + //} + //if(ardAlarmpointsWell.getGuideT1() != null){ + // result.put("guideT1",ardAlarmpointsWell.getGuideT1()); + //}else{ + // result.put("guideT1",""); + //} + //if(ardAlarmpointsWell.getGuideT2() != null){ + // result.put("guideT2",ardAlarmpointsWell.getGuideT2()); + //}else{ + // result.put("guideT2",""); + //} + //if(ardAlarmpointsWell.getGuideZ1() != null){ + // result.put("guideZ1",ardAlarmpointsWell.getGuideZ1()); + //}else{ + // result.put("guideZ1",""); + //} + //if(ardAlarmpointsWell.getGuideZ2() != null){ + // result.put("guideZ2",ardAlarmpointsWell.getGuideZ2()); + //}else{ + // result.put("guideZ2",""); + //} + if (config.size() != 0) { String oracle = config.get(0).getConfigValue(); String[] oracleArr = oracle.split(";"); - if(oracleArr.length == 3){ + if (oracleArr.length == 3) { String url = oracle.split(";")[0]; String username = oracle.split(";")[1]; String password = oracle.split(";")[2]; try { - int checkMark = checkTable(url,username,password,"\'RTU_DATA_YJ_8\'");//涓夊巶琛ㄥ瓨鍦� - if(checkMark == 1){ - Map<String,Object> resultRTU = getRtuDataYjByJH(url,username,password,"RTU_DATA_YJ_8","\'" + wellId + "\'"); + int checkMark = checkTable(url, username, password, "\'RTU_DATA_YJ_8\'");//涓夊巶琛ㄥ瓨鍦� + if (checkMark == 1) { + Map<String, Object> resultRTU = getRtuDataYjByJH(url, username, password, "RTU_DATA_YJ_8", "\'" + wellId + "\'"); result.putAll(resultRTU); - }else{ + } else { result.put("wellRunningState", "n");//娌逛簳杩愯鐘舵�� result.put("totalPowerConsumption", "n");//鎬昏�楃數閲� result.put("communicationMachine", "n");//璁惧閫氳 @@ -533,18 +536,18 @@ } catch (Exception e) { e.printStackTrace(); } - }else if(oracleArr.length == 4){ + } else if (oracleArr.length == 4) { String url = oracle.split(";")[0]; String username = oracle.split(";")[1]; String password = oracle.split(";")[2]; String prod = oracle.split(";")[3]; try { //int checkMark = checkTable(url,username,password,"\'RTU_DATA_YJ_8\'");//涓夊巶琛ㄥ瓨鍦� - int checkMark = checkTable(url,username,password,"\'" + prod + ".RTU_DATA_YJ_8\'");//涓夊巶琛ㄥ瓨鍦� - if(checkMark == 1){ - Map<String,Object> resultRTU = getRtuDataYjByJH(url,username,password,prod + ".RTU_DATA_YJ_8","\'" + wellId + "\'"); + int checkMark = checkTable(url, username, password, "\'" + prod + ".RTU_DATA_YJ_8\'");//涓夊巶琛ㄥ瓨鍦� + if (checkMark == 1) { + Map<String, Object> resultRTU = getRtuDataYjByJH(url, username, password, prod + ".RTU_DATA_YJ_8", "\'" + wellId + "\'"); result.putAll(resultRTU); - }else{ + } else { result.put("wellRunningState", "n");//娌逛簳杩愯鐘舵�� result.put("totalPowerConsumption", "n");//鎬昏�楃數閲� result.put("communicationMachine", "n");//璁惧閫氳 @@ -577,7 +580,7 @@ e.printStackTrace(); } } - }else{ + } else { result.put("wellRunningState", "n");//娌逛簳杩愯鐘舵�� result.put("totalPowerConsumption", "n");//鎬昏�楃數閲� result.put("communicationMachine", "n");//璁惧閫氳 @@ -609,7 +612,7 @@ return result; } - public int checkTable(String url,String username,String password,String tableName) throws ClassNotFoundException, SQLException { + public int checkTable(String url, String username, String password, String tableName) throws ClassNotFoundException, SQLException { Connection connection = null; Statement updateStatement = null; @@ -618,7 +621,7 @@ try { Class.forName("oracle.jdbc.OracleDriver"); - connection = DriverManager.getConnection(url,username,password); + connection = DriverManager.getConnection(url, username, password); //Statement 瀵硅薄 鍙戦�乻ql updateStatement = connection.createStatement(); //鏌ヨ @@ -626,7 +629,7 @@ ResultSet resultSet = queryStatement.executeQuery("select count(*) from user_tables where table_name = upper(" + tableName + ")"); int result = 0; - while(resultSet.next()){ + while (resultSet.next()) { int column = resultSet.getInt(1); result = column; } @@ -635,19 +638,19 @@ e.printStackTrace(); return 0; } finally { - if (updateStatement != null){ + if (updateStatement != null) { updateStatement.close(); } - if (queryStatement != null){ + if (queryStatement != null) { queryStatement.close(); } - if (connection != null){ + if (connection != null) { connection.close(); } } } - public Map<String,Object> getRtuDataYjByJH(String url,String username,String password,String tableName,String JH) throws ClassNotFoundException, SQLException{ + public Map<String, Object> getRtuDataYjByJH(String url, String username, String password, String tableName, String JH) throws ClassNotFoundException, SQLException { Connection connection = null; Statement updateStatement = null; @@ -656,7 +659,7 @@ try { Class.forName("oracle.jdbc.OracleDriver"); - connection = DriverManager.getConnection(url,username,password); + connection = DriverManager.getConnection(url, username, password); //Statement 瀵硅薄 鍙戦�乻ql updateStatement = connection.createStatement(); //鏌ヨ @@ -665,8 +668,8 @@ "select rdy.JH,max(rdy.RQ) as RQ from RTU_DATA_YJ_8 rdy group by rdy.JH" + ")t on rdy0.JH = t.JH and rdy0.RQ = t.RQ where rdy0.JH = " + JH); - Map<String,Object> result = new HashMap(); - while(resultSet.next()){ + Map<String, Object> result = new HashMap(); + while (resultSet.next()) { result.put("wellRunningState", "n"); result.put("totalPowerConsumption", "n");//鎬昏�楃數閲� result.put("communicationMachine", "n");//璁惧閫氳 @@ -675,108 +678,108 @@ result.put("meteringPlantWaterPressure", "n");//璁¢噺闂存幒姘村帇鍔�// result.put("torque", "n");//鎵煩 - if(resultSet.getString("MAT") != null){//鍥炴补娓╁害 + if (resultSet.getString("MAT") != null) {//鍥炴补娓╁害 result.put("MAT", resultSet.getString("MAT")); - }else{ + } else { result.put("MAT", "n"); } - if(resultSet.getString("TGP") != null){//浜曞彛娌瑰帇 + if (resultSet.getString("TGP") != null) {//浜曞彛娌瑰帇 result.put("TGP", resultSet.getString("TGP")); - }else{ + } else { result.put("TGP", "n"); } - if(resultSet.getString("CPV") != null){//浜曞彛濂楀帇 + if (resultSet.getString("CPV") != null) {//浜曞彛濂楀帇 result.put("CPV", resultSet.getString("CPV")); - }else{ + } else { result.put("CPV", "n"); } - if(resultSet.getString("ADL") != null){//A鐩哥數娴� + if (resultSet.getString("ADL") != null) {//A鐩哥數娴� result.put("ADL", resultSet.getString("ADL")); - }else{ + } else { result.put("ADL", "n"); } - if(resultSet.getString("ADY") != null){//A鐩哥數鍘� + if (resultSet.getString("ADY") != null) {//A鐩哥數鍘� result.put("ADY", resultSet.getString("ADY")); - }else{ + } else { result.put("ADY", "n"); } - if(resultSet.getString("BDL") != null){//B鐩哥數娴� + if (resultSet.getString("BDL") != null) {//B鐩哥數娴� result.put("BDL", resultSet.getString("BDL")); - }else{ + } else { result.put("BDL", "n"); } - if(resultSet.getString("BDY") != null){//B鐩哥數鍘� + if (resultSet.getString("BDY") != null) {//B鐩哥數鍘� result.put("BDY", resultSet.getString("BDY")); - }else{ + } else { result.put("BDY", "n"); } - if(resultSet.getString("CDL") != null){//C鐩哥數娴� + if (resultSet.getString("CDL") != null) {//C鐩哥數娴� result.put("CDL", resultSet.getString("CDL")); - }else{ + } else { result.put("CDL", "n"); } - if(resultSet.getString("CDY") != null){//C鐩哥數鍘� + if (resultSet.getString("CDY") != null) {//C鐩哥數鍘� result.put("CDY", resultSet.getString("CDY")); - }else{ + } else { result.put("CDY", "n"); } - if(resultSet.getString("UCV") != null){//涓婅鐢垫祦 + if (resultSet.getString("UCV") != null) {//涓婅鐢垫祦 result.put("UCV", resultSet.getString("UCV")); - }else{ + } else { result.put("UCV", "n"); } - if(resultSet.getString("DCV") != null){//涓嬭鐢垫祦 + if (resultSet.getString("DCV") != null) {//涓嬭鐢垫祦 result.put("DCV", resultSet.getString("DCV")); - }else{ + } else { result.put("DCV", "n"); } - if(resultSet.getString("SLV") != null){//鍐茬▼ + if (resultSet.getString("SLV") != null) {//鍐茬▼ result.put("SLV", resultSet.getString("SLV")); - }else{ + } else { result.put("SLV", "n"); } - if(resultSet.getString("CHC") != null){//鍐叉 + if (resultSet.getString("CHC") != null) {//鍐叉 result.put("CHC", resultSet.getString("CHC")); - }else{ + } else { result.put("CHC", "n"); } - if(resultSet.getString("BPV") != null){//浜曞彛鍥炲帇 + if (resultSet.getString("BPV") != null) {//浜曞彛鍥炲帇 result.put("BPV", resultSet.getString("BPV")); - }else{ + } else { result.put("BPV", "n"); } - if(resultSet.getString("ZWG") != null){//鎬绘棤鍔熷姛鐜� + if (resultSet.getString("ZWG") != null) {//鎬绘棤鍔熷姛鐜� result.put("ZWG", resultSet.getString("ZWG")); - }else{ + } else { result.put("ZWG", "n"); } - if(resultSet.getString("ZYG") != null){//鎬绘湁鍔熷姛鐜� + if (resultSet.getString("ZYG") != null) {//鎬绘湁鍔熷姛鐜� result.put("ZYG", resultSet.getString("ZYG")); - }else{ + } else { result.put("ZYG", "n"); } - if(resultSet.getString("GYS") != null){//鍔熺巼鍥犳暟 + if (resultSet.getString("GYS") != null) {//鍔熺巼鍥犳暟 result.put("GYS", resultSet.getString("GYS")); - }else{ + } else { result.put("GYS", "n"); } - if(resultSet.getString("UWL") != null){//鏈�澶ц浇鑽� + if (resultSet.getString("UWL") != null) {//鏈�澶ц浇鑽� result.put("UWL", resultSet.getString("UWL")); - }else{ + } else { result.put("UWL", "n"); } - if(resultSet.getString("DWL") != null){//鏈�灏忚浇鑽� + if (resultSet.getString("DWL") != null) {//鏈�灏忚浇鑽� result.put("DWL", resultSet.getString("DWL")); - }else{ + } else { result.put("DWL", "n"); } - if(resultSet.getString("ZHS") != null){//杞�� + if (resultSet.getString("ZHS") != null) {//杞�� result.put("ZHS", resultSet.getString("ZHS")); - }else{ + } else { result.put("ZHS", "n"); } } - if(result.size() == 0){ + if (result.size() == 0) { result.put("wellRunningState", "n");//娌逛簳杩愯鐘舵�� result.put("totalPowerConsumption", "n");//鎬昏�楃數閲� result.put("communicationMachine", "n");//璁惧閫氳 @@ -807,13 +810,13 @@ } return result; } finally { - if (updateStatement != null){ + if (updateStatement != null) { updateStatement.close(); } - if (queryStatement != null){ + if (queryStatement != null) { queryStatement.close(); } - if (connection != null){ + if (connection != null) { connection.close(); } } diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdWellGuideCameraServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdWellGuideCameraServiceImpl.java new file mode 100644 index 0000000..7dfe5f6 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdWellGuideCameraServiceImpl.java @@ -0,0 +1,92 @@ +package com.ruoyi.alarmpoints.well.service.impl; + +import java.util.List; + +import com.ruoyi.common.utils.uuid.IdUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.alarmpoints.well.mapper.ArdWellGuideCameraMapper; +import com.ruoyi.alarmpoints.well.domain.ArdWellGuideCamera; +import com.ruoyi.alarmpoints.well.service.IArdWellGuideCameraService; + +/** + * 浜曞叧鑱斿紩瀵肩浉鏈篠ervice涓氬姟灞傚鐞� + * + * @author ard + * @date 2024-01-15 + */ +@Service +public class ArdWellGuideCameraServiceImpl implements IArdWellGuideCameraService { + @Autowired + private ArdWellGuideCameraMapper ardWellGuideCameraMapper; + + /** + * 鏌ヨ浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param id 浜曞叧鑱斿紩瀵肩浉鏈轰富閿� + * @return 浜曞叧鑱斿紩瀵肩浉鏈� + */ + @Override + public ArdWellGuideCamera selectArdWellGuideCameraById(String id) { + return ardWellGuideCameraMapper.selectArdWellGuideCameraById(id); + } + + /** + * 鏌ヨ浜曞叧鑱斿紩瀵肩浉鏈哄垪琛� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 浜曞叧鑱斿紩瀵肩浉鏈� + */ + @Override + public List<ArdWellGuideCamera> selectArdWellGuideCameraList(ArdWellGuideCamera ardWellGuideCamera) { + return ardWellGuideCameraMapper.selectArdWellGuideCameraList(ardWellGuideCamera); + } + + /** + * 鏂板浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 缁撴灉 + */ + @Override + public int insertArdWellGuideCamera(ArdWellGuideCamera ardWellGuideCamera) { + ardWellGuideCamera.setId(IdUtils.simpleUUID()); + return ardWellGuideCameraMapper.insertArdWellGuideCamera(ardWellGuideCamera); + } + + /** + * 淇敼浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ardWellGuideCamera 浜曞叧鑱斿紩瀵肩浉鏈� + * @return 缁撴灉 + */ + @Override + public int updateArdWellGuideCamera(ArdWellGuideCamera ardWellGuideCamera) { + return ardWellGuideCameraMapper.updateArdWellGuideCamera(ardWellGuideCamera); + } + + /** + * 鎵归噺鍒犻櫎浜曞叧鑱斿紩瀵肩浉鏈� + * + * @param ids 闇�瑕佸垹闄ょ殑浜曞叧鑱斿紩瀵肩浉鏈轰富閿� + * @return 缁撴灉 + */ + @Override + public int deleteArdWellGuideCameraByIds(String[] ids) { + return ardWellGuideCameraMapper.deleteArdWellGuideCameraByIds(ids); + } + + /** + * 鍒犻櫎浜曞叧鑱斿紩瀵肩浉鏈轰俊鎭� + * + * @param id 浜曞叧鑱斿紩瀵肩浉鏈轰富閿� + * @return 缁撴灉 + */ + @Override + public int deleteArdWellGuideCameraById(String id) { + return ardWellGuideCameraMapper.deleteArdWellGuideCameraById(id); + } +} diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java index a6e4edc..45dffb9 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/CameraSdkController.java @@ -44,8 +44,10 @@ private ICameraSdkService cameraSdkService; @Resource private IArdCamerasService ardCamerasService; + @Autowired private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService; + @RequestMapping("/preview") private String preview() { @@ -206,6 +208,15 @@ return toAjax(cameraSdkService.guideTargetPosition(cmd)); } + @ApiOperation("鎸囧悜鐩爣浜�") + @PostMapping("/setTargetWell") + @Log(title = "鎸囧悜鐩爣浜�", businessType = BusinessType.CONTROL) + @ApiOperationSupport(includeParameters = {"cmd.wellId"}) + public @ResponseBody + AjaxResult setTargetWell(@RequestBody CameraCmd cmd) { + cmd.setOperator(SecurityUtils.getUserId()); + return cameraSdkService.guideTargetWell(cmd); + } @ApiOperation("璁剧疆闆舵柟浣嶈") @PostMapping("/setZeroPTZ") diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java b/ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java index 0b67dcb..d1706be 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/domain/CameraCmd.java @@ -38,6 +38,8 @@ /*鐩爣缁忕含搴�*/ double[] targetPosition; + /*鐩爣浜�*/ + String wellId; /*褰撳墠鎿嶄綔鑰�*/ String operator; diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java index 94abde8..f941580 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/ICameraSdkService.java @@ -1,5 +1,6 @@ package com.ruoyi.device.camera.service; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import org.springframework.scheduling.annotation.Async; @@ -74,6 +75,7 @@ //鑾峰彇ptz鑼冨洿 Map<String, Object> getPtzScope(CameraCmd cmd); + //璁剧疆ptz boolean setPtz(CameraCmd cmd); //璁剧疆闆舵柟浣嶈 @@ -82,6 +84,9 @@ //寮曞鐩爣浣嶇疆 boolean guideTargetPosition(CameraCmd cmd); + //寮曞鐩爣浜� + AjaxResult guideTargetWell(CameraCmd cmd); + //褰曞儚 String record(CameraCmd cmd); diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java index 55f8e45..06866e8 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java @@ -1,23 +1,34 @@ package com.ruoyi.device.camera.service.impl; +import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; +import com.ruoyi.alarmpoints.well.domain.ArdWellGuideCamera; +import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; import com.ruoyi.common.annotation.SdkOperate; import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.device.camera.domain.ArdCameras; import com.ruoyi.device.camera.domain.CameraCmd; import com.ruoyi.device.camera.service.IArdCamerasService; import com.ruoyi.device.camera.service.ICameraSdkService; import com.ruoyi.device.camera.factory.CameraSDK; import com.ruoyi.device.camera.factory.CameraSDKFactory; +import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone; +import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService; +import com.ruoyi.utils.gis.GisUtil; +import com.ruoyi.utils.gis.Point; +import com.ruoyi.utils.sdk.common.GlobalVariable; +import com.ruoyi.utils.tools.ArdTool; +import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Service; + import javax.annotation.Resource; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -35,6 +46,10 @@ private RedisCache redisCache; @Resource private CameraSDKFactory cameraSDKFactory; + @Resource + private IArdAlarmpointsWellService ardAlarmpointsWellService; + @Resource + private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService; /** * 鍚姩绾跨▼鏂规硶锛岀敤浜庢墽琛屽垵濮嬪寲鐧诲綍鐩告満鐨勯�昏緫 @@ -67,7 +82,7 @@ CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); //sdkStrategy.login(ardCamera);//鍚屾鐧诲綍 cameraSDK.asyncLogin(ardCamera);//寮傛鐧诲綍 - result=true; + result = true; } } catch (Exception ex) { log.error("鐧诲綍寮傚父锛�" + ex.getMessage()); @@ -114,7 +129,6 @@ } //浜戝彴鎺у埗 - @SdkOperate @Override public boolean pTZControl(CameraCmd cmd) { try { @@ -172,7 +186,6 @@ //璁剧疆棰勭疆浣� @Override - @SdkOperate public boolean setPreset(CameraCmd cmd) { boolean result = false; try { @@ -191,7 +204,6 @@ //璋冪敤棰勭疆浣� @Override - @SdkOperate public boolean gotoPreset(CameraCmd cmd) { boolean result = false; try { @@ -358,7 +370,6 @@ } //鎶撳浘 - @SdkOperate @Override public String picCutCate(CameraCmd cmd) { String url = ""; @@ -416,7 +427,6 @@ } //璁剧疆ptz - @SdkOperate @Override public boolean setPtz(CameraCmd cmd) { boolean result = false; @@ -427,11 +437,10 @@ String factory = ardCamera.getFactory(); CameraSDK cameraSDK = cameraSDKFactory.createCameraSDK(factory); String gdtype = ardCamera.getGdtype(); - if(gdtype.equals("1")) { + if (gdtype.equals("1")) { //澶у厜鐢典娇鐢ㄩ珮绮惧害ptz璁剧疆 result = cameraSDK.setPtz(cmd); - }else - { + } else { result = cameraSDK.setPtz1(cmd); } @@ -443,7 +452,6 @@ } //璁剧疆闆舵柟浣嶈 - @SdkOperate @Override public boolean setZeroPtz(CameraCmd cmd) { boolean result = false; @@ -462,7 +470,6 @@ } //寮曞鎸囧悜鐩爣 - @SdkOperate @Override public boolean guideTargetPosition(CameraCmd cmd) { boolean result = false; @@ -476,6 +483,181 @@ } } catch (Exception ex) { log.error("寮曞鎸囧悜鐩爣寮傚父锛�" + ex.getMessage()); + } + return result; + } + + //寮曞鎸囧悜浜� + @Override + public AjaxResult guideTargetWell(CameraCmd cmd) { + + //鎸夋棩澶滃垏鎹㈤厤缃幏鍙栫浉鏈洪�氶亾 + Integer chanNo = ArdTool.getChannelBydayNightTime(redisCache.getCacheObject("sys_config:dayNightTime")); + cmd.setChanNo(chanNo); + + //鑾峰彇浜� + ArdAlarmpointsWell well = ardAlarmpointsWellService.selectArdAlarmpointsWellById(cmd.getWellId()); + if (well == null) { + return AjaxResult.error("浜曚笉瀛樺湪"); + } + cmd.setTargetPosition(new double[]{well.getLongitude(), well.getLatitude()}); + + //鑾峰彇浜曢厤缃殑寮曞鐩告満鍒楄〃 + List<ArdWellGuideCamera> ardWellGuideCameraList = well.getArdWellGuideCameraList(); + if (ardWellGuideCameraList != null && ardWellGuideCameraList.size() > 0) { + //鑾峰彇鐩告満鍜屼簳鐨勮窛绂昏繘琛屾帓搴忥紝鍙栧嚭鏈�杩戠殑涓�涓浉鏈� + Map<String, Double> distanceMap = new HashMap<>(); + for (ArdWellGuideCamera ardWellGuideCamera : ardWellGuideCameraList) { + ArdCameras cameras = ardCamerasService.selectArdCamerasById(ardWellGuideCamera.getCameraId()); + if (cameras == null) { + continue; + } + double[] targetPosition = new double[]{well.getLongitude(), well.getLatitude()}; + double[] camPosition = new double[]{cameras.getLongitude(), cameras.getLatitude()}; + double distance = GisUtil.getDistance(targetPosition, camPosition); + distanceMap.put(ardWellGuideCamera.getCameraId(), distance);//瀛樺叆缂撳瓨map + } + //浠庣紦瀛橀噷鍙栧嚭璺濈鏈�杩戠浉鏈篒D + String cameraId = ArdTool.getKeyByMinValue(distanceMap); + cmd.setCameraId(cameraId); + //鑾峰彇鏈�杩戠浉鏈虹殑瀵硅薄 + Optional<ArdWellGuideCamera> first = ardWellGuideCameraList.stream().filter(s -> s.getCameraId().equals(cameraId)).findFirst(); + if(first.isPresent()) + { + ArdWellGuideCamera ardWellGuideCamera = first.get(); + Map<String, Double> ptzMap = null; + //閫氳繃閫氶亾鑾峰彇棰勭疆浣� + switch (chanNo) { + case 1: + if (ardWellGuideCamera.getP1() != null) { + ptzMap = new HashMap<>(); + ptzMap.put("p", ardWellGuideCamera.getP1()); + ptzMap.put("t", ardWellGuideCamera.getT1()); + ptzMap.put("z", ardWellGuideCamera.getZ1()); + } + break; + case 2: + if (ardWellGuideCamera.getP2() != null) { + ptzMap = new HashMap<>(); + ptzMap.put("p", ardWellGuideCamera.getP2()); + ptzMap.put("t", ardWellGuideCamera.getT2()); + ptzMap.put("z", ardWellGuideCamera.getZ2()); + } + break; + + } + //寮曞 + if (ptzMap != null) { + //浣跨敤ptz寮曞 + cmd.setPtzMap(ptzMap); + boolean res = setPtz(cmd); + if (!res) { + return AjaxResult.error("ptz寮曞澶辫触", "cameraId:" + cameraId); + } + return AjaxResult.success("ptz寮曞鎴愬姛", "cameraId:" + cameraId); + } + } + + } + log.debug("鏈壘鍒皃tz寮曞鐩告満,鏌ユ壘鏈�杩戠浉鏈�"); + + //浠庨檮杩戠浉鏈烘壘鏈�杩戠殑涓�涓浉鏈� + String cameraId = getCameraByNear(new double[]{well.getLongitude(), well.getLatitude()}); + cmd.setCameraId(cameraId); + if ("".equals(cameraId)) { + return AjaxResult.error("鏈壘鍒板紩瀵肩浉鏈�"); + } + //鍒ゆ柇绂佸紩鍖� + if (isInPolygon(cameraId, new Double[]{well.getLongitude(), well.getLatitude()})) { + return AjaxResult.error("浜曚綅缃睘浜庣浉鏈虹姝㈠紩瀵煎尯鍩�"); + } + //鎸変簳鍧愭爣寮�濮嬪紩瀵� + if (!guideTargetPosition(cmd)) { + return AjaxResult.error("浜曞潗鏍囧紩瀵煎け璐�", "cameraId:" + cameraId); + } + return AjaxResult.success("浜曞潗鏍囧紩瀵兼垚鍔�", "cameraId:" + cameraId); + + } + + /** + * 鑾峰彇鏈�杩戣窛绂荤殑鍏夌數 + * 1-鐩告満鍦ㄧ嚎 + * 2-寮�鍚姤璀﹀紩瀵煎姛鑳� + * 3-閰嶇疆浜嗘渶澶у彲瑙嗚窛绂� + */ + private String getCameraByNear(double[] targetPosition) { + String minDistanceCameraId = ""; + try { + //鑾峰彇鎵�鏈夊ぇ鍏夌數 + List<Object> Objects = redisCache.getListKey(CacheConstants.CAMERA_LIST_KEY); + //缁熻鎵�鏈夊ぇ鍏夌數鍙鑼冨洿鍐呬笌鎶ヨ鐐圭殑璺濈 + Map<String, Double> distanceMap = new HashMap<>(); + for (Object obj : Objects) { + ArdCameras camera = (ArdCameras) obj; + + if (!GlobalVariable.loginMap.containsKey(camera.getId())) { + log.debug("璇ュ厜鐢垫湭鐧诲綍"); + continue; + } + if (camera.getCamMaxVisibleDistance() == null) { + log.debug("璇ュ厜鐢垫湭閰嶇疆鏈�澶у彲瑙嗚窛绂�"); + continue; + } + if (camera.getCamAlarmGuideEnable().equals(0)) { + log.debug("璇ュ厜鐢垫湭寮�鍚姤璀﹀紩瀵�"); + continue; + } + + double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()}; + double distance = GisUtil.getDistance(targetPosition, camPosition); + if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) { + distanceMap.put(camera.getId(), distance); + if (StringUtils.isNull(camera.getCamAlarmGuideEnable())) { + camera.setCamAlarmGuideEnable(0); + } + } + } + if (distanceMap.size() > 0) { + log.debug("灏濊瘯鏌ユ壘鏈�杩戝厜鐢�"); + //鑾峰彇璺濈瀛楀吀涓渶杩戠殑涓�涓浉鏈篒D + minDistanceCameraId = ArdTool.getKeyByMinValue(distanceMap); + log.debug("鏌ユ壘鍒版渶杩戝厜鐢�:" + minDistanceCameraId); + } + } catch (Exception ex) { + log.error("鑾峰彇闄勮繎寮�鍚姤璀﹀紩瀵煎姛鑳藉厜鐢靛紓甯�:" + ex.getMessage()); + } + return minDistanceCameraId; + } + + //鍒ゆ柇鐩告満鍜屽紩瀵间綅缃槸鍚﹀湪绂佹寮曞鍖哄煙 + public boolean isInPolygon(String cameraId, Double[] targetPosition) { + boolean result = false; + //鎷︽埅鎵嬪姩寮曞 + ArdCameraNoGuideZone ardCameraNoGuideZone = new ArdCameraNoGuideZone(); + ardCameraNoGuideZone.setCameraId(cameraId); + ardCameraNoGuideZone.setEnabled("1"); + //鑾峰彇褰撳墠鐩告満鐨勭寮曞彲瑙嗗煙鍒楄〃 + List<ArdCameraNoGuideZone> ardCameraNoGuideZones = ardCameraNoGuideZoneService.selectArdCameraNoGuideZoneList(ardCameraNoGuideZone); + if (ardCameraNoGuideZones.size() > 0) { + //鑾峰彇鍒板綋鍓嶇浉鏈虹殑鍧愭爣闆嗗悎 + for (ArdCameraNoGuideZone zone : ardCameraNoGuideZones) { + String[] parts = zone.getPoi().split(","); + List<Point> pointList = new ArrayList<>(); + for (int i = 0; i < parts.length; i += 3) { + Point point = new Point(); + point.setLongitude(Double.valueOf(parts[i])); + point.setLatitude(Double.valueOf(parts[i + 1])); + pointList.add(point); + } + double lon = targetPosition[0]; + double lat = targetPosition[1]; + Point targetPoint = new Point(lon, lat); + //鍒ゆ柇寮曞鐩爣鏄惁鍦ㄥ潗鏍囬泦鍚堢粍鎴愮殑澶氳竟褰㈠唴 + boolean inPolygon = GisUtil.isInPolygon(targetPoint, pointList); + if (inPolygon) { + result = inPolygon; + } + } } return result; } @@ -523,7 +705,6 @@ } return true; } - //褰曞儚 @SdkOperate @@ -615,6 +796,5 @@ } return map; } - } diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java index 8f45372..1c4cb8b 100644 --- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java @@ -457,26 +457,8 @@ cmd.setTargetPosition(targetPositon); cmd.setOperator("sys_patrol_inspect"); cmd.setExpired(step.getRecordingTime() * 60); - Map<String, Double> ptzMap = new HashMap<>(); - switch (channel) { - case 1: - ptzMap.put("p", well.getGuideP1()); - ptzMap.put("t", well.getGuideT1()); - ptzMap.put("z", well.getGuideZ1()); - break; - case 2: - ptzMap.put("p", well.getGuideP2()); - ptzMap.put("t", well.getGuideT2()); - ptzMap.put("z", well.getGuideZ2()); - break; - } - cmd.setPtzMap(ptzMap); - boolean setTargetPosition; - if (cmd.getPtzMap().get("p") != null) { - setTargetPosition = cameraSdkService.setPtz(cmd); - } else { - setTargetPosition = cameraSdkService.guideTargetPosition(cmd); - } + + boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd); if (setTargetPosition) { /*鎺у埗鐩告満宸℃鎴愬姛锛屽紑濮嬪綍鍍�*/ cameraSdkService.recordStart(cmd); @@ -533,26 +515,7 @@ cmd.setTargetPosition(targetPositon); cmd.setOperator("sys_patrol_inspect"); cmd.setExpired(step.getRecordingTime() * 60); - Map<String, Double> ptzMap = new HashMap<>(); - switch (channel) { - case 1: - ptzMap.put("p", well.getGuideP1()); - ptzMap.put("t", well.getGuideT1()); - ptzMap.put("z", well.getGuideZ1()); - break; - case 2: - ptzMap.put("p", well.getGuideP2()); - ptzMap.put("t", well.getGuideT2()); - ptzMap.put("z", well.getGuideZ2()); - break; - } - cmd.setPtzMap(ptzMap); - boolean setTargetPosition; - if (cmd.getPtzMap().get("p") != null) { - setTargetPosition = cameraSdkService.setPtz(cmd); - } else { - setTargetPosition = cameraSdkService.guideTargetPosition(cmd); - } + boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd); if (!setTargetPosition) { /*鎺у埗澶辫触,褰撳墠姝ラ鍚姩鏃堕棿缃畁ull*/ ardVideoInspectTask.setCurrentStepStartTime(""); @@ -590,7 +553,7 @@ cmd.setChanNo(channel); cmd.setOperator("sys_patrol_inspect"); cmd.setRecordBucketName("record"); - cmd.setRecordObjectName("inspect_" + IdUtils.fastSimpleUUID()); + cmd.setRecordObjectName("inspectGuide/" + DateUtils.getDateYYYYMMDD()+"/"+ IdUtils.fastSimpleUUID()); String url = cameraSdkService.recordStopToMinio(cmd); /*鎻掑叆宸℃璁板綍*/ ArdVideoInspectRecord ardVideoInspectRecord = new ArdVideoInspectRecord(); diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java index de60871..14f4de6 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java +++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/dhsdk/service/impl/DahuaSDK.java @@ -3,6 +3,7 @@ import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.global.service.impl.QueueHandler; +import com.ruoyi.common.annotation.SdkOperate; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.file.MimeTypeUtils; import com.ruoyi.common.utils.spring.SpringUtils; @@ -315,6 +316,7 @@ * 2023/10/17 8:28:13 */ @Override + @SdkOperate public boolean pTZControl(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -440,6 +442,7 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�奸渶瑕佸姞涓�360寰楀埌鐨勬鍊艰繘琛岃缃� */ @Override + @SdkOperate public boolean setPtz(CameraCmd cmd) { String cameraId = cmd.getCameraId(); Integer chanNo = cmd.getChanNo(); @@ -474,6 +477,7 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�奸渶瑕佸姞涓�360寰楀埌鐨勬鍊艰繘琛岃缃� */ @Override + @SdkOperate public boolean setZeroPtz(CameraCmd cmd) { String cameraId = cmd.getCameraId(); Integer chanNo = cmd.getChanNo(); diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java index ff42951..82a6c1d 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java +++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java @@ -3,6 +3,7 @@ import com.ruoyi.alarm.global.domain.GuidePriorityQueue; import com.ruoyi.alarm.global.domain.GuideTask; import com.ruoyi.alarm.global.service.impl.QueueHandler; +import com.ruoyi.common.annotation.SdkOperate; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.file.MimeTypeUtils; import com.ruoyi.common.utils.spring.SpringUtils; @@ -374,6 +375,7 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 */ @Override + @SdkOperate public boolean pTZControl(CameraCmd cmd) { String cameraId = cmd.getCameraId(); boolean enable = cmd.isEnable(); @@ -989,6 +991,7 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�奸渶瑕佸姞涓�360寰楀埌鐨勬鍊艰繘琛岃缃� */ @Override + @SdkOperate public boolean setPtz1(CameraCmd cmd) { String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); @@ -1029,6 +1032,7 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�煎悜涓嬭礋鍊� */ @Override + @SdkOperate public boolean setPtz(CameraCmd cmd) { try { String cameraId = cmd.getCameraId(); @@ -1079,9 +1083,10 @@ } @Override + @SdkOperate public boolean guideTargetPosition(CameraCmd cmd) { String cameraId = cmd.getCameraId(); - Integer channelNum = cmd.getChanNo(); + Integer chanNo = cmd.getChanNo(); if (!GlobalVariable.loginMap.containsKey(cameraId)) { return false; } @@ -1101,7 +1106,7 @@ m_ptzPosCurrent.wZoomPos = (short) (Integer.parseInt(z, 16)); Pointer point = m_ptzPosCurrent.getPointer(); m_ptzPosCurrent.write(); - boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size()); + boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, chanNo, point, m_ptzPosCurrent.size()); if (!bool) { int code = hCNetSDK.NET_DVR_GetLastError(); log.error("璁剧疆ptz澶辫触,璇风◢鍚庨噸璇�" + code); @@ -1153,6 +1158,7 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 娉ㄦ剰淇话瑙掑害璐熷�奸渶瑕佸姞涓�360寰楀埌鐨勬鍊艰繘琛岃缃� */ @Override + @SdkOperate public boolean setZeroPtz(CameraCmd cmd) { String cameraId = cmd.getCameraId(); Integer channelNum = cmd.getChanNo(); diff --git a/ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java b/ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java index 6c3522b..674b0de 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java +++ b/ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java @@ -46,7 +46,7 @@ * @return */ public static String getKeyByMinValue(Map<String, Double> map) { - if (map == null) return null; + if (map == null||map.size()==0) return null; List<Map.Entry<String, Double>> list = new ArrayList(map.entrySet()); Collections.sort(list, (o1, o2) -> (o1.getValue().intValue() - o2.getValue().intValue())); String min = list.get(0).getKey(); diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml index e6247af..783d11b 100644 --- a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml +++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml @@ -28,13 +28,12 @@ <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> - <result property="guideP1" column="guide_p1"/> - <result property="guideT1" column="guide_t1"/> - <result property="guideZ1" column="guide_z1"/> - <result property="guideP2" column="guide_p2"/> - <result property="guideT2" column="guide_t2"/> - <result property="guideZ2" column="guide_z2"/> + <!-- 瀛愭煡璇紝鍏宠仈 ard_well_guide_camera 琛� --> + <collection property="ardWellGuideCameraList" ofType="java.util.List" select="getArdWellGuideCameraListByWellId" column="id"/> </resultMap> + <select id="getArdWellGuideCameraListByWellId" resultType="ArdWellGuideCamera"> + SELECT * FROM ard_well_guide_camera WHERE well_id = #{id} + </select> <resultMap type="ArdAlarmpointsWell" id="wellResult"> <result property="id" column="id"/> @@ -65,13 +64,7 @@ c.create_by, c.create_time, c.update_by, - c.update_time, - c.guide_p1, - c.guide_t1, - c.guide_z1, - c.guide_p2, - c.guide_t2, - c.guide_z2 + c.update_time from ard_alarmpoints_well c left join sys_dept d on d.dept_id = c.dept_id left join sys_user u on u.user_id = c.user_id @@ -104,7 +97,7 @@ <select id="selectArdAlarmpointsWellById" parameterType="String" resultMap="ArdAlarmpointsWellResult"> <include refid="selectArdAlarmpointsWellVo"/> - where id = #{id} + where c.id = #{id} </select> <select id="selectArdAlarmpointsWellByWellId" parameterType="String" resultMap="ArdAlarmpointsWellResult"> <include refid="selectArdAlarmpointsWellVo"/> @@ -257,24 +250,35 @@ </foreach> </delete> <select id="checkWellIdExists" resultType="ArdAlarmpointsWell"> - SELECT * FROM ard_alarmpoints_well WHERE well_id = #{wellId} limit 1 + SELECT * + FROM ard_alarmpoints_well + WHERE well_id = #{wellId} limit 1 </select> <select id="wellByPlanId" parameterType="String" resultMap="wellResult"> - select ard_app_patrolpoint.alarmpoints_id as id,ard_alarmpoints_well.well_id, ard_app_patrolpoint."type",ard_alarmpoints_well.longitude,ard_alarmpoints_well.latitude from ard_alarmpoints_well LEFT JOIN ard_app_patrolpoint on ard_app_patrolpoint.alarmpoints_id = ard_alarmpoints_well.id where ard_alarmpoints_well.id in (select alarmpoints_id from ard_app_patrolpoint where patrolplan_id = #{id}) - GROUP BY ard_app_patrolpoint.alarmpoints_id,ard_alarmpoints_well.well_id,ard_app_patrolpoint."type",ard_alarmpoints_well.longitude,ard_alarmpoints_well.latitude + select ard_app_patrolpoint.alarmpoints_id as id, + ard_alarmpoints_well.well_id, + ard_app_patrolpoint."type", + ard_alarmpoints_well.longitude, + ard_alarmpoints_well.latitude + from ard_alarmpoints_well + LEFT JOIN ard_app_patrolpoint on ard_app_patrolpoint.alarmpoints_id = ard_alarmpoints_well.id + where ard_alarmpoints_well.id in (select alarmpoints_id from ard_app_patrolpoint where patrolplan_id = #{id}) + GROUP BY ard_app_patrolpoint.alarmpoints_id, ard_alarmpoints_well.well_id, ard_app_patrolpoint."type", + ard_alarmpoints_well.longitude, ard_alarmpoints_well.latitude </select> - <select id="wellListDept" parameterType="List" resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo"> + <select id="wellListDept" parameterType="List" + resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo"> Select well.id,well.well_id,well.well_number,well.oil_production,well.well_block,well.production_date, well.displacement_mode,well.surrounding_environment,well.well_type,well.installed_load,well.metering_station, well.transfer_station,well.dehydration_station,well.run_status,well.longitude,well.latitude,well.altitude,well.dept_id, dept.parent_id,dept.ancestors,dept.dept_name from ard_alarmpoints_well well left join sys_dept dept on well.dept_id = dept.dept_id - where well.dept_id in + where well.dept_id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> -</mapper> \ No newline at end of file +</mapper> diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdWellGuideCameraMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdWellGuideCameraMapper.xml new file mode 100644 index 0000000..8ae9539 --- /dev/null +++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdWellGuideCameraMapper.xml @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.alarmpoints.well.mapper.ArdWellGuideCameraMapper"> + + <resultMap type="ArdWellGuideCamera" id="ArdWellGuideCameraResult"> + <result property="id" column="id" /> + <result property="cameraId" column="camera_id" /> + <result property="p1" column="p1" /> + <result property="t1" column="t1" /> + <result property="z1" column="z1" /> + <result property="p2" column="p2" /> + <result property="t2" column="t2" /> + <result property="z2" column="z2" /> + <result property="wellId" column="well_id" /> + </resultMap> + + <sql id="selectArdWellGuideCameraVo"> + select id, camera_id, p1, t1, z1, p2, t2, z2, well_id from ard_well_guide_camera + </sql> + + <select id="selectArdWellGuideCameraList" parameterType="ArdWellGuideCamera" resultMap="ArdWellGuideCameraResult"> + <include refid="selectArdWellGuideCameraVo"/> + <where> + <if test="cameraId != null and cameraId != ''"> and camera_id = #{cameraId}</if> + <if test="p1 != null "> and p1 = #{p1}</if> + <if test="t1 != null "> and t1 = #{t1}</if> + <if test="z1 != null "> and z1 = #{z1}</if> + <if test="p2 != null "> and p2 = #{p2}</if> + <if test="t2 != null "> and t2 = #{t2}</if> + <if test="z2 != null "> and z2 = #{z2}</if> + <if test="wellId != null and wellId != ''"> and well_id = #{wellId}</if> + </where> + </select> + + <select id="selectArdWellGuideCameraById" parameterType="String" resultMap="ArdWellGuideCameraResult"> + <include refid="selectArdWellGuideCameraVo"/> + where id = #{id} + </select> + + <insert id="insertArdWellGuideCamera" parameterType="ArdWellGuideCamera"> + insert into ard_well_guide_camera + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null">id,</if> + <if test="cameraId != null">camera_id,</if> + <if test="p1 != null">p1,</if> + <if test="t1 != null">t1,</if> + <if test="z1 != null">z1,</if> + <if test="p2 != null">p2,</if> + <if test="t2 != null">t2,</if> + <if test="z2 != null">z2,</if> + <if test="wellId != null">well_id,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null">#{id},</if> + <if test="cameraId != null">#{cameraId},</if> + <if test="p1 != null">#{p1},</if> + <if test="t1 != null">#{t1},</if> + <if test="z1 != null">#{z1},</if> + <if test="p2 != null">#{p2},</if> + <if test="t2 != null">#{t2},</if> + <if test="z2 != null">#{z2},</if> + <if test="wellId != null">#{wellId},</if> + </trim> + </insert> + + <update id="updateArdWellGuideCamera" parameterType="ArdWellGuideCamera"> + update ard_well_guide_camera + <trim prefix="SET" suffixOverrides=","> + <if test="cameraId != null">camera_id = #{cameraId},</if> + <if test="p1 != null">p1 = #{p1},</if> + <if test="t1 != null">t1 = #{t1},</if> + <if test="z1 != null">z1 = #{z1},</if> + <if test="p2 != null">p2 = #{p2},</if> + <if test="t2 != null">t2 = #{t2},</if> + <if test="z2 != null">z2 = #{z2},</if> + <if test="wellId != null">well_id = #{wellId},</if> + </trim> + where id = #{id} + </update> + + <delete id="deleteArdWellGuideCameraById" parameterType="String"> + delete from ard_well_guide_camera where id = #{id} + </delete> + + <delete id="deleteArdWellGuideCameraByIds" parameterType="String"> + delete from ard_well_guide_camera where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> +</mapper> diff --git a/bin/run.bat b/bin/run.bat index 08a1c92..179a180 100644 --- a/bin/run.bat +++ b/bin/run.bat @@ -8,7 +8,7 @@ set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -java -Dloader.path="jarLib/" -jar %JAVA_OPTS% ruoyi-admin.jar +java -jar %JAVA_OPTS% ruoyi-admin.jar cd bin pause \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/i18n/messages.properties b/ruoyi-admin/src/main/resources/i18n/messages.properties index 8dbfd62..8856594 100644 --- a/ruoyi-admin/src/main/resources/i18n/messages.properties +++ b/ruoyi-admin/src/main/resources/i18n/messages.properties @@ -201,8 +201,7 @@ dic.data.cameras.priority.sys.radar.move=sys_radar_move dic.data.cameras.priority.sys.radar.fire=sys_radar_fire dic.data.cameras.priority.sys.radar.force=sys_radar_force -dic.data.cameras.priority.sys.manual.inspection=sys_manual_inspection -dic.data.cameras.priority.sys.auto.inspection=sys_auto_inspection +dic.data.cameras.priority.sys.patrol.inspection=sys_patrol_inspect dic.data.inspect.mode.auto=\u81EA\u52A8 dic.data.inspect.mode.manual=\u624B\u52A8 @@ -267,4 +266,4 @@ config.dayNightTime=\u5149\u7535\u65E5\u591C\u5207\u6362\u65F6\u95F4 config.rongyun=\u878D\u4E91IP config.RongCloudAppKey=\u878D\u4E91APP\u952E -config.syCarPT=\u4E09\u4E00\u5E73\u53F0ip \ No newline at end of file +config.syCarPT=\u4E09\u4E00\u5E73\u53F0ip diff --git a/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties b/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties index b9eff6b..02d6013 100644 --- a/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties +++ b/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties @@ -15,7 +15,7 @@ user.username.not.valid=*Composed of 2 to 20 Chinese characters, letters, numbers, or underscores, and must start with a non numeric character user.password.not.valid=*5-50 characters - + user.email.not.valid=Email format error user.mobile.phone.number.not.valid=Mobile number format error user.login.success=Login successful @@ -210,8 +210,7 @@ dic.data.cameras.priority.sys.radar.move=sys_radar_move dic.data.cameras.priority.sys.radar.fire=sys_radar_fire dic.data.cameras.priority.sys.radar.force=sys_radar_force -dic.data.cameras.priority.sys.manual.inspection=sys_manual_inspection -dic.data.cameras.priority.sys.auto.inspection=sys_auto_inspection +dic.data.cameras.priority.sys.patrol.inspection=sys_patrol_inspect dic.data.inspect.mode.auto=auto dic.data.inspect.mode.manual=manual diff --git a/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties b/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties index 68cfc37..7003256 100644 --- a/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties +++ b/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties @@ -15,7 +15,7 @@ user.username.not.valid=* 2\u523020\u4E2A\u6C49\u5B57\u3001\u5B57\u6BCD\u3001\u6570\u5B57\u6216\u4E0B\u5212\u7EBF\u7EC4\u6210\uFF0C\u4E14\u5FC5\u987B\u4EE5\u975E\u6570\u5B57\u5F00\u5934 user.password.not.valid=* 5-50\u4E2A\u5B57\u7B26 - + user.email.not.valid=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF user.mobile.phone.number.not.valid=\u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF user.login.success=\u767B\u5F55\u6210\u529F @@ -209,8 +209,7 @@ dic.data.cameras.priority.sys.radar.move=sys_radar_move dic.data.cameras.priority.sys.radar.fire=sys_radar_fire dic.data.cameras.priority.sys.radar.force=sys_radar_force -dic.data.cameras.priority.sys.manual.inspection=sys_manual_inspection -dic.data.cameras.priority.sys.auto.inspection=sys_auto_inspection +dic.data.cameras.priority.sys.patrol.inspection=sys_patrol_inspect dic.data.inspect.mode.auto=\u81EA\u52A8 dic.data.inspect.mode.manual=\u624B\u52A8 @@ -275,4 +274,4 @@ config.dayNightTime=\u5149\u7535\u65E5\u591C\u5207\u6362\u65F6\u95F4 config.rongyun=\u878D\u4E91IP config.RongCloudAppKey=\u878D\u4E91APP\u952E -config.syCarPT=\u4E09\u4E00\u5E73\u53F0ip \ No newline at end of file +config.syCarPT=\u4E09\u4E00\u5E73\u53F0ip diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java index d777ac4..71aab40 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java @@ -27,7 +27,7 @@ public static String YYYY_MM_DD = "yyyy-MM-dd"; public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; - + public static String YYYYMMDD = "yyyyMMdd"; public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; public static String YYYY_MM_DD_HH_MM_SS_MS = "yyyy-MM-dd HH:mm:ss.SSS"; public static String HH_MM_SS = "HH:mm:ss"; @@ -61,6 +61,10 @@ public static final String dateTimeNow() { return dateTimeNow(YYYYMMDDHHMMSS); } + + public static final String getDateYYYYMMDD() { + return dateTimeNow(YYYYMMDD); + } public static final String dateTimeNowMS() { return dateTimeNow(YYYY_MM_DD_HH_MM_SS_MS); -- Gitblit v1.9.3