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