From 845956ecf4749c2d6c278bdc9638efb934a63419 Mon Sep 17 00:00:00 2001
From: zhangjian <zhangjianrock@163.com>
Date: 星期六, 03 六月 2023 11:44:49 +0800
Subject: [PATCH] 视频巡检任务 单独更新
---
ard-work/src/main/java/com/ruoyi/inspect/service/IArdVideoInspectTaskService.java | 3 +
ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java | 22 +++---
ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java | 2
ard-work/src/main/java/com/ruoyi/inspect/controller/ArdVideoInspectTaskController.java | 42 ++++++++------
ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml | 7 ++
ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 51 ++++++++++++++--
ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskStepMapper.xml | 3
7 files changed, 92 insertions(+), 38 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
index eca36f8..b62c1b4 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -47,6 +48,8 @@
private HikClientServiceImpl sdk;
@Resource
private IArdCamerasService ardCamerasService;
+ @Resource
+ private IArdVideoInspectTaskService ardVideoInspectTaskService;
/**
* 鏌ヨ鐩告満璁惧鍒楄〃
@@ -99,9 +102,7 @@
log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛锛�" + camera.getLoginId());
camera.setUpdateBy(SecurityUtils.getUsername());
ardCamerasService.updateArdCameras(camera);
- }
- else
- {
+ } else {
log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId());
}
return toAjax(ardCamerasService.insertArdCameras(camera));
@@ -116,17 +117,14 @@
@PutMapping
public AjaxResult edit(@RequestBody ArdCameras camera) {
int i = ardCamerasService.updateArdCameras(camera);
- if(i>0)
- {
+ if (i > 0) {
ArdCameras cameras = ardCamerasService.selectArdCamerasById(camera.getId());
sdk.loginOut(cameras.getId());
camera = sdk.login(cameras);
if (camera.getLoginId() >= 0) {
log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍鎴愬姛锛�" + camera.getLoginId());
ardCamerasService.updateArdCameras(camera);
- }
- else
- {
+ } else {
log.info("鐩告満" + camera.getIp() + ":" + camera.getPort() + "鐧诲綍澶辫触锛�" + camera.getLoginId());
}
}
@@ -142,10 +140,11 @@
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
for (String id : ids) {
- sdk.loginOut(id);
- }
+ sdk.loginOut(id);
+ }
return toAjax(ardCamerasService.deleteArdCamerasByIds(ids));
}
+
@GetMapping("/options")
@ApiOperation("閫夋嫨鐩告満鏁版嵁")
public List options(ArdCameras ardCameras) {
@@ -156,7 +155,8 @@
option.put("value", item.getId());
option.put("label", item.getName());
option.put("channel", item.getChannel());
- // option.put("description", item.getOilProduction());
+ List timeList = ardVideoInspectTaskService.getCameraIdleTimeList(item.getId());
+ option.put("idleTimeList", timeList);//绌洪棽鏃堕棿娈�
options.add(option);
}
return options;
diff --git a/ard-work/src/main/java/com/ruoyi/inspect/controller/ArdVideoInspectTaskController.java b/ard-work/src/main/java/com/ruoyi/inspect/controller/ArdVideoInspectTaskController.java
index d36f021..f86dbfb 100644
--- a/ard-work/src/main/java/com/ruoyi/inspect/controller/ArdVideoInspectTaskController.java
+++ b/ard-work/src/main/java/com/ruoyi/inspect/controller/ArdVideoInspectTaskController.java
@@ -25,14 +25,13 @@
/**
* 瑙嗛宸℃浠诲姟Controller
- *
+ *
* @author ruoyi
* @date 2023-05-30
*/
@RestController
@RequestMapping("/inspect/task")
-public class ArdVideoInspectTaskController extends BaseController
-{
+public class ArdVideoInspectTaskController extends BaseController {
@Autowired
private IArdVideoInspectTaskService ardVideoInspectTaskService;
@@ -41,8 +40,7 @@
*/
@PreAuthorize("@ss.hasPermi('inspect:task:list')")
@GetMapping("/list")
- public TableDataInfo list(ArdVideoInspectTask ardVideoInspectTask)
- {
+ public TableDataInfo list(ArdVideoInspectTask ardVideoInspectTask) {
startPage();
List<ArdVideoInspectTask> list = ardVideoInspectTaskService.selectArdVideoInspectTaskList(ardVideoInspectTask);
return getDataTable(list);
@@ -54,8 +52,7 @@
@PreAuthorize("@ss.hasPermi('inspect:task:export')")
@Log(title = "瑙嗛宸℃浠诲姟", businessType = BusinessType.EXPORT)
@PostMapping("/export")
- public void export(HttpServletResponse response, ArdVideoInspectTask ardVideoInspectTask)
- {
+ public void export(HttpServletResponse response, ArdVideoInspectTask ardVideoInspectTask) {
List<ArdVideoInspectTask> list = ardVideoInspectTaskService.selectArdVideoInspectTaskList(ardVideoInspectTask);
ExcelUtil<ArdVideoInspectTask> util = new ExcelUtil<ArdVideoInspectTask>(ArdVideoInspectTask.class);
util.exportExcel(response, list, "瑙嗛宸℃浠诲姟鏁版嵁");
@@ -66,10 +63,22 @@
*/
@PreAuthorize("@ss.hasPermi('inspect:task:query')")
@GetMapping(value = "/{id}")
- public AjaxResult getInfo(@PathVariable("id") String id)
- {
+ public AjaxResult getInfo(@PathVariable("id") String id) {
return success(ardVideoInspectTaskService.selectArdVideoInspectTaskById(id));
}
+
+/*
+ */
+/**
+ * 鑾峰彇瑙嗛宸℃浠诲姟璇︾粏淇℃伅
+ *//*
+
+ @PreAuthorize("@ss.hasPermi('inspect:task:edit')")
+ @GetMapping(value = "/getTaskUsedCameraPeriods")
+ public AjaxResult getTaskUsedCameraPeriods(String cameraId) {
+ return success(ardVideoInspectTaskService.getTaskUsedCameraPeriods(cameraId));
+ }
+*/
/**
* 鏂板瑙嗛宸℃浠诲姟
@@ -77,8 +86,7 @@
@PreAuthorize("@ss.hasPermi('inspect:task:add')")
@Log(title = "瑙嗛宸℃浠诲姟", businessType = BusinessType.INSERT)
@PostMapping
- public AjaxResult add(@RequestBody ArdVideoInspectTask ardVideoInspectTask)
- {
+ public AjaxResult add(@RequestBody ArdVideoInspectTask ardVideoInspectTask) {
ardVideoInspectTask.setId(UUID.randomUUID().toString());
return toAjax(ardVideoInspectTaskService.insertArdVideoInspectTask(ardVideoInspectTask));
}
@@ -89,18 +97,17 @@
@PreAuthorize("@ss.hasPermi('inspect:task:edit')")
@Log(title = "瑙嗛宸℃浠诲姟", businessType = BusinessType.UPDATE)
@PutMapping
- public AjaxResult edit(@RequestBody ArdVideoInspectTask ardVideoInspectTask)
- {
+ public AjaxResult edit(@RequestBody ArdVideoInspectTask ardVideoInspectTask) {
return toAjax(ardVideoInspectTaskService.updateArdVideoInspectTask(ardVideoInspectTask));
}
+
/**
* 鍙慨鏀硅棰戝贰妫�浠诲姟,涓嶆洿鏂版楠�
*/
@PreAuthorize("@ss.hasPermi('inspect:task:edit')")
@Log(title = "鍙慨鏀硅棰戝贰妫�浠诲姟,涓嶆洿鏂版楠�", businessType = BusinessType.UPDATE)
@PostMapping("/update")
- public AjaxResult updateArdVideoInspectTaskSingle(@RequestBody ArdVideoInspectTask ardVideoInspectTask)
- {
+ public AjaxResult updateArdVideoInspectTaskSingle(@RequestBody ArdVideoInspectTask ardVideoInspectTask) {
return toAjax(ardVideoInspectTaskService.updateArdVideoInspectTaskSingle(ardVideoInspectTask));
}
@@ -109,9 +116,8 @@
*/
@PreAuthorize("@ss.hasPermi('inspect:task:remove')")
@Log(title = "瑙嗛宸℃浠诲姟", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
- public AjaxResult remove(@PathVariable String[] ids)
- {
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(ardVideoInspectTaskService.deleteArdVideoInspectTaskByIds(ids));
}
}
diff --git a/ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java b/ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java
index 7de26c1..d7f98e1 100644
--- a/ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/inspect/mapper/ArdVideoInspectTaskMapper.java
@@ -84,4 +84,6 @@
* @return 缁撴灉
*/
public int deleteArdVideoInspectTaskStepByTaskId(String id);
+
+ public List getTaskUsedCameraPeriods(String cameraId);
}
diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/IArdVideoInspectTaskService.java b/ard-work/src/main/java/com/ruoyi/inspect/service/IArdVideoInspectTaskService.java
index ba1fe73..7f63b69 100644
--- a/ard-work/src/main/java/com/ruoyi/inspect/service/IArdVideoInspectTaskService.java
+++ b/ard-work/src/main/java/com/ruoyi/inspect/service/IArdVideoInspectTaskService.java
@@ -85,4 +85,7 @@
* 宸℃浠诲姟
*/
public void taskRun();
+ //鑾峰彇鐩告満宸蹭娇鐢ㄦ椂娈�
+ public List getTaskUsedCameraPeriods(String cameraId);
+ public List getCameraIdleTimeList(String cameraId);
}
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 c35cc97..aecf1ad 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
@@ -2,7 +2,6 @@
import java.text.SimpleDateFormat;
import java.util.*;
-
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
import com.ruoyi.common.utils.DateUtils;
@@ -13,6 +12,7 @@
import com.ruoyi.device.hiksdk.service.IHikClientService;
import com.ruoyi.inspect.domain.ArdVideoInspectRecord;
import com.ruoyi.inspect.mapper.ArdVideoInspectRecordMapper;
+import com.ruoyi.inspect.mapper.ArdVideoInspectTaskStepMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.ruoyi.common.utils.StringUtils;
@@ -37,6 +37,8 @@
public class ArdVideoInspectTaskServiceImpl implements IArdVideoInspectTaskService {
@Resource
private ArdVideoInspectTaskMapper ardVideoInspectTaskMapper;
+ @Resource
+ private ArdVideoInspectTaskStepMapper ardVideoInspectTaskStepMapper;
@Resource
private ArdAlarmpointsWellMapper ardAlarmpointsWellMapper;
@Resource
@@ -108,7 +110,7 @@
public int updateArdVideoInspectTask(ArdVideoInspectTask ardVideoInspectTask) {
ardVideoInspectTask.setUpdateBy(SecurityUtils.getUsername());
ardVideoInspectTask.setUpdateTime(DateUtils.getNowDate());
- ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId());
+ // ardVideoInspectTaskMapper.deleteArdVideoInspectTaskStepByTaskId(ardVideoInspectTask.getId());
insertArdVideoInspectTaskStep(ardVideoInspectTask);
return ardVideoInspectTaskMapper.updateArdVideoInspectTask(ardVideoInspectTask);
}
@@ -169,11 +171,13 @@
if (StringUtils.isNotNull(ardVideoInspectTaskStepList)) {
List<ArdVideoInspectTaskStep> list = new ArrayList<ArdVideoInspectTaskStep>();
for (ArdVideoInspectTaskStep ardVideoInspectTaskStep : ardVideoInspectTaskStepList) {
- ardVideoInspectTaskStep.setTaskId(id);
- list.add(ardVideoInspectTaskStep);
- }
- if (list.size() > 0) {
- ardVideoInspectTaskMapper.batchArdVideoInspectTaskStep(list);
+ if (ardVideoInspectTaskStep.getId() == null) {
+ //鏂扮殑姝ラ,娣诲姞
+ ardVideoInspectTaskStepMapper.insertArdVideoInspectTaskStep(ardVideoInspectTaskStep);
+ } else {
+ //宸叉湁姝ラ,鏇存柊
+ ardVideoInspectTaskStepMapper.updateArdVideoInspectTaskStep(ardVideoInspectTaskStep);
+ }
}
}
}
@@ -566,4 +570,37 @@
}
return "";
}
+
+ public List getTaskUsedCameraPeriods(String cameraId) {
+ return ardVideoInspectTaskMapper.getTaskUsedCameraPeriods(cameraId);
+ }
+
+ public List getCameraIdleTimeList(String cameraId) {
+ LinkedList<String> timeList = new LinkedList();
+ List<Map> usedPeriods = this.getTaskUsedCameraPeriods(cameraId);
+ for (Map p :
+ usedPeriods) {
+ timeList.add((String) p.get("start_time"));
+ timeList.add((String) p.get("end_time"));
+ }
+ //鍒ゆ柇绗竴涓捣濮嬬偣
+ if (timeList.getFirst().equals("00:00:00")) {
+ timeList.removeFirst();
+ } else {
+ timeList.addFirst("00:00:00");
+ }
+ //鍒ゆ柇鏈�鍚庝竴涓粨鏉熸椂闂�
+ if (timeList.getLast().equals("23:59:59")) {
+ timeList.removeLast();
+ } else {
+ timeList.addLast("23:59:59");
+ }
+ //浜嬩欢娈典负绌�,鍒欏叏澶╀綔涓轰竴涓椂闂存
+ if (timeList.size() == 0) {
+ timeList.add("00:00:00");
+ timeList.add("23:59:59");
+ }
+
+ return timeList;
+ }
}
diff --git a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml
index f98fe8e..8b9dc65 100644
--- a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml
+++ b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskMapper.xml
@@ -155,4 +155,11 @@
( #{item.taskId}, #{item.deptId}, #{item.userId}, #{item.orderNumber}, #{item.recordingTime}, #{item.wellId})
</foreach>
</insert>
+
+ <!--鏌ヨ浠诲姟涓浉鏈哄凡浣跨敤鏃舵-->
+ <select id="getTaskUsedCameraPeriods" parameterType="String" resultType="java.util.HashMap">
+ select t.start_time,t.end_time from ard_video_inspect_task t
+ where t.camera_id=#{startMonth}
+ ORDER BY t.start_time
+ </select>
</mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskStepMapper.xml b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskStepMapper.xml
index 7cb49a8..a97c646 100644
--- a/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskStepMapper.xml
+++ b/ard-work/src/main/resources/mapper/inspect/ArdVideoInspectTaskStepMapper.xml
@@ -62,12 +62,11 @@
<trim prefix="SET" suffixOverrides=",">
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="userId != null">user_id = #{userId},</if>
- <if test="id != null">id = #{id},</if>
<if test="orderNumber != null">order_number = #{orderNumber},</if>
<if test="recordingTime != null">recording_time = #{recordingTime},</if>
<if test="wellId != null">well_id = #{wellId},</if>
</trim>
- where task_id = #{taskId}
+ where id = #{id}
</update>
<delete id="deleteArdVideoInspectTaskStepByTaskId" parameterType="String">
--
Gitblit v1.9.3