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