Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/V0.0.6-iot' into V0.0.6-iot

jingyuanchao 1 gadu atpakaļ
vecāks
revīzija
2373cfdb32
25 mainītis faili ar 185 papildinājumiem un 2589 dzēšanām
  1. 5 5
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/DvrDiskController.java
  2. 0 56
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoDaysCheckController.java
  3. 0 102
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoDiagnosisRecordController.java
  4. 0 48
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoIntegrityCheckAppController.java
  5. 0 63
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoIntegrityCheckWebController.java
  6. 5 62
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/dto/dvrDisk/DvrDiskAppPageDto.java
  7. 6 0
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/mapper/IotDvrDiskMapper.java
  8. 5 0
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/IotDvsDiskService.java
  9. 0 33
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoDaysCheckService.java
  10. 0 34
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoDiagnosisRecordService.java
  11. 0 42
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoIntegrityCheckService.java
  12. 0 13
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoRecorderHardDiskDetectionService.java
  13. 26 4
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotDvrDiskServiceImpl.java
  14. 0 228
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoDaysCheckServiceImpl.java
  15. 0 319
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoDiagnosisRecordServiceImpl.java
  16. 0 395
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoIntegrityCheckServiceImpl.java
  17. 0 53
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoRecorderHardDiskDetectionServiceImpl.java
  18. 38 0
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/dvrDisk/DvrDiskAppPageVo.java
  19. 5 5
      soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/dvrDisk/DvrDiskPageVo.java
  20. 93 34
      soc-modules/soc-modules-iot/src/main/resources/mapper/DvrDiskMapper.xml
  21. 2 2
      soc-modules/soc-modules-iot/src/main/resources/mapper/IotDvrChannelMapper.xml
  22. 0 415
      soc-modules/soc-modules-iot/src/main/resources/mapper/VideoDaysCheckMapper.xml
  23. 0 264
      soc-modules/soc-modules-iot/src/main/resources/mapper/VideoDiagnosisRecordMapper.xml
  24. 0 386
      soc-modules/soc-modules-iot/src/main/resources/mapper/VideoIntegrityCheckMapper.xml
  25. 0 26
      soc-modules/soc-modules-iot/src/main/resources/mapper/VideoRecorderHardDiskDetectionMapper.xml

+ 5 - 5
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/DvrDiskController.java

@@ -6,7 +6,7 @@ import com.xunmei.iot.dto.dvrDisk.DvrDiskAlarmHistoryPageDto;
 import com.xunmei.iot.dto.dvrDisk.DvrDiskPageDto;
 import com.xunmei.iot.dto.dvrDisk.DvrDiskAppPageDto;
 import com.xunmei.iot.service.IotDvsDiskService;
-import com.xunmei.iot.service.VideoRecorderHardDiskDetectionService;
+import com.xunmei.iot.vo.dvrDisk.DvrDiskAppPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskAlarmHistoryPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskDetectionPageVo;
@@ -26,8 +26,8 @@ class DvrDiskController {
     @Autowired
     IotDvsDiskService dvrDiskService;
 
-    @Resource
-    VideoRecorderHardDiskDetectionService videoRecorderHardDiskDetectionService;
+//    @Resource
+//    VideoRecorderHardDiskDetectionService videoRecorderHardDiskDetectionService;
 
     @ApiOperation("分页")
     @PostMapping({"/web/find"})
@@ -60,8 +60,8 @@ class DvrDiskController {
     }
     @ApiOperation("分页")
     @PostMapping({"/app/find"})
-    TableDataInfo<DvrDiskDetectionPageVo> page(@RequestBody final DvrDiskAppPageDto request) {
-        TableDataInfo<DvrDiskDetectionPageVo> page = this.videoRecorderHardDiskDetectionService.page(request);
+    TableDataInfo<DvrDiskAppPageVo> appPage(@RequestBody final DvrDiskAppPageDto request) {
+        TableDataInfo<DvrDiskAppPageVo> page = this.dvrDiskService.appPage(request);
         return page;
     }
 }

+ 0 - 56
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoDaysCheckController.java

@@ -1,56 +0,0 @@
-package com.xunmei.iot.controller;
-
-
-import com.xunmei.common.core.web.domain.AjaxResult;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoDays.VideoDayCheckPageDto;
-import com.xunmei.iot.dto.videoDays.VideoDayCheckWebPageDto;
-import com.xunmei.iot.service.VideoDaysCheckService;
-import com.xunmei.iot.vo.videoDays.VideoDayCheckWebDetailVo;
-import com.xunmei.iot.vo.videoDays.VideoDayCheckWebPageVo;
-import com.xunmei.iot.vo.videoDays.VideoDaysCheckChannelDetailVo;
-import com.xunmei.iot.vo.videoDays.VideoDaysCheckPageVo;
-import org.apache.http.annotation.Obsolete;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * <p>
- * 录像机天数表 前端控制器
- * </p>
- *
- * @author yzl
- * @since 2022-07-26
- */
-@RestController
-@RequestMapping("/VideoDaysCheck")
-@Obsolete
-public class VideoDaysCheckController {
-
-    @Autowired
-    private VideoDaysCheckService videoDaysCheckService;
-
-    @PostMapping("/page")
-    public TableDataInfo<VideoDaysCheckPageVo> page(@RequestBody VideoDayCheckPageDto request) throws Exception {
-        TableDataInfo<VideoDaysCheckPageVo> pageData = this.videoDaysCheckService.getPageData(request);
-        return pageData;
-    }
-
-    @GetMapping("/channelDetail/{id}")
-    public AjaxResult info(@PathVariable("id") String id) {
-        VideoDaysCheckChannelDetailVo data = this.videoDaysCheckService.getChannelDetailData(id);
-        return AjaxResult.success(data);
-    }
-
-    @PostMapping("/web/page")
-    public TableDataInfo<VideoDayCheckWebPageVo>webPage(@RequestBody VideoDayCheckWebPageDto pageDto) {
-        TableDataInfo<VideoDayCheckWebPageVo> page = this.videoDaysCheckService.getWebPageData(pageDto);
-        return page;
-    }
-
-    @GetMapping("/web/detail/{id}")
-    public AjaxResult webInfo(@PathVariable("id") Long id) {
-        VideoDayCheckWebDetailVo detailVo = this.videoDaysCheckService.getWebDetailVo(id);
-        return AjaxResult.success(detailVo);
-    }
-}

+ 0 - 102
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoDiagnosisRecordController.java

@@ -1,102 +0,0 @@
-package com.xunmei.iot.controller;
-
-import com.alibaba.fastjson.JSON;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordAlarmHistoryDto;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordHistoryDto;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordPageDto;
-import com.xunmei.iot.service.VideoDiagnosisRecordService;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisDetailInfoVo;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordAlarmHistoryVo;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordHistoryVo;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordPageVo;
-import com.xunmei.system.api.model.LoginUser;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.http.annotation.Obsolete;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-
-@Slf4j
-@Api(description = "中台", tags = {"视频质量检测"})
-@RestController
-@RequestMapping({"/videoDiagnosisRecord"})
-@Obsolete
-class VideoDiagnosisRecordController {
-
-    @Autowired
-    VideoDiagnosisRecordService videoDiagnosisRecordService;
-
-    @ApiOperation("分页")
-    @PostMapping({"/list"})
-    TableDataInfo<VideoDiagnosisRecordPageVo> page( @RequestBody final VideoDiagnosisRecordPageDto request) {
-//        VIDEODIAGNOSISRECORDLOG.info("视频质量检测分页查询,请求参数:{}", request);
-        TableDataInfo<VideoDiagnosisRecordPageVo> page = videoDiagnosisRecordService.getRecordPageList(request);
-        return page;
-    }
-
-
-    @ApiOperation("分页")
-    @PostMapping({"/history/list"})
-    TableDataInfo<VideoDiagnosisRecordHistoryVo> page( @RequestBody final VideoDiagnosisRecordHistoryDto request) {
-//        VIDEODIAGNOSISRECORDLOG.info("视频质量检测历史记录分页查询,请求参数:{}", request);
-        final TableDataInfo<VideoDiagnosisRecordHistoryVo> page = videoDiagnosisRecordService.getRecordHistoryList(request);
-        List<VideoDiagnosisRecordHistoryVo> resultList = page.getRows();
-        if (resultList != null && resultList.size() > 0) {
-            resultList.forEach(x -> {
-                List<VideoDiagnosisDetailInfoVo> templist = JSON.parseArray(x.getDetailInfo(), VideoDiagnosisDetailInfoVo.class);
-
-                x.setSignalLost(findState(templist, 0));
-                x.setOcclude(findState(templist, 1));
-                x.setBrightness(findState(templist, 2));
-                x.setColorCast(findState(templist, 3));
-                x.setSnowflake(findState(templist, 4));
-                x.setStripe(findState(templist, 5));
-                x.setContrast(findState(templist, 6));
-                x.setBlurry(findState(templist, 7));
-            });
-        }
-        return page;
-    }
-
-    @ApiOperation("分页")
-    @PostMapping({"/alarm/history/list"})
-    TableDataInfo<VideoDiagnosisRecordAlarmHistoryVo> page( @RequestBody final VideoDiagnosisRecordAlarmHistoryDto request) {
-//        VIDEODIAGNOSISRECORDLOG.info("视频质量检测报警历史记录分页查询,请求参数:{}", request);
-        final TableDataInfo<VideoDiagnosisRecordAlarmHistoryVo> page = videoDiagnosisRecordService.getRecordAlarmHistoryList(request);
-//        List<VideoDiagnosisRecordAlarmHistoryVo> resultList = page.getContent();
-//        if (resultList != null && resultList.size() > 0) {
-//            resultList.forEach(x -> {
-//                List<VideoDiagnosisDetailInfoVo> templist = JSON.parseArray(x.getDetailInfo(), VideoDiagnosisDetailInfoVo.class);
-//
-//                x.setSignalLost(findState(templist, 0));
-//                x.setOcclude(findState(templist, 1));
-//                x.setBrightness(findState(templist, 2));
-//                x.setColorCast(findState(templist, 3));
-//                x.setSnowflake(findState(templist, 4));
-//                x.setStripe(findState(templist, 5));
-//                x.setContrast(findState(templist, 6));
-//                x.setBlurry(findState(templist, 7));
-//            });
-//        }
-        return page;
-    }
-
-    private Integer findState(List<VideoDiagnosisDetailInfoVo> states, Integer type) {
-        Optional<VideoDiagnosisDetailInfoVo> opt = states.stream().filter(y -> Objects.equals(y.getType(), type)).findFirst();
-        if (opt.isPresent()) {
-            return opt.get().getState();
-        } else {
-            return 0;
-        }
-    }
-
-}

+ 0 - 48
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoIntegrityCheckAppController.java

@@ -1,48 +0,0 @@
-package com.xunmei.iot.controller;
-
-
-
-import com.xunmei.common.core.web.domain.AjaxResult;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoIntegrity.VideoIntegrityCheckPageDto;
-import com.xunmei.iot.service.VideoDaysCheckService;
-import com.xunmei.iot.service.VideoIntegrityCheckService;
-import com.xunmei.iot.vo.ChannelSingleDetailVo;
-import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckPageVo;
-import org.apache.http.annotation.Obsolete;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * <p>
- * 录像机完整性检查表 前端控制器
- * </p>
- *
- * @author yzl
- * @since 2022-07-26
- */
-@RestController
-@RequestMapping("/app/videoIntegrity")
-@Obsolete
-public class VideoIntegrityCheckAppController {
-
-    @Autowired
-    private VideoDaysCheckService videoDaysCheckService;
-
-    @Autowired
-    private VideoIntegrityCheckService videoIntegrityCheckService;
-
-    @PostMapping("/page")
-//    @WebMethodLogDesc("录像完整性主机分页")
-    public TableDataInfo<VideoIntegrityCheckPageVo> page(@RequestBody VideoIntegrityCheckPageDto request){
-        TableDataInfo<VideoIntegrityCheckPageVo> pageData = this.videoIntegrityCheckService.getPageData(request);
-        return pageData;
-    }
-
-    @GetMapping("/channelDetail/{id}")
-//    @WebMethodLogDesc("录像完整性通道详情")
-    public AjaxResult getChannelDetail(@PathVariable("id") Long id){
-        ChannelSingleDetailVo data = this.videoIntegrityCheckService.getChannelDetailData(id);
-        return AjaxResult.success(data);
-    }
-}

+ 0 - 63
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/controller/VideoIntegrityCheckWebController.java

@@ -1,63 +0,0 @@
-package com.xunmei.iot.controller;
-
-import com.xunmei.common.core.web.domain.AjaxResult;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoIntegrity.VideoIntegrityCheckWebPageDto;
-import com.xunmei.iot.service.VideoIntegrityCheckService;
-import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebPageVo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.http.annotation.Obsolete;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.time.temporal.ChronoUnit;
-
-@Slf4j
-@Api(description = "中台", tags = {"录像完整性"})
-@RestController
-@RequestMapping("/videoIntegrity")
-@Obsolete
-class VideoIntegrityCheckWebController {
-    @Autowired
-    VideoIntegrityCheckService videoIntegrityCheckService;
-
-//    @ApiOperation("分页")
-//    @PostMapping({"/find"})
-//    JsonResponse<Page<com.isp.device.vo.videoIntegrityCheck.VideoIntegrityCheckPageVo>> page(final LoginUser user, @RequestBody final VideoIntegrityCheckDto request) {
-//        Date date = request.getDate();
-//        if (date != null) {
-//            request.setRecordDate(DateUtil.date(date)
-//            );
-//        }
-//
-//        Page<com.isp.device.vo.videoIntegrityCheck.VideoIntegrityCheckPageVo> page = this.videoIntegrityCheckService.page(request, com.isp.device.vo.videoIntegrityCheck.VideoIntegrityCheckPageVo::to);
-//        return JsonResponse.success(page);
-//    }
-
-    @PostMapping
-    public AjaxResult test(){
-        return  AjaxResult.success();
-    }
-
-    @ApiOperation("分页")
-    @PostMapping("/list")
-//    @WebMethodLogDesc("录像完整性WEB端主机分页")
-    TableDataInfo<VideoIntegrityCheckWebPageVo> list(@RequestBody VideoIntegrityCheckWebPageDto request) {
-        TableDataInfo<VideoIntegrityCheckWebPageVo> page = this.videoIntegrityCheckService.getWebPage(request);
-        return page;
-    }
-//
-//    @PostMapping({"/updateVideoIntegrityCheck"})
-//    AjaxResult updateVideoIntegrityCheck(@RequestBody UpdateDto request) {
-//        long days = ChronoUnit.DAYS.between(request.getStartDate(),request.getEndDate());
-//        for(int i=0;i<=days;i++){
-//            this.videoIntegrityCheckService.updateVideoIntegrityCheck(request.getStartDate().plusDays(i));
-//        }
-//        return AjaxResult.success();
-//    }
-}

+ 5 - 62
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/dto/dvrDisk/DvrDiskAppPageDto.java

@@ -1,5 +1,6 @@
 package com.xunmei.iot.dto.dvrDisk;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.xunmei.common.core.web.domain.PageDto;
 import com.xunmei.system.api.enums.AlarmStatus;
 import io.swagger.annotations.ApiModel;
@@ -21,67 +22,9 @@ import java.util.Date;
         description = "录像机硬盘检测查询"
 )
 public class DvrDiskAppPageDto extends PageDto {
-    @ApiModelProperty("录像机的唯一标识")
-//    @Query(
-//            type = QueryConditionType.equal
-//    )
-    private String equipmentCode;
-    @ApiModelProperty("录像机的名称")
-//    @Query(
-//            type = QueryConditionType.like
-//    )
-    private String equipmentName;
-    @ApiModelProperty("报警状态")
-//    @Query(
-//            type = QueryConditionType.equal
-//    )
-    private AlarmStatus status;
-    @ApiModelProperty("报警/恢复时间")
-//    @Query(
-//            type = QueryConditionType.equalDate
-//    )
-    private Date alarmTime;
+    @ApiModelProperty(value = "0:正常,1:异常,2:未知")
+    private Integer state;
 
-    @ApiModelProperty("报警/恢复开始-结束日期")
-    private Date[] range;
-
-//    /**
-//     * 与alarmTime互斥,alarmTime优先
-//     */
-//    @ApiModelProperty("报警/恢复开始日期")
-////    @Query(
-////            type = QueryConditionType.geDate,column = "alarmTime"
-////    )
-//    @JsonIgnore
-//    private Date alarmStartTime;
-//
-//    /**
-//     * 与alarmTime互斥,alarmTime优先
-//     */
-//    @ApiModelProperty("报警/恢复结束日期")
-////    @Query(
-////            type = QueryConditionType.leDate,column = "alarmTime"
-////    )
-//    @JsonIgnore
-//    private Date alarmEndTime;
-
-
-    @ApiModelProperty("所属机构")
-//    @Query(
-//            type = QueryConditionType.equal
-//    )
-    private Long orgId;
-
-    @ApiModelProperty("上级银行")
-//    @Query(type = QueryConditionType.org, column = "orgId")
-    private Long parentId;
-
-    @ApiModelProperty("包含下级")
-    private Boolean checkSub = false;
-
-//    @ApiModelProperty("id")
-////    @Query(
-////            type = QueryConditionType.equal
-////    )
-//    private String id;
+    @JsonIgnore
+    private Long categoryId;
 }

+ 6 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/mapper/IotDvrDiskMapper.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.domain.iot.domain.IotDvrDisk;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xunmei.iot.dto.dvrDisk.DvrDiskAlarmHistoryPageDto;
+import com.xunmei.iot.dto.dvrDisk.DvrDiskAppPageDto;
 import com.xunmei.iot.dto.dvrDisk.DvrDiskPageDto;
+import com.xunmei.iot.vo.dvrDisk.DvrDiskAppPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskAlarmHistoryPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskStatisticVo;
@@ -27,4 +29,8 @@ public interface IotDvrDiskMapper extends BaseMapper<IotDvrDisk> {
                                                @Param("orgPath") String orgPath);
 
     DvrDiskStatisticVo diskStatistic(@Param("pageDto") DvrDiskPageDto request,@Param("orgPath") String orgPath);
+
+    Page<DvrDiskAppPageVo>  selectAppHostPage(@Param("mePage") Page<DvrDiskAppPageVo> mePage,
+                                                  @Param("pageDto") DvrDiskAppPageDto pageDto,
+                                                  @Param("orgPath") String orgPath);
 }

+ 5 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/IotDvsDiskService.java

@@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.iot.domain.IotDvrDisk;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.iot.dto.dvrDisk.DvrDiskAlarmHistoryPageDto;
+import com.xunmei.iot.dto.dvrDisk.DvrDiskAppPageDto;
 import com.xunmei.iot.dto.dvrDisk.DvrDiskPageDto;
+import com.xunmei.iot.vo.dvrDisk.DvrDiskAppPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskAlarmHistoryPageVo;
 import com.xunmei.iot.vo.dvrDisk.DvrDiskStatisticVo;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * @author jingyuanchao.
@@ -20,4 +23,6 @@ public interface IotDvsDiskService extends IService<IotDvrDisk> {
     TableDataInfo<DvrDiskAlarmHistoryPageVo> getRecordAlarmHistoryList(DvrDiskAlarmHistoryPageDto request);
 
     DvrDiskStatisticVo diskStatistic(DvrDiskPageDto request);
+
+    TableDataInfo<DvrDiskAppPageVo> appPage(DvrDiskAppPageDto request);
 }

+ 0 - 33
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoDaysCheckService.java

@@ -1,33 +0,0 @@
-package com.xunmei.iot.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.xunmei.common.core.domain.video.MediatorVideoDaysCheck;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoDays.VideoDayCheckPageDto;
-import com.xunmei.iot.dto.videoDays.VideoDayCheckWebPageDto;
-import com.xunmei.iot.vo.videoDays.VideoDayCheckWebDetailVo;
-import com.xunmei.iot.vo.videoDays.VideoDayCheckWebPageVo;
-import com.xunmei.iot.vo.videoDays.VideoDaysCheckChannelDetailVo;
-import com.xunmei.iot.vo.videoDays.VideoDaysCheckPageVo;
-import org.apache.http.annotation.Obsolete;
-
-/**
- * <p>
- * 录像机天数检查 服务类
- * </p>
- *
- * @author yzl
- * @since 2022-07-26
- */
-@Obsolete
-public interface VideoDaysCheckService extends IService<MediatorVideoDaysCheck> {
-
-    TableDataInfo<VideoDaysCheckPageVo> getPageData(VideoDayCheckPageDto request);
-
-    VideoDaysCheckChannelDetailVo getChannelDetailData(String id);
-
-    TableDataInfo<VideoDayCheckWebPageVo> getWebPageData(VideoDayCheckWebPageDto pageDto);
-
-    VideoDayCheckWebDetailVo getWebDetailVo(Long id);
-
-}

+ 0 - 34
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoDiagnosisRecordService.java

@@ -1,34 +0,0 @@
-package com.xunmei.iot.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.xunmei.common.core.domain.video.MediatorVideoDiagnosisRecord;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordAlarmHistoryDto;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordHistoryDto;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordPageDto;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordAlarmHistoryVo;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordHistoryVo;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordPageVo;
-import org.apache.http.annotation.Obsolete;
-
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * @author jingyuanchao.
- * @date 2022/4/7 10:30
- */
-@Obsolete
-public interface VideoDiagnosisRecordService extends IService<MediatorVideoDiagnosisRecord> {
-    TableDataInfo<VideoDiagnosisRecordPageVo> getRecordPageList(VideoDiagnosisRecordPageDto request);
-
-    TableDataInfo<VideoDiagnosisRecordHistoryVo> getRecordHistoryList(VideoDiagnosisRecordHistoryDto request);
-
-    TableDataInfo<VideoDiagnosisRecordAlarmHistoryVo> getRecordAlarmHistoryList(VideoDiagnosisRecordAlarmHistoryDto request);
-
-//    List<VideoDiagnosisBoardVo> queryVideoDiagnosis(VideoDiagnosisBoardDto diagnosisBoardDto);
-//
-//    List<VideoDiagnosisBoardVo> queryVideoDiagnosis(Long orgId, Date date);
-
-}

+ 0 - 42
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoIntegrityCheckService.java

@@ -1,42 +0,0 @@
-package com.xunmei.iot.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheck;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoIntegrity.VideoInfoDto;
-import com.xunmei.iot.dto.videoIntegrity.VideoIntegrityCheckPageDto;
-import com.xunmei.iot.dto.videoIntegrity.VideoIntegrityCheckWebPageDto;
-import com.xunmei.iot.vo.ChannelSingleDetailVo;
-import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckPageVo;
-import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebPageVo;
-import org.apache.http.annotation.Obsolete;
-
-import java.time.LocalDate;
-import java.util.Date;
-import java.util.List;
-
-/**
- * <p>
- * 录像机完整性检查表 服务类
- * </p>
- *
- * @author yzl
- * @since 2022-07-26
- */
-@Obsolete
-public interface VideoIntegrityCheckService extends IService<MediatorVideoIntegrityCheck> {
-
-    TableDataInfo<VideoIntegrityCheckPageVo> getPageData(VideoIntegrityCheckPageDto request);
-
-    ChannelSingleDetailVo getChannelDetailData(Long id);
-
-    TableDataInfo<VideoIntegrityCheckWebPageVo> getWebPage(VideoIntegrityCheckWebPageDto request);
-
-//    List<VideoCompletedBoardVo> queryVideoCompleted(VideoCompletedBoardDto completedBoardDto);
-
-    List<VideoIntegrityCheckWebPageVo> getVideoIntegrityDevices(Long orgId, Date Date);
-
-    List<VideoInfoDto> getVideoInfo(Long orgId, Date date);
-
-    void updateVideoIntegrityCheck(LocalDate date);
-}

+ 0 - 13
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/VideoRecorderHardDiskDetectionService.java

@@ -1,13 +0,0 @@
-package com.xunmei.iot.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.xunmei.common.core.domain.iot.domain.IotDvrHardDiskDetection;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.dvrDisk.DvrDiskAppPageDto;
-import com.xunmei.iot.vo.dvrDisk.DvrDiskDetectionPageVo;
-import org.apache.http.annotation.Obsolete;
-
-@Obsolete
-public interface VideoRecorderHardDiskDetectionService extends IService<IotDvrHardDiskDetection> {
-    TableDataInfo<DvrDiskDetectionPageVo> page(DvrDiskAppPageDto request);
-}

+ 26 - 4
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotDvrDiskServiceImpl.java

@@ -12,13 +12,11 @@ import com.xunmei.common.core.domain.iot.domain.IotDvrDisk;
 import com.xunmei.common.core.enums.CategoryDataEnum;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.iot.dto.dvrDisk.DvrDiskAlarmHistoryPageDto;
+import com.xunmei.iot.dto.dvrDisk.DvrDiskAppPageDto;
 import com.xunmei.iot.dto.dvrDisk.DvrDiskPageDto;
 import com.xunmei.iot.mapper.IotDvrDiskMapper;
 import com.xunmei.iot.service.IotDvsDiskService;
-import com.xunmei.iot.vo.dvrDisk.DvrDiskPageVo;
-import com.xunmei.iot.vo.dvrDisk.DetailVo;
-import com.xunmei.iot.vo.dvrDisk.DvrDiskAlarmHistoryPageVo;
-import com.xunmei.iot.vo.dvrDisk.DvrDiskStatisticVo;
+import com.xunmei.iot.vo.dvrDisk.*;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.domain.SysOrg;
 import org.apache.commons.lang3.StringUtils;
@@ -103,4 +101,28 @@ public class IotDvrDiskServiceImpl extends ServiceImpl<IotDvrDiskMapper, IotDvrD
         DvrDiskStatisticVo vo = baseMapper.diskStatistic(pageDto, orgPath);
         return vo;
     }
+
+    @Override
+    public TableDataInfo<DvrDiskAppPageVo> appPage(DvrDiskAppPageDto pageDto) {
+        String orgPath = "";
+        if (pageDto.getCheckSub()) {
+            SysOrg org = orgService.selectOrgById(pageDto.getOrgId(), SecurityConstants.INNER);
+            orgPath = org.getPath();
+        }
+        pageDto.setCategoryId(CategoryDataEnum.MONITOR_HOST_DEVICE.getId());
+        Page<DvrDiskAppPageVo> page = pageDto.toPage();
+        page = baseMapper.selectAppHostPage(page, pageDto, orgPath);
+        page.getRecords().forEach(r -> {
+            if (ObjectUtil.isEmpty(r.getDiskInfos())) {
+                r.setState(null);
+            } else if (r.getDiskInfos().stream().filter(c -> ObjectUtil.equal(c.getState(), 1)).findAny().isPresent()) {
+                r.setState(1);
+            } else if (r.getDiskInfos().stream().filter(c -> ObjectUtil.equal(c.getState(), 2)).findAny().isPresent()) {
+                r.setState(2);
+            } else {
+                r.setState(0);
+            }
+        });
+        return TableDataInfo.success(page);
+    }
 }

+ 0 - 228
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoDaysCheckServiceImpl.java

@@ -1,228 +0,0 @@
-package com.xunmei.iot.service.impl;
-
-import cn.hutool.core.collection.CollectionUtil;
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xunmei.common.core.constant.SecurityConstants;
-import com.xunmei.common.core.domain.video.MediatorVideoDaysCheck;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoDays.VideoDayCheckPageDto;
-import com.xunmei.iot.dto.videoDays.VideoDayCheckWebPageDto;
-import com.xunmei.iot.mapper.VideoDaysCheckMapper;
-import com.xunmei.iot.service.VideoDaysCheckService;
-import com.xunmei.iot.vo.videoDays.*;
-import com.xunmei.system.api.RemoteDeviceService;
-import com.xunmei.system.api.RemoteOrgService;
-import com.xunmei.system.api.domain.SysOrg;
-import org.apache.http.annotation.Obsolete;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.*;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-/**
- * <p>
- * 录像机天数检查 服务实现类
- * </p>
- *
- * @author yzl
- * @since 2022-07-26
- */
-@Service
-@Obsolete
-public class VideoDaysCheckServiceImpl extends ServiceImpl<VideoDaysCheckMapper, MediatorVideoDaysCheck> implements VideoDaysCheckService {
-    @Autowired
-    private VideoDaysCheckMapper videoDaysCheckMapper;
-
-    @Autowired
-    RemoteOrgService remoteOrgService;
-
-    @Override
-    public TableDataInfo<VideoDaysCheckPageVo> getPageData(VideoDayCheckPageDto request) {
-        //Integer status            主机颜色 ->  0:正常(绿色) 1:异常(红色) 2:运维中(黄色) 3:未上报(灰色)
-        // Integer channelStatus     通道颜色 ->  0:异常(红色) 1:正常(绿色) 2:运维中(黄色) 3:未上报(灰色)
-        final String orgPath = remoteOrgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER).getPath();
-        request.setPath(orgPath);
-        Page<VideoDaysCheckPageVo> page = request.toPage();
-        page = this.videoDaysCheckMapper.selectPageByOrgIdAndTimeAndStatus(request, page);
-        for (VideoDaysCheckPageVo vo : page.getRecords()) {
-            List<VideoDaysCheckChannelVo> channelVoList = videoDaysCheckMapper.selectChannelsByTime(vo.getEquipmentCode(), request);
-            if (ObjectUtil.equal(request.getStatus(), 3)) {
-                final List<String> list = channelVoList.stream().map(VideoDaysCheckChannelVo::getChannelCode).distinct().collect(Collectors.toList());
-                List<VideoDaysCheckChannelVo> channelVoList2 = videoDaysCheckMapper.selectNotReportChannels(vo.getEquipmentCode(), request, list);
-                channelVoList = Stream.of(channelVoList, channelVoList2).flatMap(Collection::stream).collect(Collectors.toList());
-            }
-            vo.setChannelVos(channelVoList);
-            //处理通道数据
-            dealChannelData(vo, request);
-            //设置外边主机显示颜色
-            dealHostDeviceColor(vo);
-        }
-        return TableDataInfo.success(page);
-    }
-
-    private void dealChannelData(VideoDaysCheckPageVo vo, VideoDayCheckPageDto request) {
-        final List<VideoDaysCheckChannelVo> channelVos = vo.getChannelVos();
-        if (request.getStatus() == null) {
-            channelVos.forEach(channelVo -> {
-                //当查询全部的时候channelVo.getStatus()==null的时候 说明未上报
-                if (ObjectUtil.equal(channelVo.getStatus(), null) || !DateUtil.isIn(channelVo.getUpdateTime(), request.getStartTime(), request.getEndTime())) {
-                    channelVo.setChannelStatus(3);
-                    return;
-                }
-            });
-        }
-
-        if (ObjectUtil.equal(request.getStatus(), 3)) {
-       /*  V1.10.2需求:录像天数只显示前一天的数据(跟主机规则保持一致),channelVos中返回的全是昨日未上报的数据,
-               但是通道状态还是根据实际与计划天数对比来判断的,所以这里需要修改所有通道状态为3(灰色)   */
-            channelVos.forEach(channelVo -> {
-                channelVo.setChannelStatus(3);
-            });
-        }
-
-        //todo:运维
-//        List<Integer> channelCodeList = objectMapper.findOnRepairDeviceChannelCodeByHostCode(vo.getEquipmentCode());
-//        if (CollectionUtil.isNotEmpty(channelCodeList)) {
-//            // 将channelVos中的ChannelCode与channelCodeList中的ChannelCode进行比较,如果相同,则将channelVos中的isOnRepair 设置为1(运维中)
-//            channelVos.forEach(channelVo -> {
-//                if (channelCodeList.contains(Integer.parseInt(channelVo.getChannelCode()))) {
-//                    channelVo.setChannelStatus(2);
-//                }
-//            });
-//        }
-    }
-
-    private void dealHostDeviceColor(VideoDaysCheckPageVo vo) {
-        // 通道颜色 ->  0:异常(红色) 1:正常(绿色) 2:运维中(黄色) 3:未上报(灰色)
-        // 主机颜色 ->  0:正常(绿色) 1:异常(红色) 2:运维中(黄色) 3:未上报(灰色)
-        final List<VideoDaysCheckChannelVo> channelVos = vo.getChannelVos();
-        if (CollectionUtil.isEmpty(channelVos)) {
-            return;
-        }
-        final List<Integer> list = channelVos.stream().map(VideoDaysCheckChannelVo::getChannelStatus).distinct().collect(Collectors.toList());
-        if (list.contains(0)) {
-            vo.setStatus(1);
-            return;
-        }
-        if (list.contains(3)) {
-            vo.setStatus(3);
-            return;
-        }
-        if (list.contains(2)) {
-            vo.setStatus(2);
-            return;
-        }
-        vo.setStatus(0);
-    }
-
-    @Override
-    public VideoDaysCheckChannelDetailVo getChannelDetailData(String id) {
-        final VideoDaysCheckChannelDetailVo vo = new VideoDaysCheckChannelDetailVo();
-//        Device device = deviceMapper.selectById(id);
-//
-//        if (device == null) {
-//            throw new RuntimeException("设备数据不存在(" + id + ")");
-//        }
-//        vo.setEquipmentCode(device.getHostCode());
-//        vo.setChannelCode(device.getCode());
-//        vo.setChannelName(device.getName());
-//        final VideoDaysCheckChannelDetailVo videoDaysCheck = this.videoDaysCheckMapper.selectChannelDetailById(device.getHostCode(), device.getCode());
-//        if (videoDaysCheck != null) {
-//            vo.setPlanDays(videoDaysCheck.getPlanDays());
-//            vo.setRealDays(videoDaysCheck.getRealDays());
-//            vo.setLoseDate(videoDaysCheck.getLoseDate());
-//            vo.setUpdateTime(videoDaysCheck.getUpdateTime());
-//            vo.setPlanStAndEdDay(videoDaysCheck.getPlanStAndEdDay());
-//            vo.setEarliestVideoTime(videoDaysCheck.getEarliestVideoTime());
-//        }
-//        final DeviceRepairDto deviceRepairData = objectService.selectDeviceRepairData(device.getOrgId(), null, null, device.getId(), new HashMap<Object, Object>());
-//        if (deviceRepairData != null) {
-//            vo.setDeviceRepairDto(deviceRepairData);
-//        }
-
-        return vo;
-    }
-
-
-    @Override
-    public TableDataInfo<VideoDayCheckWebPageVo> getWebPageData(VideoDayCheckWebPageDto pageDto) {
-        if (pageDto.getRange() != null) {
-            Date startTime = new DateTime(pageDto.getRange()[0]).setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
-            Date endTime = new DateTime(pageDto.getRange()[1]).setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
-            pageDto.setStartTime(DateUtil.beginOfDay(startTime));
-            pageDto.setEndTime(DateUtil.endOfDay(endTime));
-        }
-        if (pageDto.getLoseDate() != null) {
-            Date loseDate = new DateTime(pageDto.getLoseDate()).setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
-            pageDto.setLoseDateStr(DateUtil.beginOfDay(loseDate).toString("yyyy-MM-dd"));
-        }
-        if (pageDto.getCheckSub()) {
-            SysOrg org = remoteOrgService.selectOrgById(pageDto.getOrgId(), SecurityConstants.INNER);
-            pageDto.setOrgPath(org.getPath());
-            pageDto.setOrgId(null);
-        }
-        Page<VideoDayCheckWebPageVo> page = pageDto.toPage();
-        page = videoDaysCheckMapper.selectWebPageData(pageDto, page);
-
-        return TableDataInfo.success(page);
-    }
-
-    @Override
-    public VideoDayCheckWebDetailVo getWebDetailVo(Long id) {
-        VideoDayCheckWebDetailVo detailVo = videoDaysCheckMapper.getWebDetailVo(id);
-        final String checkDate = detailVo.getCheckDate();
-        if (ObjectUtil.isNotEmpty(detailVo.getCheckDate()) && !detailVo.getCheckDate().equals("[]") && !detailVo.getCheckDate().equals("null")) {
-            String ymdFormat = "yyyy-MM-dd";
-            final Map<String, String> checkDataMap = JSON.parseObject(checkDate, Map.class);
-            final String planStartTimeStr = checkDataMap.get("sd");
-            final String planEndTimeStr = checkDataMap.get("ed");
-            detailVo.setPlanStartTime(DateUtil.parse(planStartTimeStr, ymdFormat));
-            detailVo.setPlanEndTime(DateUtil.parse(planEndTimeStr, ymdFormat));
-        }
-        if (ObjectUtil.isNotEmpty(detailVo.getLoseDate()) && !detailVo.getLoseDate().equals("[]") && !detailVo.getLoseDate().equals("null")) {
-            List<Map<String, Object>> resolveDataList = new ArrayList<>();
-            //反序列化整个丢失日期集合,并且根据年份进行排序
-            List<String> strings = JSON.parseArray(detailVo.getLoseDate(), String.class);
-            List<DateTime> dateTimeList = strings.stream().map(DateUtil::parseDate).sorted(Comparator.reverseOrder()).collect(Collectors.toList());
-            //根据年份再进行分组
-            Map<Integer, List<DateTime>> listMap = dateTimeList.stream().collect(Collectors.groupingBy(DateTime::year));
-            List<Integer> yearList = new ArrayList<>(listMap.keySet());
-            Collections.reverse(yearList);
-            for (Integer year : yearList) {
-                //拿到当前年的所有数据
-                final List<DateTime> monthDataList = listMap.get(year);
-                monthDataList.sort(Comparator.comparing(DateTime::month).reversed());
-                final Map<Integer, List<DateTime>> monthMap = monthDataList.stream().collect(Collectors.groupingBy(dt -> DateUtil.month(dt) + 1));
-                List<Integer> monthList = new ArrayList<>(monthMap.keySet());
-                Collections.reverse(monthList);
-                for (Integer month : monthList) {
-                    //拿到当前月的所有日期数据
-                    final List<DateTime> dayDataList = monthMap.get(month);
-                    dayDataList.sort(Comparator.comparing(DateTime::dayOfMonth).reversed());
-                    final List<String> dayStrList = dayDataList.stream().map(dateTime -> dateTime.dayOfMonth() + "日").collect(Collectors.toList());
-                    Map<String, Object> map = new HashMap<>();
-                    map.put("month", month + "月");
-                    map.put("lostDates", dayStrList);
-                    resolveDataList.add(map);
-                }
-            }
-            detailVo.setLoseDateList(resolveDataList);
-        }
-        return detailVo;
-    }
-
-    public List<VideoDayCheckWebPageVo> getVideoLoseDevice(Long orgId, Date date) {
-        Date startTime = DateUtil.beginOfDay(date);
-        Date endTime = DateUtil.endOfDay(date);
-        return videoDaysCheckMapper.selectVideoLoseDevice(orgId, startTime, endTime);
-
-    }
-}

+ 0 - 319
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoDiagnosisRecordServiceImpl.java

@@ -1,319 +0,0 @@
-package com.xunmei.iot.service.impl;
-
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xunmei.common.core.constant.SecurityConstants;
-import com.xunmei.common.core.domain.video.MediatorVideoDiagnosisRecord;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordAlarmHistoryDto;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordHistoryDto;
-import com.xunmei.iot.dto.videoDiagnosisRecord.VideoDiagnosisRecordPageDto;
-import com.xunmei.iot.mapper.VideoDiagnosisRecordMapper;
-import com.xunmei.iot.mapper.VideoIntegrityCheckMapper;
-import com.xunmei.iot.service.VideoDiagnosisRecordService;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisDetailInfoVo;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordAlarmHistoryVo;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordHistoryVo;
-import com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordPageVo;
-import com.xunmei.system.api.RemoteOrgService;
-import com.xunmei.system.api.domain.SysOrg;
-import org.apache.http.annotation.Obsolete;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author oygj
- * @since 2022-08-22
- */
-@Service
-@Obsolete
-public class VideoDiagnosisRecordServiceImpl extends ServiceImpl<VideoDiagnosisRecordMapper, MediatorVideoDiagnosisRecord>
-        implements VideoDiagnosisRecordService {
-    @Autowired
-    private RemoteOrgService orgService;
-    @Autowired
-    private VideoDiagnosisRecordMapper videoDiagnosisRecordMapper;
-    @Autowired
-    private VideoIntegrityCheckMapper videoIntegrityCheckMapper;
-
-    @Override
-    public TableDataInfo<VideoDiagnosisRecordPageVo> getRecordPageList(VideoDiagnosisRecordPageDto request) {
-
-        if (request.getCheckSub()) {
-            SysOrg org = this.orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER);
-            if (ObjectUtil.isNull(org)) {
-                throw new RuntimeException("机构不存在");
-            }
-            final String path = org.getPath();
-            request.setOrgPath(path);
-            request.setOrgId(null);
-        }
-        if (ObjectUtil.isNotEmpty(request.getCreateTime())) {
-            final Date beginOfDay = DateUtil.beginOfDay(request.getCreateTime()[0]);
-            final Date endOfDay = DateUtil.endOfDay(request.getCreateTime()[1]);
-            // 时间查询的是AlarmTime 字段,改字段为字符串类型,且时间中间带有“T”; todo 因从北向源头把该字段的值修改正确
-            request.setStartTime(DateUtil.format(beginOfDay, "yyyy-MM-dd HH:mm:ss").replace(' ', 'T'));
-            request.setEndTime(DateUtil.format(endOfDay, "yyyy-MM-dd HH:mm:ss").replace(' ', 'T'));
-        }
-        Page<VideoDiagnosisRecordPageVo> page = request.toPage();
-        final VideoDiagnosisDetailInfoVo detailInfo = request.getDetailInfo();
-        final Integer type = detailInfo.getType();
-        final Integer state = detailInfo.getState();
-        /*for (VideoDiagnosisRecordPageVo pageVo : page.getContent()) {
-            final VideoIntegrityCheckWebDeviceVo deviceData = videoIntegrityCheckMapper.selectDeviceData(pageVo.getChannelCode(), pageVo.getEquipmentCode(), pageVo.getOrgId());
-            if (deviceData== null) {
-                continue;
-            }
-            pageVo.setDeviceId(deviceData.getDeviceId());
-            pageVo.setDeviceName(deviceData.getDeviceName());
-            pageVo.setChannelNumber(deviceData.getChannelId());
-            pageVo.setOrgName(deviceData.getOrgName());
-            pageVo.setMonitorHost(deviceData.getMonitorHost());
-        }*/
-        page = this.videoDiagnosisRecordMapper.getRecordPageList(page, request, 3713671711473664L);//todo:设备类型id要变更
-        page.getRecords().forEach(c -> {
-            if (c.getAlarmTime() != null) {
-                DateTime parse = DateUtil.parse(c.getAlarmTime());
-                c.setAlarmTime(DateUtil.format(parse, "yyyy-MM-dd HH:mm:ss"));
-                //c.setAlarmTime(c.getAlarmTime().replace('T',' ').replace('t' ,' '));
-            }
-        });
-        return TableDataInfo.success(page);
-    }
-
-    @Override
-    public TableDataInfo<VideoDiagnosisRecordHistoryVo> getRecordHistoryList(VideoDiagnosisRecordHistoryDto request) {
-        if (ObjectUtil.isNotEmpty(request.getCreateTime())) {
-            final Date beginOfDay = DateUtil.beginOfDay(request.getCreateTime()[0]);
-            final Date endOfDay = DateUtil.endOfDay(request.getCreateTime()[1]);
-            request.setStartTime(DateUtil.format(beginOfDay, "yyyy-MM-dd") + "T00:00:00");
-            request.setEndTime(DateUtil.format(endOfDay, "yyyy-MM-dd") + "T23:59:59");
-        }
-        Page<VideoDiagnosisRecordHistoryVo> page = request.toPage();
-
-        page = this.videoDiagnosisRecordMapper.getRecordHistoryList(page, request, 3713671711473664L);
-        page.getRecords().forEach(c -> {
-            if (c.getAlarmTime() != null) {
-                DateTime parse = DateUtil.parse(c.getAlarmTime());
-                c.setAlarmTime(DateUtil.format(parse, "yyyy-MM-dd HH:mm:ss"));
-            }
-        });
-        return TableDataInfo.success(page);
-    }
-
-    @Override
-    public TableDataInfo<VideoDiagnosisRecordAlarmHistoryVo> getRecordAlarmHistoryList(VideoDiagnosisRecordAlarmHistoryDto request) {
-
-        if (ObjectUtil.isNotEmpty(request.getAlarmTime())) {
-            final Date beginOfDay = DateUtil.beginOfDay(request.getAlarmTime()[0]);
-            final Date endOfDay = DateUtil.endOfDay(request.getAlarmTime()[1]);
-            request.setAlarmStartTime(DateUtil.format(beginOfDay, "yyyy-MM-dd") + "T00:00:00");
-            request.setAlarmEndTime(DateUtil.format(endOfDay, "yyyy-MM-dd") + "T23:59:59");
-        }
-        Page<VideoDiagnosisRecordAlarmHistoryVo> page =request.toPage();
-
-        page = this.videoDiagnosisRecordMapper.getRecordAlarmHistoryList(page, request, 3713671711473664L);
-        page.getRecords().forEach(c -> {
-            if (c.getAlarmStartTime() != null) {
-                final DateTime parse = DateUtil.parse(c.getAlarmStartTime());
-                c.setAlarmStartTime(DateUtil.format(parse, "yyyy-MM-dd HH:mm:ss"));
-            }
-            if (c.getAlarmEndTime() != null) {
-                final DateTime parse = DateUtil.parse(c.getAlarmEndTime());
-                c.setAlarmEndTime(DateUtil.format(parse, "yyyy-MM-dd HH:mm:ss"));
-            }
-        });
-        return TableDataInfo.success(page);
-    }
-
-//    @Override
-//    public List<VideoDiagnosisBoardVo> queryVideoDiagnosis(VideoDiagnosisBoardDto diagnosisBoardDto) {
-//
-//        List<Device> channelList = videoDiagnosisRecordMapper.selectAllDeviceChannel(diagnosisBoardDto.getOrgId());
-//        if (channelList == null || channelList.size() == 0) {
-//            return ListUtil.empty();
-//        }
-//        List<VideoDiagnosisBoardVo> resultList = new ArrayList<>();
-//        List<VideoDiagnosisRecord> recordList = videoDiagnosisRecordMapper.queryVideoDiagnosis(channelList);
-//
-//
-//        //信号丢失
-//        final long signalLostNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getSignalLost(), 1)).count();
-//        //遮挡
-//        final long occludeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getOcclude(), 1)).count();
-//        //亮度
-//        final long brightnessNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getBrightness(), 1)).count();
-//        //偏色
-//        final long colorCastNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getColorCast(), 1)).count();
-//        //雪花
-//        final long snowflakeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getSnowflake(), 1)).count();
-//        //条纹
-//        final long stripeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getStripe(), 1)).count();
-//        //对比度
-//        final long contrastNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getContrast(), 1)).count();
-//        //模糊
-//        final long blurryNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getBlurry(), 1)).count();
-//        for (TypeStatus value : TypeStatus.values()) {
-//            final VideoDiagnosisBoardVo boardVo = new VideoDiagnosisBoardVo();
-//            boardVo.setAlarmTypeName(value.getText());
-//            boardVo.setChannelNums(channelList.size());
-//            if (ObjectUtil.equal(value, TypeStatus.DS)) {
-//                boardVo.setErrorNums((int) signalLostNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.ZD)) {
-//                boardVo.setErrorNums((int) occludeNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.LD)) {
-//                boardVo.setErrorNums((int) brightnessNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.PS)) {
-//                boardVo.setErrorNums((int) colorCastNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.XH)) {
-//                boardVo.setErrorNums((int) snowflakeNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.TW)) {
-//                boardVo.setErrorNums((int) stripeNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.DB)) {
-//                boardVo.setErrorNums((int) contrastNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.MH)) {
-//                boardVo.setErrorNums((int) blurryNum);
-//            }
-//
-//            resultList.add(boardVo);
-//        }
-//        return resultList;
-//    }
-//
-//    @Override
-//    public List<VideoDiagnosisBoardVo> queryVideoDiagnosis(Long orgId, Date date) {
-//        List<Device> channelList = videoDiagnosisRecordMapper.selectAllDeviceChannel(orgId);
-//        if (channelList == null || channelList.size() == 0) {
-//            return ListUtil.empty();
-//        }
-//        List<VideoDiagnosisBoardVo> resultList = new ArrayList<>();
-//        VideoVoiceLightAlarmDto videoVoiceLightAlarmDto = new VideoVoiceLightAlarmDto();
-//        videoVoiceLightAlarmDto.setOrgId(orgId);
-////        videoVoiceLightAlarmDto.setDate(DateUtil.beginOfDay(date));
-////        videoVoiceLightAlarmDto.setEndDate(DateUtil.endOfDay(date));
-//        final Date beginOfDay = DateUtil.beginOfDay(date);
-//        final Date endOfDay = DateUtil.endOfDay(date);
-//        videoVoiceLightAlarmDto.setAlarmStartTime(DateUtil.format(beginOfDay, "yyyy-MM-dd") + "T00:00:00");
-//        videoVoiceLightAlarmDto.setAlarmEndTime(DateUtil.format(endOfDay, "yyyy-MM-dd") + "T23:59:59");
-//        List<VideoDiagnosisRecord> recordList = videoDiagnosisRecordMapper.queryVideoDiagnosisByDate(videoVoiceLightAlarmDto);
-//        recordList.stream().forEach(x -> {
-//            this.dealDetailInfo(x);
-//        });
-//
-//        //信号丢失
-////        final long signalLostNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getSignalLost(), 1)).distinct().count();
-//        final long signalLostNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getSignalLost(), 1)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(u -> u.getEquipmentCode() + u.getChannelCode()))), ArrayList::new)).stream().count();
-//        //遮挡
-////        final long occludeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getOcclude(), 1)).count();
-//        final long occludeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getOcclude(), 1)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(u -> u.getEquipmentCode() + u.getChannelCode()))), ArrayList::new)).stream().count();
-//        //亮度
-////        final long brightnessNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getBrightness(), 1)).count();
-//        final long brightnessNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getBrightness(), 1)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(u -> u.getEquipmentCode() + u.getChannelCode()))), ArrayList::new)).stream().count();
-//        //偏色
-////        final long colorCastNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getColorCast(), 1)).count();
-//        final long colorCastNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getColorCast(), 1)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(u -> u.getEquipmentCode() + u.getChannelCode()))), ArrayList::new)).stream().count();
-//        //雪花
-////        final long snowflakeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getSnowflake(), 1)).count();
-//        final long snowflakeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getSnowflake(), 1)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(u -> u.getEquipmentCode() + u.getChannelCode()))), ArrayList::new)).stream().count();
-//        //条纹
-////        final long stripeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getStripe(), 1)).count();
-//        final long stripeNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getStripe(), 1)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(u -> u.getEquipmentCode() + u.getChannelCode()))), ArrayList::new)).stream().count();
-//        //对比度
-////        final long contrastNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getContrast(), 1)).count();
-//        final long contrastNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getContrast(), 1)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(u -> u.getEquipmentCode() + u.getChannelCode()))), ArrayList::new)).stream().count();
-//        //模糊
-////        final long blurryNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getBlurry(), 1)).count();
-//        final long blurryNum = recordList.stream().filter(r -> ObjectUtil.equal(r.getBlurry(), 1)).collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(u -> u.getEquipmentCode() + u.getChannelCode()))), ArrayList::new)).stream().count();
-//
-//        for (TypeStatus value : TypeStatus.values()) {
-//            final VideoDiagnosisBoardVo boardVo = new VideoDiagnosisBoardVo();
-//            boardVo.setAlarmTypeName(value.getText());
-//            boardVo.setChannelNums(channelList.size());
-//            if (ObjectUtil.equal(value, TypeStatus.DS)) {
-//                boardVo.setErrorNums((int) signalLostNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.ZD)) {
-//                boardVo.setErrorNums((int) occludeNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.LD)) {
-//                boardVo.setErrorNums((int) brightnessNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.PS)) {
-//                boardVo.setErrorNums((int) colorCastNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.XH)) {
-//                boardVo.setErrorNums((int) snowflakeNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.TW)) {
-//                boardVo.setErrorNums((int) stripeNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.DB)) {
-//                boardVo.setErrorNums((int) contrastNum);
-//            }
-//            if (ObjectUtil.equal(value, TypeStatus.MH)) {
-//                boardVo.setErrorNums((int) blurryNum);
-//            }
-//
-//            resultList.add(boardVo);
-//        }
-//        return resultList;
-//    }
-
-//    private void dealDetailInfo(VideoDiagnosisRecord record) {
-//        final String detailInfo = record.getDetailInfo();
-//        if (ObjectUtil.isNotNull(detailInfo)) {
-//            final List<VideoDiagnosisDetailInfoVo> list = JSON.parseArray(detailInfo, VideoDiagnosisDetailInfoVo.class);
-//            if (ObjectUtil.isEmpty(list)) {
-//                return;
-//            }
-//            for (VideoDiagnosisDetailInfoVo infoVo : list) {
-//                switch (infoVo.getType()) {
-//                    case 0:
-//                        record.setSignalLost(infoVo.getState());
-//                        break;
-//                    case 1:
-//                        record.setOcclude(infoVo.getState());
-//                        break;
-//                    case 2:
-//                        record.setBrightness(infoVo.getState());
-//                        break;
-//                    case 3:
-//                        record.setColorCast(infoVo.getState());
-//                        break;
-//                    case 4:
-//                        record.setSnowflake(infoVo.getState());
-//                        break;
-//                    case 5:
-//                        record.setStripe(infoVo.getState());
-//                        break;
-//                    case 6:
-//                        record.setContrast(infoVo.getState());
-//                        break;
-//                    case 7:
-//                        record.setBlurry(infoVo.getState());
-//                        break;
-//                    default:
-//                        break;
-//                }
-//            }
-//        }
-//    }
-
-}

+ 0 - 395
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoIntegrityCheckServiceImpl.java

@@ -1,395 +0,0 @@
-package com.xunmei.iot.service.impl;
-
-import cn.hutool.core.date.DateField;
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xunmei.common.core.constant.SecurityConstants;
-import com.xunmei.common.core.domain.video.MediatorVideoIntegrityCheck;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.videoDays.VideoDaysInconformityDto;
-import com.xunmei.iot.dto.videoIntegrity.VideoInfoDto;
-import com.xunmei.iot.dto.videoIntegrity.VideoIntegrityCheckPageDto;
-import com.xunmei.iot.dto.videoIntegrity.VideoIntegrityCheckWebPageDto;
-import com.xunmei.iot.mapper.VideoDaysCheckMapper;
-import com.xunmei.iot.mapper.VideoDiagnosisRecordMapper;
-import com.xunmei.iot.mapper.VideoIntegrityCheckMapper;
-import com.xunmei.iot.service.VideoIntegrityCheckService;
-import com.xunmei.iot.vo.ChannelSingleDetailVo;
-import com.xunmei.iot.vo.ChannelVo;
-import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckPageVo;
-import com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebPageVo;
-import com.xunmei.system.api.RemoteDeviceService;
-import com.xunmei.system.api.RemoteOrgService;
-import com.xunmei.system.api.domain.SysDevice;
-import com.xunmei.system.api.domain.SysOrg;
-import com.xunmei.system.api.dto.SysDeviceInnerListDto;
-import io.netty.util.internal.StringUtil;
-import org.apache.http.annotation.Obsolete;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.util.*;
-
-/**
- * <p>
- * 录像机完整性检查表 服务实现类
- * </p>
- *
- * @author yzl
- * @since 2022-07-26
- */
-@Service
-@Obsolete
-public class VideoIntegrityCheckServiceImpl extends ServiceImpl<VideoIntegrityCheckMapper, MediatorVideoIntegrityCheck>
-        implements VideoIntegrityCheckService {
-    @Resource
-    private VideoDiagnosisRecordMapper videoDiagnosisRecordMapper;
-
-    @Resource
-    private RemoteOrgService orgService;
-
-    @Autowired
-    private VideoIntegrityCheckMapper videoIntegrityCheckMapper;
-
-    @Autowired
-    private VideoDaysCheckMapper videoDaysCheckMapper;
-
-    RemoteDeviceService remoteDeviceService;
-
-    @Override
-    public TableDataInfo<VideoIntegrityCheckPageVo> getPageData(VideoIntegrityCheckPageDto request) {
-
-        //Integer status  主机颜色 -> 0:异常(红色) 1:正常(绿色) 2:运维中(黄色)
-        //Integer channelColor  通道颜色 -> 0:正常(绿色) 1:异常(红色) 2:运维中(黄色)
-
-        // 2023-05-05 v1.11.3版本增加需求:农信制度,营业网点需要早中晚记录录像完整性检查,检查记录可查
-        Page<VideoIntegrityCheckPageVo> page = this.videoIntegrityCheckMapper.selectPageByOrgIdAndStatusAndDate(request, request.toPage());
-        for (VideoIntegrityCheckPageVo vo : page.getRecords()) {
-            //处理通道数据
-            dealChannelData(vo, request);
-            //处理通道与主机颜色控制
-//            dealColor(vo);
-            //todo:注释报警
-        }
-//        String servletPath = RequestHolder.get().getRequest().getServletPath();
-//        Executor executor = executorConfig.asyncExecutor();
-//        try {
-//            executor.execute(() -> {
-//                request.setAllGreen(null);
-//                request.setPageSize((long) Integer.MAX_VALUE);
-//                Page<VideoIntegrityCheckPageVo> result = this.videoIntegrityCheckMapper.selectPageByOrgIdAndStatusAndDate(request, request.toPage());
-//                List<VideoIntegrityCheckPageVo> list = result.getRecords();
-//                int resultStatus = 1;
-//                if (ObjectUtil.isEmpty(list)) {
-//                    resultStatus = 2;
-//                }
-//                for (VideoIntegrityCheckPageVo checkPageVo : list) {
-//                    if (checkPageVo.getChannelVos() == null || checkPageVo.getChannelVos().size() == 0) {
-//                        resultStatus = 2;
-//                        continue;
-//                    }
-//                    Set<Integer> statusSet = checkPageVo.getChannelVos().stream().map(ChannelVo::getChannelStatus).collect(Collectors.toSet());
-//                    if (statusSet.contains(1) || statusSet.contains(2)) {
-//                        resultStatus = 3;
-//                        break;
-//                    }
-//                }
-//                Org org = objectMapper.selectOrg(request.getOrgId());
-//                SysRequestLog requestLog = new SysRequestLog();
-//                requestLog.setUserId(loginUser.getId());
-//                requestLog.setUserName(loginUser.getName());
-//                requestLog.setOrgId(org.getId());
-//                requestLog.setOrgName(org.getName());
-//                requestLog.setOrgPath(org.getPath());
-//                requestLog.setMethodName("APP录像完整性");
-//                requestLog.setMethodPath(servletPath);
-//                requestLog.setExtra(getContent(resultStatus));
-//                sysRequestLogMapper.insert(requestLog);
-//            });
-//        } catch (Exception e) {
-//            WEBLOG.error("存储录像完整性检查记录失败", e);
-//        }
-
-
-        return TableDataInfo.success(page);
-    }
-
-//    private String getContent(int resultStatus) {
-//        JSONObject jsonObject = new JSONObject();
-//        String str = StringUtil.EMPTY_STRING;
-//        if (resultStatus == 1) {
-//            str = "本次检查结果:正常";
-//        } else if (resultStatus == 2) {
-//            str = "本次检查结果:未查询到录像完整性数据";
-//        } else {
-//            str = "本次检查结果:异常";
-//        }
-//        jsonObject.put("remark", str);
-//        return jsonObject.toJSONString();
-//    }
-//
-//    private void dealColor(VideoIntegrityCheckPageVo vo) {
-//        final List<ChannelVo> channelVos = vo.getChannelVos();
-//
-//        final List<Integer> channelCodeList = objectMapper.findOnRepairDeviceChannelCodeByHostCode(vo.getEquipmentCode());
-//        for (ChannelVo channelVo : channelVos) {
-//            if (channelCodeList.contains(Integer.parseInt(channelVo.getChannelCode()))) {
-//                //如果该通道在运维中,那么标记为黄色
-//                channelVo.setChannelColor(2);
-//                continue;
-//            }
-//            //如果通道属于部分丢失或者全部丢失 那么标记通道颜色为红色  否则为绿色
-//            if (ObjectUtil.equal(channelVo.getChannelStatus(), 1) || ObjectUtil.equal(channelVo.getChannelStatus(), 2)) {
-//                channelVo.setChannelColor(1);
-//            } else {
-//                channelVo.setChannelColor(0);
-//            }
-//        }
-//
-//        //判断主机的颜色
-//        final List<Integer> list = channelVos.stream().map(ChannelVo::getChannelColor).distinct().collect(Collectors.toList());
-//        if (list.contains(1)) {
-//            //如果通道属于部分丢失或者全部丢失 那么标记主机颜色为红色  否则为绿色
-//            vo.setStatus(0);
-//            return;
-//        }
-//        if (list.contains(2)) {
-//            vo.setStatus(2);
-//            return;
-//        }
-//        vo.setStatus(1);
-//    }
-
-    private void dealChannelData(VideoIntegrityCheckPageVo hostDevice, VideoIntegrityCheckPageDto request) {
-//        String equipmentCode = hostDevice.getEquipmentCode();
-//        Device nvr = this.deviceMapper.selectByGuid(equipmentCode);
-//        if (nvr == null) {
-//            return;
-//        }
-//        hostDevice.setNvrName(nvr.getName());
-//        if (nvr.getBrandId() != null) {
-//            String brandName = this.deviceMapper.SelectBrandByBrandId(nvr.getBrandId()).getName();
-//            hostDevice.setBrandName(brandName);
-//        }
-//        //移除通道状态不相同的数据
-//        final List<ChannelVo> channelVos = hostDevice.getChannelVos();
-//        if (request.getAllGreen() != null) {
-//            channelVos.removeIf(vo -> !ObjectUtil.equal(vo.getChannelStatus(), request.getAllGreen()));
-//        }
-
-    }
-
-    @Override
-    public ChannelSingleDetailVo getChannelDetailData(Long id) {
-        final ChannelSingleDetailVo channelSingleDetailVo = this.videoIntegrityCheckMapper.selectChannelDetailById(id);
-
-        final String channelCode = channelSingleDetailVo.getChannelCode();
-        final String equipmentCode = channelSingleDetailVo.getEquipmentCode();
-//        final DeviceRepairDto deviceRepairData = objectService.selectDeviceRepairData(channelSingleDetailVo.getOrgId(), channelCode, equipmentCode, null, new HashMap<Object, Object>());
-//        channelSingleDetailVo.setDeviceRepairDto(deviceRepairData);
-
-        return channelSingleDetailVo;
-    }
-
-    @Override
-    public TableDataInfo<VideoIntegrityCheckWebPageVo> getWebPage(VideoIntegrityCheckWebPageDto request) {
-        Date[] date = request.getRecordDate();
-        if (date != null && date.length > 0) {
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            final String date0 = sdf.format(date[0]);
-            final String date1 = sdf.format(date[1]);
-            request.setRecordDate(new Date[]{DateUtil.parseDate(date0), DateUtil.parseDate(date1)});
-        }
-        if (request.getCheckSub()) {
-            SysOrg org = this.orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER);
-            if (ObjectUtil.isNull(org)) {
-                throw new RuntimeException("机构不存在");
-            }
-            final String path = org.getPath();
-            request.setOrgPath(path);
-            request.setOrgId(null);
-        }
-
-        Page<VideoIntegrityCheckWebPageVo> page = this.videoIntegrityCheckMapper.selectWebPageByWebDto4OwnAndAllSubOrg(request, request.toPage());
-        return TableDataInfo.success(page);
-    }
-//
-//    @Override
-//    public List<VideoCompletedBoardVo> queryVideoCompleted(VideoCompletedBoardDto completedBoardDto) {
-//        String dateFormat = "yyyy-MM-dd";
-//        final Date curDate = new Date();
-//        final DateTime day = DateUtil.offsetDay(curDate, -completedBoardDto.getDays());
-//        Date StartDate = null;
-//        Date EndDate = null;
-//        if (completedBoardDto.getDays() == 1) {
-//            //如果只看过去一天的数据,那么开始结束时间都是当天
-//            StartDate = DateUtil.beginOfDay(day);
-//            EndDate = DateUtil.endOfDay(day);
-//        } else {
-//            //如果看过去N天的数据,那么结束时间都是昨天的23:59:59,开始时间是N天前的00:00:00
-//            StartDate = DateUtil.beginOfDay(day);
-//            EndDate = DateUtil.endOfDay(DateUtil.offsetDay(curDate, -1));
-//        }
-//        final List<DateTime> dateTimes = DateUtil.rangeToList(StartDate, EndDate, DateField.DAY_OF_YEAR);
-//        List<Date> list = new ArrayList<>();
-//        for (DateTime time : dateTimes) {
-//            final String format = DateUtil.format(time, dateFormat);
-//            list.add(DateUtil.parse(format, dateFormat));
-//        }
-//        //此sql中统计所有状态为正常的数量,再用总数减去正常的数量就是异常的数量
-//        final List<VideoCompletedBoardVo> boardVoList = videoIntegrityCheckMapper.queryVideoCompleted(completedBoardDto.getOrgId(), StartDate, EndDate);
-//        List<Device> channelList = videoDiagnosisRecordMapper.selectAllDeviceChannel(completedBoardDto.getOrgId());
-//        for (VideoCompletedBoardVo boardVo : boardVoList) {
-//            final int errorNums = boardVo.getErrorNums();
-//            final int i = channelList.size() - errorNums;
-//            boardVo.setErrorNums(i);
-//        }
-//
-//
-//        boardVoList.forEach(vo -> vo.setChannelNums(channelList.size()));
-//        final List<Date> collect = boardVoList.stream().map(VideoCompletedBoardVo::getDate).collect(Collectors.toList());
-//        final List<Date> different = getDifferent(list, collect);
-//        for (Date date : different) {
-//            boardVoList.add(new VideoCompletedBoardVo(date, channelList.size(), channelList.size()));
-//        }
-//        boardVoList.sort(Comparator.comparing(VideoCompletedBoardVo::getDate));
-//        return boardVoList;
-//    }
-
-    @Override
-    public List<VideoIntegrityCheckWebPageVo> getVideoIntegrityDevices(Long orgId, Date Date) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        final String dateStr = sdf.format(Date);
-        return this.videoIntegrityCheckMapper.getVideoIntegrityDevice(orgId, DateUtil.parseDate(dateStr));
-    }
-
-    /**
-     * 获取改机构下的 设备设备 通道总数、缺失通道数、录像天数不足的通道数
-     *
-     * @param orgId
-     * @param date
-     * @return
-     */
-    @Override
-    public List<VideoInfoDto> getVideoInfo(Long orgId, Date date) {
-        List<VideoInfoDto> result = new ArrayList<>();
-        // 获取到通道总数
-        SysDeviceInnerListDto request = new SysDeviceInnerListDto();
-        request.setOrgId(orgId);
-        request.setAssetType("2");
-        request.setDeviceType("2");
-        List<SysDevice> channelList = remoteDeviceService.findList(request, SecurityConstants.INNER).getData();
-        VideoInfoDto videoInfo = new VideoInfoDto();
-        videoInfo.setCode("CameraTotal");
-        videoInfo.setValue(channelList.size());
-
-        result.add(videoInfo);
-
-        // 获取丢失通道
-        List<VideoIntegrityCheckWebPageVo> videoIntegrityDevices = getVideoIntegrityDevices(orgId, date);
-        videoInfo = new VideoInfoDto();
-        videoInfo.setCode("VideoLossCamera");
-        videoInfo.setValue(videoIntegrityDevices.size());
-        result.add(videoInfo);
-
-
-        // 获取录像天数不足
-        VideoDaysInconformityDto dto = new VideoDaysInconformityDto();
-        dto.setOrgId(orgId);
-        dto.setStartTime(DateUtil.beginOfDay(date));
-        dto.setEndTime(DateUtil.endOfDay(date));
-        int num = this.videoDaysCheckMapper.getVideoDaysCheckAlarmNum(dto);
-        videoInfo = new VideoInfoDto();
-        videoInfo.setCode("VideoLossAllDayCamera");
-        videoInfo.setValue(num);
-        result.add(videoInfo);
-        return result;
-    }
-
-    @Override
-    public void updateVideoIntegrityCheck(LocalDate date) {
-//        SystemParame checkGZParame = systemParameterService.findFirstByCode(SystemParameterConstant.VideoIntegrityCheckGZ);
-//        if (checkGZParame.getValue().equals("1")) {
-//            SystemParame checkTimeParame = systemParameterService.findFirstByCode(SystemParameterConstant.VideoIntegrityCheckTime);
-//            SystemParame checkTimeSlotParame = systemParameterService.findFirstByCode(SystemParameterConstant.VideoIntegrityCheckTimeSlot);
-//            Integer checkTime = Integer.valueOf(checkTimeParame.getValue());
-//            String timea = checkTimeSlotParame.getValue().split("-")[0] + ":00:00";
-//            String timeb = checkTimeSlotParame.getValue().split("-")[1] + ":00:00";
-//            Date datea = DateUtil.parse(date + " " + timea, "yyyy-MM-dd HH:mm:ss");
-//            Date dateb = DateUtil.parse(date + " " + timeb, "yyyy-MM-dd HH:mm:ss");
-//
-//            QueryWrapper<VideoIntegrityCheck> queryWrapper = new QueryWrapper<>();
-//            queryWrapper.lambda().eq(VideoIntegrityCheck::getRecordDate, date);
-//            /*   queryWrapper.lambda().isNull(VideoIntegrityCheck::getLoseSpanOld);*/
-//            List<VideoIntegrityCheck> videoIntegrityCheckList = this.list(queryWrapper);
-//            for (VideoIntegrityCheck check : videoIntegrityCheckList) {
-//                //将原数据保留一份到LoseSpanOld字段
-//                String loseSpan = check.getLoseSpan();
-//                check.setLoseSpanOld(loseSpan);
-//
-//                JSONArray json = JSON.parseArray(loseSpan);
-//                List<Object> list = new ArrayList<>();
-//                for (int i = 0; i < json.size(); i++) {
-//                    JSONObject jsonObject = (JSONObject) json.get(i);
-//                    Date st = DateUtil.parse(date + " " + jsonObject.getString("st"), "yyyy-MM-dd HH:mm:ss");
-//                    Date et = DateUtil.parse(date + " " + jsonObject.getString("et"), "yyyy-MM-dd HH:mm:ss");
-//                    //判断et也st时间差是否小于checkTime
-//                    if ((et.getTime() - st.getTime()) / (1000 * 60) < checkTime) {
-//                        //判断st和et有一个时间落在datea和dateb区间外,则该数据保留
-//                        if (st.before(datea) || st.after(dateb) || et.before(datea) || et.after(dateb)) {
-//                            list.add(jsonObject);
-//                        }
-//                    } else {
-//                        list.add(jsonObject);
-//                    }
-//                }
-//                check.setLoseSpan(JSON.toJSONString(list));
-//                if (list.size() == 0) {
-//                    check.setStatus(0);
-//                }
-//            }
-//            this.updateBatchById(videoIntegrityCheckList);
-//        }
-
-    }
-
-    private static List<Date> getDifferent(List<Date> list1, List<Date> list2) {
-        List<Date> diff = new ArrayList<Date>();
-        long start = System.currentTimeMillis();
-        Map<Date, Integer> map = new HashMap<Date, Integer>(list1.size() + list2.size());
-        List<Date> maxList = list1;
-        List<Date> minList = list2;
-        if (list2.size() > list1.size()) {
-            maxList = list2;
-            minList = list1;
-        }
-        for (Date string : maxList) {
-            map.put(string, 1);
-        }
-        for (Date string : minList) {
-            Integer count = map.get(string);
-            if (count != null) {
-                map.put(string, ++count);
-                continue;
-            }
-            map.put(string, 1);
-        }
-        for (Map.Entry<Date, Integer> entry : map.entrySet()) {
-            if (entry.getValue() == 1) {
-                diff.add(entry.getKey());
-            }
-        }
-        return diff;
-
-    }
-}

+ 0 - 53
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/VideoRecorderHardDiskDetectionServiceImpl.java

@@ -1,53 +0,0 @@
-package com.xunmei.iot.service.impl;
-
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.fastjson2.JSON;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xunmei.common.core.domain.IdName;
-import com.xunmei.common.core.domain.iot.domain.IotDvrHardDiskDetection;
-import com.xunmei.common.core.utils.bean.BeanUtils;
-import com.xunmei.common.core.web.page.TableDataInfo;
-import com.xunmei.iot.dto.dvrDisk.DvrDiskAppPageDto;
-import com.xunmei.iot.mapper.VideoRecorderHardDiskDetectionMapper;
-import com.xunmei.iot.service.VideoRecorderHardDiskDetectionService;
-import com.xunmei.iot.vo.dvrDisk.DetailVo;
-import com.xunmei.iot.vo.dvrDisk.DvrDiskDetectionPageVo;
-import org.apache.http.annotation.Obsolete;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-@Service
-@Obsolete
-public class VideoRecorderHardDiskDetectionServiceImpl
-        extends ServiceImpl<VideoRecorderHardDiskDetectionMapper, IotDvrHardDiskDetection>
-        implements VideoRecorderHardDiskDetectionService {
-
-    @Override
-    public TableDataInfo<DvrDiskDetectionPageVo> page(DvrDiskAppPageDto request) {
-        if (ObjectUtil.isNotNull(request.getAlarmTime())) {
-            request.setRange(new Date[2]);
-            request.getRange()[0] = DateUtil.beginOfDay(request.getAlarmTime());
-            request.getRange()[1] = DateUtil.endOfDay(request.getAlarmTime());
-        }
-
-        Page<IotDvrHardDiskDetection> page = baseMapper.page(request, request.toPage());
-        Page<DvrDiskDetectionPageVo> voPage = request.toPage();
-        voPage.setRecords(new ArrayList<>());
-        for (IotDvrHardDiskDetection record : page.getRecords()) {
-            DvrDiskDetectionPageVo vo = new DvrDiskDetectionPageVo();
-            BeanUtils.copyProperties(record, vo);
-            if (ObjectUtil.isNotEmpty(record.getDetailInfo())) {
-                List<DetailVo> detailVoList = JSON.parseArray(record.getDetailInfo(), DetailVo.class);
-                vo.setDetailInfo(detailVoList);
-            }
-            vo.setOrg(new IdName<>(record.getOrgId(),record.getOrgName()));
-            voPage.getRecords().add(vo);
-        }
-        return TableDataInfo.success(page);
-    }
-}

+ 38 - 0
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/dvrDisk/DvrDiskAppPageVo.java

@@ -0,0 +1,38 @@
+package com.xunmei.iot.vo.dvrDisk;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.xunmei.common.core.domain.iot.domain.IotDvrDisk;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DvrDiskAppPageVo {
+    @ApiModelProperty("所属机构")
+    private String orgName;
+
+    @ApiModelProperty("录像机的唯一标识")
+    private String equipmentCode;
+
+    @ApiModelProperty("录像机的名称")
+    private String equipmentName;
+
+    @ApiModelProperty("状态更新时间")
+    private String stateUpdateTime;
+
+    @ApiModelProperty("磁盘信息")
+    private List<IotDvrDisk> diskInfos;
+
+    @JsonIgnore
+    private Integer state;
+
+    @ApiModelProperty("异常数量")
+    private int diskExceptionCount;
+
+    @ApiModelProperty("硬盘总空间")
+    private int diskTotalSize;
+
+    @ApiModelProperty("硬盘已用空间")
+    private int diskUsedSize;
+}

+ 5 - 5
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/vo/dvrDisk/DvrDiskPageVo.java

@@ -58,11 +58,11 @@ public class DvrDiskPageVo {
 //   @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 //   private Date alarmTime;
 
-   @ApiModelProperty("硬盘当前状态信息")
-   private  String detailInfoStr;
-
-   @ApiModelProperty("硬盘当前状态信息")
-   private List<DetailVo> detailInfo;
+//   @ApiModelProperty("硬盘当前状态信息")
+//   private  String detailInfoStr;
+//
+//   @ApiModelProperty("硬盘当前状态信息")
+//   private List<DetailVo> detailInfo;
 
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

+ 93 - 34
soc-modules/soc-modules-iot/src/main/resources/mapper/DvrDiskMapper.xml

@@ -1,7 +1,7 @@
 <?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.xunmei.iot.mapper.IotDvrDiskMapper">
-    <resultMap id="alarmHostStatusMap" type="com.xunmei.iot.vo.dvrDisk.DvrDiskPageVo">
+    <resultMap id="selectHostPageMap" type="com.xunmei.iot.vo.dvrDisk.DvrDiskPageVo">
         <result column="id" property="id"/>
         <result column="equipmentCode" property="equipmentCode"/>
         <result column="equipmentName" property="equipmentName"/>
@@ -9,10 +9,10 @@
         <result column="orgId" property="orgId"/>
         <result column="orgName" property="orgName"/>
         <result column="netState" property="netState"/>
-<!--        <result column="status" property="status"/>-->
-<!--        <result column="alarmTime" property="alarmTime"/>-->
-        <result column="detailInfo" property="detailInfo"
-                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
+        <!--        <result column="status" property="status"/>-->
+        <!--        <result column="alarmTime" property="alarmTime"/>-->
+        <!--        <result column="detailInfo" property="detailInfo"-->
+        <!--                typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>-->
         <collection property="diskInfos" column="equipmentCode=equipmentCode"
                     select="selectDiskInfo">
             <result column="id" property="id"/>
@@ -24,7 +24,24 @@
             <result column="available" property="available"/>
         </collection>
     </resultMap>
-    <select id="selectHostPage" resultMap="alarmHostStatusMap">
+    <resultMap id="selectAppHostPageMap" type="com.xunmei.iot.vo.dvrDisk.DvrDiskAppPageVo">
+        <result column="equipmentCode" property="equipmentCode"/>
+        <result column="equipmentName" property="equipmentName"/>
+        <result column="check_time" property="stateUpdateTime"/>
+        <result column="orgName" property="orgName"/>
+        <result column="state" property="state"/>
+        <collection property="diskInfos" column="equipmentCode=equipmentCode,state=state"
+                    select="selectDiskInfo">
+            <result column="id" property="id"/>
+            <result column="org_id" property="orgId"/>
+            <result column="host_code" property="hostCode"/>
+            <result column="disk_index" property="diskIndex"/>
+            <result column="disk_name" property="diskName"/>
+            <result column="total" property="total"/>
+            <result column="available" property="available"/>
+        </collection>
+    </resultMap>
+    <select id="selectHostPage" resultMap="selectHostPageMap">
         SELECT
         d.id,
         d.equipment_code AS equipmentCode,
@@ -32,13 +49,13 @@
         d.net_address as ip,
         d.org_name AS orgName,
         d.producer as brand,
-        dd.state as netState,
-<!--        dhd.check_status AS `status`,-->
-<!--        dhd.check_time AS alarmTime,-->
-        dhd.detail_info as detailInfo
+        dd.state as netState
+        <!--        dhd.check_status AS `status`,-->
+        <!--        dhd.check_time AS alarmTime,-->
+        <!--        dhd.detail_info as detailInfo-->
         FROM
         iot_device d
-        left join  iot_device_detection  dd on d.equipment_code =dd.equipment_code
+        left join iot_device_detection dd on d.equipment_code =dd.equipment_code
         LEFT JOIN iot_dvr_hard_disk_detection dhd ON d.equipment_code = dd.equipment_code
         WHERE
         d.category_id=#{pageDto.categoryId}
@@ -51,28 +68,35 @@
         <if test="pageDto.hostName!=null and pageDto.hostName!=''">
             and d.equipment_name like concat('%', #{pageDto.hostName},'%')
         </if>
-<!--        <if test="pageDto.status !=null">-->
-<!--            and dhd.`status` = #{pageDto.status}-->
-<!--        </if>-->
-<!--        <if test="pageDto.alarmStartTime !=null">-->
-<!--            and dhd.alarm_time >= #{pageDto.alarmStartTime}-->
-<!--        </if>-->
-<!--        <if test="pageDto.alarmEndTime !=null">-->
-<!--            and #{pageDto.alarmEndTime}>= dhd.`alarm_time`-->
-<!--        </if>-->
+        <!--        <if test="pageDto.status !=null">-->
+        <!--            and dhd.`status` = #{pageDto.status}-->
+        <!--        </if>-->
+        <!--        <if test="pageDto.alarmStartTime !=null">-->
+        <!--            and dhd.alarm_time >= #{pageDto.alarmStartTime}-->
+        <!--        </if>-->
+        <!--        <if test="pageDto.alarmEndTime !=null">-->
+        <!--            and #{pageDto.alarmEndTime}>= dhd.`alarm_time`-->
+        <!--        </if>-->
         and d.deleted=0
     </select>
 
     <select id="selectDiskInfo" resultType="com.xunmei.common.core.domain.iot.domain.IotDvrDisk">
         select id,
-               available,
-               `disk_index`,
-               `disk_name`,
-               `total`,
-               `host_code`,
-               `org_id`
+        available,
+        `disk_index`,
+        `disk_name`,
+        `total`,
+        `host_code`,
+        `org_id`
         from iot_dvr_disk
-        where host_code = #{equipmentCode} and deleted=0
+        where host_code = #{equipmentCode}
+        and deleted=0
+        <if test="state==0 or state==1">
+            and state=#{state}
+        </if>
+        <if test="state==2">
+            and state is null
+        </if>
     </select>
     <select id="getRecordAlarmHistoryList"
             resultType="com.xunmei.iot.vo.dvrDisk.DvrDiskAlarmHistoryPageVo">
@@ -106,8 +130,10 @@
         <if test="pageDto.alarmStartTime != null and pageDto.alarmEndTime != null">
             and ((r.alarm_start_time is not null and r.alarm_end_time is not null and
             r.alarm_end_time>=#{pageDto.alarmStartTime} and #{pageDto.alarmEndTime}>=r.alarm_start_time)
-            or (r.alarm_end_time is null and r.alarm_start_time>= #{pageDto.alarmStartTime} and #{pageDto.alarmEndTime}>=r.alarm_start_time )
-            or (r.alarm_start_time is null and r.alarm_end_time>= #{pageDto.alarmStartTime} and #{pageDto.alarmEndTime}>=r.alarm_end_time)
+            or (r.alarm_end_time is null and r.alarm_start_time>= #{pageDto.alarmStartTime} and
+            #{pageDto.alarmEndTime}>=r.alarm_start_time )
+            or (r.alarm_start_time is null and r.alarm_end_time>= #{pageDto.alarmStartTime} and
+            #{pageDto.alarmEndTime}>=r.alarm_end_time)
             )
         </if>
         order by r.alarm_start_time desc
@@ -115,11 +141,12 @@
 
     <select id="diskStatistic" resultType="com.xunmei.iot.vo.dvrDisk.DvrDiskStatisticVo">
         SELECT count(0) AS dvrTotal,
-               SUM(DD.count) AS diskTotal,
-               SUM(dd.exceptionCount) as diskExceptionCount
+        SUM(DD.count) AS diskTotal,
+        SUM(dd.exceptionCount) as diskExceptionCount
         FROM iot_device d
-        LEFT JOIN (SELECT host_code,count(0) as count,SUM(if(state=1,1,0)) as exceptionCount from iot_dvr_disk WHERE deleted=0 )  dd on dd.host_code =d.equipment_code
-        where  d.deleted=0 and d.category_id=#{pageDto.categoryId}
+        LEFT JOIN (SELECT host_code,count(0) as count,SUM(if(state=1,1,0)) as exceptionCount from iot_dvr_disk WHERE
+        deleted=0 ) dd on dd.host_code =d.equipment_code
+        where d.deleted=0 and d.category_id=#{pageDto.categoryId}
         <if test="pageDto.checkSub==true">
             and d.org_path like concat(#{orgPath},"%")
         </if>
@@ -127,5 +154,37 @@
             and d.org_id = #{pageDto.orgId}
         </if>
     </select>
-
+    <select id="selectAppHostPage" resultMap="selectAppHostPageMap">
+        SELECT
+        d.id,
+        d.equipment_code AS equipmentCode,
+        d.equipment_name AS equipmentName,
+        d.org_name AS orgName,
+        dd.check_time,
+        #{pageDto.state} as state
+        FROM
+        iot_device d
+        left join iot_dvr_hard_disk_detection dd on d.equipment_code=dd.equipment_code
+        WHERE
+        d.category_id=#{pageDto.categoryId} and d.deleted=0
+        <if test="pageDto.checkSub==true">
+            and d.org_path like concat(#{orgPath},"%")
+        </if>
+        <if test="pageDto.checkSub==false">
+            and d.org_id = #{pageDto.orgId}
+        </if>
+        <if test="pageDto.state==0 or pageDto.state==1">
+            and d.equipment_code in (select host_code from iot_dvr_disk where deleted=0 and state=#{pageDto.state}
+            <if test="pageDto.checkSub==true">
+                and org_path like concat(#{orgPath},"%")
+            </if>
+            <if test="pageDto.checkSub==false">
+                and org_id = #{pageDto.orgId}
+            </if>
+            )
+        </if>
+        <if test="pageDto.state==2">
+            and (dd.check_status=1 or dd.check_status is null)
+        </if>
+    </select>
 </mapper>

+ 2 - 2
soc-modules/soc-modules-iot/src/main/resources/mapper/IotDvrChannelMapper.xml

@@ -128,7 +128,7 @@
 
     <select id="selectAppChannels" resultType="com.xunmei.iot.vo.videoDiagnosis.VideoDiagnosisAppPageChannelVo">
         select dc.channel_code,
-        if(vdc.status is null and vic.status is null and vdr.is_alarm is null,2,if(vdc.status=0 and vic.status=0 and vdr.is_alarm=0,0,1)) as state
+        if(vdc.status=0 and vic.status=0 and vdr.is_alarm=0,0,if(vdc.status =1 or vic.status>0 or vdr.is_alarm=1,1,2)) as state
         FROM iot_dvr_channel dc
         LEFT JOIN mediator_video_days_check vdc on dc.host_code=vdc.equipment_code and dc.channel_code
         =vdc.channel_code
@@ -174,7 +174,7 @@
             =vdr.channel_code
             WHERE dc.deleted=0
             <if test="pageDto.state==0">
-                and (vdc.`status`=0 or vic.`status`=0 or vdr.is_alarm=0)
+                and (vdc.`status`=0 and vic.`status`=0 and vdr.is_alarm=0)
             </if>
             <if test="pageDto.state==1">
                 and (vdc.`status`=1 or vic.`status`>0 or vdr.is_alarm=1)

+ 0 - 415
soc-modules/soc-modules-iot/src/main/resources/mapper/VideoDaysCheckMapper.xml

@@ -1,415 +0,0 @@
-<?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.xunmei.iot.mapper.VideoDaysCheckMapper">
-    <resultMap id="VideoDaysCheckPageVo" type="com.xunmei.iot.vo.videoDays.VideoDaysCheckPageVo">
-        <result column="orgId" property="orgId"/>
-        <result column="orgPath" property="orgPath"/>
-        <result column="orgName" property="orgName"/>
-        <result column="equipmentCode" property="equipmentCode"/>
-        <result column="status" property="status"/>
-        <result column="deviceName" property="nvrName"/>
-        <result column="brandName" property="brandName"/>
-        <!-- <collection property="channelVos" column="equipmentCode=equipmentCode,orgId=orgId"
-                     select="selectChannelsByTime">
-             <result column="channelId" property="channelId"/>
-             <result column="channelCode" property="channelCode"/>
-             <result column="channelStatus" property="channelStatus"/>
-             <result column="planDays" property="planDays"/>
-             <result column="realDays" property="realDays"/>
-             <result column="status" property="status"/>
-             <result column="updateTime" property="updateTime"/>
-         </collection>-->
-    </resultMap>
-    <!--<select id="selectPageByOrgId" resultMap="VideoDaysCheckPageVo" parameterType="long">
-        select v.equipment_code equipmentCode,
-               v.org_name       orgName,
-               v.org_id         orgId,
-               v.org_path       orgPath
-        from mediator_video_days_check v
-        where v.org_path like concat((select o.path
-                                      from t_org o
-                                      where o.id = #{request.orgId}), '%')
-        group by v.equipment_code,
-                 v.org_id,
-                 v.org_path,
-                 v.org_name
-        order by v.org_id
-    </select>-->
-
-    <select id="selectChannels" resultType="com.xunmei.iot.vo.videoDays.VideoDaysCheckChannelVo">
-        select v.id           channelId,
-               v.channel_code channelCode,
-               v.channel_name channelName,
-               v.plan_days    planDays,
-               case v.lose_date
-                   when 'null' then true
-                   when '[]' then true
-                   else false
-                   end        channelStatus
-        from mediator_video_days_check v,
-             (select max(vdc.update_time) maxUpdateTime,
-                     vdc.channel_code
-              from mediator_video_days_check vdc
-              where vdc.org_id = #{orgId}
-                and vdc.equipment_code = #{equipmentCode}
-              group by vdc.channel_code) a
-        where v.org_id = #{orgId}
-          and v.equipment_code = #{equipmentCode}
-          and v.update_time = a.maxUpdateTime
-          and v.channel_code = a.channel_code
-        order by v.channel_code
-    </select>
-
-    <resultMap id="ChannelSingleDetailVo" type="com.xunmei.iot.vo.videoDays.VideoDaysCheckChannelDetailVo">
-        <result column="updateTime" property="updateTime"/>
-        <result column="planStAndEdDay" property="planStAndEdDay"
-                typeHandler="com.xunmei.iot.typeHandler.TimeVoTypeHandler"/>
-        <result column="planDays" property="planDays"/>
-        <result column="realDays" property="realDays"/>
-        <result column="loseDate" property="loseDate"/>
-        <result column="channelCode" property="channelCode"/>
-        <result column="equipmentCode" property="equipmentCode"/>
-        <result column="earliestVideoTime" property="earliestVideoTime"/>
-    </resultMap>
-
-    <select id="selectChannelDetailById" resultMap="ChannelSingleDetailVo">
-        select v.update_time         updateTime,
-               v.channel_name        channelName,
-               v.check_date          planStAndEdDay,
-               v.plan_days           planDays,
-               v.real_days           realDays,
-               v.lose_date           loseDate,
-               v.channel_code        channelCode,
-               v.equipment_code      equipmentCode,
-               v.earliest_video_time earliestVideoTime
-        from mediator_video_days_check v
-        where v.equipment_code = #{equipmentcode}
-          and v.channel_code = #{channelcode}
-    </select>
-    <select id="selectPageByOrgIdAndTimeAndStatus" resultMap="VideoDaysCheckPageVo">
-        select distinctrow d.guid equipmentCode,
-        d.`name` as deviceName,
-        d.org_name orgName,
-        d.org_id orgId,
-        d.org_path orgPath,
-        b.`name` as brandName
-        from t_device d
-        inner join t_org o on d.org_id = o.id and o.deleted = 0
-        INNER JOIN t_device d1 on d.`code`=d1.host_code and d1.deleted=0
-        LEFT JOIN t_brand b on d.brand_id =b.id
-        where d.deleted=0 and d.category_id=#{request.categoryId} and d.org_path like CONCAT(#{request.path},'%')
-        <if test="request.status==0">
-            <!-- 正常状态 : INNER JOIN 查询 计划天数=实际天数的通道 -->
-            and d.guid in
-            (
-            SELECT DISTINCT
-            d.host_code
-            FROM
-            t_device d
-            INNER JOIN mediator_video_days_check c ON d.host_code = c.equipment_code AND d.`code` = c.channel_code
-            where d.category_id=3713671711473664
-            and d.deleted=0
-            and c.real_days=c.plan_days
-            and c.update_time <![CDATA[>=]]> #{request.startTime}
-            and c.update_time <![CDATA[<=]]> #{request.endTime}
-            and d.org_path like CONCAT(#{request.path}, '%')
-            )
-        </if>
-        <if test="request.status!=null and request.status==1">
-            <!--有缺失状态 : INNER JOIN 查询 计划天数!=实际天数的通道 -->
-            and d.guid in
-            (
-            SELECT DISTINCT
-            d.host_code
-            FROM
-            t_device d
-            INNER JOIN mediator_video_days_check c ON d.host_code = c.equipment_code AND d.`code` = c.channel_code
-            where d.category_id=3713671711473664
-            and d.deleted=0
-            and c.real_days != c.plan_days
-            and c.update_time <![CDATA[>=]]> #{request.startTime}
-            and c.update_time <![CDATA[<=]]> #{request.endTime}
-            and d.org_path like CONCAT(#{request.path}, '%')
-            )
-        </if>
-        <if test="request.status!=null and request.status==2">
-            <!--首日缺失状态 : INNER JOIN c.status=1的通道  -->
-            and d.guid in
-            (
-            SELECT DISTINCT
-            d.host_code
-            FROM
-            t_device d
-            INNER JOIN mediator_video_days_check c ON d.host_code = c.equipment_code AND d.`code` = c.channel_code
-            where d.category_id=3713671711473664
-            and d.deleted=0
-            and c.status=1
-            and c.update_time <![CDATA[>=]]> #{request.startTime}
-            and c.update_time <![CDATA[<=]]> #{request.endTime}
-            and d.org_path like CONCAT(#{request.path}, '%')
-            )
-        </if>
-        <!--未上报状态 : 上报通道数量与主机下实际通道数量对比,存在差异则说明存在未上报通道数据 -->
-        <if test="request.status!=null and request.status==3">
-            and d.guid in (
-            <!-- 查询从未上报过的数据-->
-            select DISTINCT t1.host_code from ( SELECT DISTINCT
-            d.host_code,c.equipment_code,c.channel_code
-            FROM
-            t_device d
-            LEFT JOIN mediator_video_days_check c ON d.host_code = c.equipment_code AND d.`code` = c.channel_code
-            where d.category_id=3713671711473664 and d.deleted=0 and d.org_path like CONCAT(#{request.path}, '%')
-            ) t1 where t1.equipment_code is null
-
-            UNION
-            <!--查询存在历史上报的主机通道 -->
-            select DISTINCT t2.host_code from (
-            SELECT DISTINCT
-            d.host_code,c.equipment_code,c.channel_code
-            FROM
-            t_device d
-            LEFT JOIN mediator_video_days_check c ON d.host_code = c.equipment_code AND d.`code` = c.channel_code
-            where d.category_id=3713671711473664 and d.deleted=0 and c.update_time <![CDATA[<]]> #{request.startTime}
-            and d.org_path like CONCAT(#{request.path}, '%')
-            ) t2 where t2.equipment_code is not null
-            )
-        </if>
-    </select>
-
-    <select id="selectChannelsByTime" resultType="com.xunmei.iot.vo.videoDays.VideoDaysCheckChannelVo">
-        select d.id channelId,
-        d.`code` channelCode,
-        d.name channelName,
-        c.plan_days planDays,
-        c.real_days realDays,
-        c.update_time updateTime,
-        if(c.plan_days = c.real_days,1,0) channelStatus,
-        c.status AS status
-        from t_device d
-        left join mediator_video_days_check c on d.host_code = c.equipment_code and d.`code` = c.channel_code
-        where d.org_path like CONCAT(#{request.path},'%')
-        and d.host_code = #{equipmentCode}
-        and d.category_id = 3713671711473664
-        and d.deleted = 0
-        <if test="request.status==0">
-            <!-- 正常状态 : 计划天数=实际天数-->
-            and c.plan_days=c.real_days
-            and c.update_time >= #{request.startTime} and c.update_time <![CDATA[<=]]> #{request.endTime}
-        </if>
-        <if test="request.status==1">
-            <!-- 有缺失 : 计划天数!=实际天数-->
-            and c.plan_days!=c.real_days
-            and c.update_time >= #{request.startTime} and c.update_time <![CDATA[<=]]> #{request.endTime}
-        </if>
-        <if test="request.status==2">
-            <!-- 有缺失 : 计划天数!=实际天数-->
-            and c.status=1
-            and c.update_time >= #{request.startTime} and c.update_time <![CDATA[<=]]> #{request.endTime}
-        </if>
-        <if test="request.status==3">
-            <!-- 未上报 : 计划天数!=实际天数-->
-            and ( c.update_time <![CDATA[<]]> #{request.startTime} or c.plan_days is null)
-        </if>
-        order by d.`code` + 0
-    </select>
-    <!--    <select id="totalVideoData" resultType="java.util.Map">
-            select a.id as did,a.org_path as path ,a.channel_code as channelCode,a.update_time as updateTime from mediator_video_days_check a where
-            a.update_time  between #{dayOfStartTime} and #{dayOfEndTime} and a.plan_days > a.real_days
-            and a.org_id in
-            <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-                #{item}
-            </foreach>
-        </select>-->
-    <select id="totalVideoData" resultType="java.util.Map">
-        select a.id as did,a.org_path as path ,a.channel_code as channelCode,a.update_time as updateTime from
-        mediator_video_days_check a where
-        date(JSON_EXTRACT(a.check_date, '$.ed')) between #{dayOfStartTime} and #{dayOfEndTime} and a.plan_days >
-        a.real_days
-        and a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-    </select>
-
-    <select id="totalVideoDataLog" resultType="java.util.Map">
-        select a.id as did,a.org_path as path ,a.channel_code as channelCode,a.update_time as updateTime
-        from mediator_video_days_check_log a where
-        a.update_time between #{dayOfStartTime} and #{dayOfEndTime} and a.plan_days > a.real_days
-        and a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-    </select>
-    <select id="totalDeviceNum" resultType="java.util.Map">
-        select COUNT(*) as num,org_path as path from t_device a WHERE a.category_id = #{categoryId} AND a.deleted = 0
-        and a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-        group by org_path
-    </select>
-
-    <select id="totalHostOffData" resultType="java.util.Map">
-        select a.org_path as path, a.id as ofid, a.device_id as deviceId,a.create_time as updateTime from
-        t_host_alarm_record a left join t_device b on a.device_id=b.id where
-        a.device_type=3713671510851584 and a.alarm_code = '050' and a.alarm_status = 1 and b.deleted = 0
-        and a.create_time>=#{startTime} and #{endTime}>= a.create_time
-        and a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-    </select>
-
-    <select id="selectWebPageData" resultType="com.xunmei.iot.vo.videoDays.VideoDayCheckWebPageVo">
-        SELECT
-        c.id AS id,
-        d.org_id AS orgId,
-        c.update_time AS updateTime,
-        d.org_name AS orgName,
-        d.NAME AS channelName,
-        pd.name AS equipmentName,
-        c.real_days AS realDays,
-        c.plan_days AS planDays,
-        d.CODE AS channelCode,
-        d.host_code AS equipmentCode
-        FROM
-        t_device d
-        inner join t_org o on d.org_id = o.id and o.deleted = 0
-        LEFT JOIN mediator_video_days_check c ON d.host_code = c.equipment_code
-        AND d.`code` = c.channel_code
-        inner join t_device pd on pd.`guid` = d.host_code and pd.category_id = 3713671510851584
-
-        <where>
-            d.deleted = 0 AND d.category_id = 3713671711473664
-            <if test="pageDto.channelName != null and pageDto.channelName != ''">
-                and d.name like concat('%',#{pageDto.channelName},'%')
-            </if>
-            <if test="pageDto.equipmentName != null and pageDto.equipmentName != ''">
-                and pd.name like concat('%',#{pageDto.equipmentName},'%')
-            </if>
-            <if test="pageDto.orgId != null">
-                and d.org_id = #{pageDto.orgId}
-            </if>
-            <if test="pageDto.checkSub == true ">
-                and d.org_path like concat(#{pageDto.orgPath},'%')
-            </if>
-            <if test="pageDto.startTime != null ">
-                and c.update_time &gt;= #{pageDto.startTime}
-            </if>
-            <if test="pageDto.endTime != null ">
-                and c.update_time &lt;= #{pageDto.endTime}
-            </if>
-            <if test="pageDto.loseDateStr != null ">
-                and c.lose_date like CONCAT('%',#{pageDto.loseDateStr},'%')
-            </if>
-            <choose>
-                <when test="pageDto.status != null ">
-                    <if test="pageDto.status==1 ">
-                        and c.real_days=c.plan_days
-                    </if>
-                    <if test="pageDto.status==2 ">
-                        and c.real_days <![CDATA[<]]> c.plan_days
-                    </if>
-                    <if test="pageDto.status==3 ">
-                        and c.plan_days is null
-                    </if>
-                </when>
-            </choose>
-        </where>
-        order by c.update_time desc,d.id
-    </select>
-
-    <select id="getWebDetailVo" resultType="com.xunmei.iot.vo.videoDays.VideoDayCheckWebDetailVo">
-        select c.update_time    as updateTime,
-               c.org_name       as orgName,
-               c.channel_name   as channelName,
-               c.equipment_name as equipmentName,
-               c.real_days      as realDays,
-               c.plan_days      as planDays,
-               c.channel_code   as channelCode,
-               c.check_date     as checkDate,
-               c.lose_date      as loseDate,
-               d.ip             as ip
-
-
-        from mediator_video_days_check c
-                 left join t_device d on c.equipment_code = d.id
-        where c.id = #{id}
-    </select>
-
-
-    <select id="selectVideoLoseDevice" resultType="com.xunmei.iot.vo.videoDays.VideoDayCheckWebPageVo">
-        SELECT
-        c.id AS id,
-        d.org_id AS orgId,
-        c.update_time AS updateTime,
-        d.org_name AS orgName,
-        d.NAME AS channelName,
-        pd.name AS equipmentName,
-        c.real_days AS realDays,
-        c.plan_days AS planDays,
-        d.CODE AS channelCode,
-        d.host_code AS equipmentCode
-        FROM
-        t_device d
-        inner join t_org o on d.org_id = o.id and o.deleted = 0
-        LEFT JOIN mediator_video_days_check c ON d.host_code = c.equipment_code
-        AND d.`code` = c.channel_code
-        inner join t_device pd on pd.`guid` = d.host_code and pd.category_id = 3713671510851584
-
-        <where>
-            d.deleted = 0 AND d.category_id = 3713671711473664
-            and c.real_days != c.plan_days and d.org_id = #{orgId}
-            and c.update_time &gt;= #{startTime}
-            and c.update_time &lt;= #{endTime}
-        </where>
-        order by c.update_time desc,d.id
-    </select>
-    <select id="selectNotReportChannels" resultType="com.xunmei.iot.vo.videoDays.VideoDaysCheckChannelVo">
-        select d.id channelId,
-        d.`code` channelCode,
-        d.name channelName,
-        c.plan_days planDays,
-        c.real_days realDays,
-        c.update_time updateTime,
-        if(c.plan_days = c.real_days,1,0) channelStatus,
-        c.status AS status
-        from t_device d
-        left join mediator_video_days_check c on d.host_code = c.equipment_code AND d.`code` = c.channel_code
-        WHERE d.category_id = 3713671711473664
-        AND d.deleted = 0
-        and d.org_path like CONCAT(#{request.path}, '%')
-        and d.host_code = #{equipmentCode} and c.plan_days is null
-        <if test="codeList != null  and codeList.size>0">
-            and c.channel_code not in
-            <foreach collection="codeList" item="item" open="(" separator="," close=")">
-                #{item}
-            </foreach>
-        </if>
-    </select>
-    <select id="getVideoDaysCheckAlarmNum" resultType="java.lang.Integer">
-        select count(c.id)
-        from t_org o
-        inner join mediator_video_days_check c on c.org_id = o.id and o.deleted = 0
-        INNER JOIN t_device d on c.equipment_code=d.host_code and d.`code`=c.channel_code and d.deleted=0
-        where c.org_id=#{request.orgId}
-        <if test="request.date != null">
-            and c.update_time >= #{request.date}
-        </if>
-        <if test="request.startTime != null and request.endTime != null">
-            and c.update_time between #{request.startTime} and #{request.endTime}
-        </if>
-        and c.real_days != c.plan_days and ((d.asset_status >= 4
-        and d.asset_status != 8) or d.asset_status IS NULL)
-    </select>
-    <select id="totalLxwzxData" resultType="java.util.Map">
-        select COUNT(*) as num,a.org_path as path from mediator_video_integrity_check a where
-        a.record_date = #{parse} and
-        a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-        group by a.org_path
-    </select>
-</mapper>

+ 0 - 264
soc-modules/soc-modules-iot/src/main/resources/mapper/VideoDiagnosisRecordMapper.xml

@@ -1,264 +0,0 @@
-<?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.xunmei.iot.mapper.VideoDiagnosisRecordMapper">
-    <select id="getRecordPageList" resultType="com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordPageVo">
-        select * from
-        ( SELECT
-        d.org_id,
-        o.short_name AS orgName,
-        r.alarm_time AS alarmTime,
-        r.video_diagnosis_id AS videoDiagnosisId,
-        d.host_code AS equipment_code,
-        d.NAME AS channel_name,
-        d.CODE AS channel_code,
-        r.signal_lost,
-        r.occlude,
-        r.brightness,
-        r.color_cast,
-        r.snowflake,
-        r.stripe,
-        r.contrast,
-        r.blurry,
-        d.id AS deviceId,
-        d.CODE AS channelNumber,
-        d.NAME AS deviceName,
-        d1.NAME AS monitorHost,
-        r.is_alarm
-        FROM
-        sys_device d
-        inner join sys_org o ON o.id=d.org_id AND o.deleted=0
-        LEFT JOIN sys_device d1 ON d.host_id=d1.id AND d1.asset_type =2
-        <if test="pageDto.alarmState!=null and pageDto.alarmState!=2">
-            inner join
-        </if>
-        <if test="pageDto.alarmState==null or pageDto.alarmState==2">
-            LEFT join
-        </if>
-        mediator_video_diagnosis_record r on d.host_code=r.equipment_code and d.`code`=r.channel_code
-       where d.asset_type=#{categoryId} and d.deleted=0 <!-- AND d.is_complete = 1-->
-        <if test="pageDto.checkSub == true">
-            and o.path like concat(#{pageDto.orgPath},'%')
-        </if>
-        ) c
-        <where>
-            <if test="pageDto.orgId != null and pageDto.checkSub == false">
-                and c.org_id = #{pageDto.orgId}
-            </if>
-            <if test="pageDto.alarmState==0">
-                and c.is_alarm=0
-            </if>
-            <if test="pageDto.alarmState==1">
-                and c.is_alarm=1
-            </if>
-            <if test="pageDto.alarmState==2">
-                and c.is_alarm IS NULL
-            </if>
-            <if test="pageDto.deviceName != null and pageDto.deviceName != ''">
-                and c.deviceName like concat('%',#{pageDto.deviceName},'%')
-            </if>
-            <if test="pageDto.monitorHost != null and pageDto.monitorHost != ''">
-                and c.monitorHost like concat('%',#{pageDto.monitorHost},'%')
-            </if>
-            <if test="pageDto.startTime != null">
-                and c.alarmTime &gt;= #{pageDto.startTime}
-            </if>
-            <if test="pageDto.endTime != null">
-                and c.alarmTime &lt;= #{pageDto.endTime}
-            </if>
-            <if test="pageDto.alarmType ==0">
-                and c.signal_lost = 1
-            </if>
-            <if test="pageDto.alarmType ==1">
-                and c.occlude = 1
-            </if>
-            <if test="pageDto.alarmType ==2">
-                and c.brightness = 1
-            </if>
-            <if test="pageDto.alarmType ==3">
-                and c.color_cast = 1
-            </if>
-            <if test="pageDto.alarmType ==4">
-                and c.snowflake = 1
-            </if>
-            <if test="pageDto.alarmType ==5">
-                and c.stripe = 1
-            </if>
-            <if test="pageDto.alarmType ==6">
-                and c.contrast = 1
-            </if>
-            <if test="pageDto.alarmType ==7">
-                and c.blurry = 1
-            </if>
-        </where>
-    </select>
-
-    <select id="getRecordHistoryList" resultType="com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordHistoryVo">
-        SELECT
-        r.id,
-        r.org_id,
-        r.org_name AS orgName,
-        r.alarm_time AS alarmTime,
-        r.video_diagnosis_id AS videoDiagnosisId,
-        r.equipment_code,
-        r.channel_name,
-        r.channel_code,
-        r.channel_code AS channelNumber,
-        r.channel_name AS deviceName,
-        r.equipment_name AS monitorHost,
-        r.detail_info AS detailInfo,
-        r.is_alarm AS isAlarm
-        FROM
-        mediator_video_diagnosis_log r inner join sys_org o ON o.id=r.org_id
-        where 1=1
-
-        <if test="pageDto.monitorHost != null and pageDto.monitorHost != ''">
-            and r.equipment_code = #{pageDto.monitorHost}
-        </if>
-        <if test="pageDto.channelCode != null and pageDto.channelCode != ''">
-            and r.channel_code = #{pageDto.channelCode}
-        </if>
-        <if test="pageDto.startTime != null">
-            and r.alarm_time &gt;= #{pageDto.startTime}
-        </if>
-        <if test="pageDto.endTime != null">
-            and r.alarm_time &lt;= #{pageDto.endTime}
-        </if>
-        <if test="pageDto.alarmState==0">
-            and r.is_alarm=0
-        </if>
-        <if test="pageDto.alarmState==1">
-            and r.is_alarm=1
-        </if>
-        <if test="pageDto.alarmState==2">
-            and r.is_alarm IS NULL
-        </if>
-        <if test="pageDto.alarmType ==0">
-            and r.detail_info like '%{"state":1,"type":0}%'
-        </if>
-        <if test="pageDto.alarmType ==1">
-            and r.detail_info like '%{"state":1,"type":1}%'
-        </if>
-        <if test="pageDto.alarmType ==2">
-            and r.detail_info like '%{"state":1,"type":2}%'
-        </if>
-        <if test="pageDto.alarmType ==3">
-            and r.detail_info like '%{"state":1,"type":3}%'
-        </if>
-        <if test="pageDto.alarmType ==4">
-            and r.detail_info like '%{"state":1,"type":4}%'
-        </if>
-        <if test="pageDto.alarmType ==5">
-            and r.detail_info like '%{"state":1,"type":5}%'
-        </if>
-        <if test="pageDto.alarmType ==6">
-            and r.detail_info like '%{"state":1,"type":6}%'
-        </if>
-        <if test="pageDto.alarmType ==7">
-            and r.detail_info like '%{"state":1,"type":7}%'
-        </if>
-        order by r.alarm_time desc,r.is_alarm desc
-    </select>
-
-    <select id="getRecordAlarmHistoryList"
-            resultType="com.xunmei.iot.vo.videoDiagnosisRecord.VideoDiagnosisRecordAlarmHistoryVo">
-        SELECT
-        r.id,
-        r.org_id AS orgId,
-        r.org_name AS orgName,
-        r.device_name AS deviceName,
-        r.alarm_type AS alarmType,
-        r.alarm_start_time AS alarmStartTime,
-        r.alarm_end_time AS alarmEndTime
-        FROM
-        t_host_alarm_record r
-        where r.device_type=3713671711473664 AND r.assets_type=3713670431768576
-
-        <if test="pageDto.deviceId != null">
-            and r.device_id = #{pageDto.deviceId}
-        </if>
-        <if test="pageDto.alarmCode != null">
-            and r.alarm_code= #{pageDto.alarmCode}
-        </if>
-        <if test="pageDto.alarmStartTime != null and pageDto.alarmEndTime != null">
-            and(( r.alarm_end_time >= #{pageDto.alarmStartTime} AND r.alarm_start_time &lt;= #{pageDto.alarmEndTime})
-            OR ( r.alarm_end_time IS NULL AND r.alarm_start_time>= #{pageDto.alarmStartTime} AND r.alarm_start_time &lt;=
-            #{pageDto.alarmEndTime}))
-        </if>
-        <if test="pageDto.alarmStartTime != null and pageDto.alarmEndTime == null">
-            and r.alarm_end_time >= #{pageDto.alarmStartTime}
-        </if>
-        <if test="pageDto.alarmEndTime == null and pageDto.alarmEndTime != null">
-            and r.alarm_start_time &lt;= #{pageDto.alarmEndTime}
-        </if>
-        order by r.alarm_start_time desc
-    </select>
-
-
-    <select id="totalVideoData" resultType="java.util.Map">
-        select a.id as vid,c.path as path,a.signal_lost as signalLost,a.occlude as occlude,a.update_time as updateTime
-        from mediator_video_diagnosis_record
-        a left join sys_org c on a.org_id = c.id where a.update_time>=#{dayOfStartTime} and #{dayOfEndTime}
-        >=a.update_time and ( a.signal_lost=1 or a.occlude = 1)
-        and a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-    </select>
-
-    <select id="queryVideoDiagnosis" resultType="com.xunmei.common.core.domain.video.MediatorVideoDiagnosisRecord">
-        select * from mediator_video_diagnosis_record
-        <where>
-            <if test="channelList != null and channelList.size >0">
-                and channel_code in
-                <foreach collection="channelList" item="item" open="(" separator="," close=")">
-                    #{item.code}
-                </foreach>
-            </if>
-            and equipment_code in
-            <foreach collection="channelList" item="item" open="(" separator="," close=")">
-                #{item.hostCode}
-            </foreach>
-        </where>
-    </select>
-    <select id="getVideoDiagnosisCheckAlarmNum" resultType="com.xunmei.common.core.domain.video.MediatorVideoDiagnosisRecord">
-        select r.*
-        from sys_org o
-                 inner join mediator_video_diagnosis_record r on o.id = r.org_id and o.deleted = 0
-                 inner join sys_device d on d.code = r.channel_code and d.host_code = r.equipment_code and d.deleted = 0
-        where r.is_alarm = 1
-          and o.id = #{request.orgId}
-          and DATE_FORMAT(r.update_time, '%Y-%m-%d %H:%i:%s') >= #{request.date}
-          and ((d.asset_status >= 4
-            and d.asset_status != 8) or d.asset_status IS NULL)
-    </select>
-    <select id="countAlarmNum" resultType="java.lang.Integer">
-        select count(1)
-        from mediator_video_diagnosis_record r
-                 inner join sys_device d on d.code = r.channel_code and d.host_code = r.equipment_code
-        where r.is_alarm = 1
-          and d.org_id = #{orgId}
-          and d.deleted = 0
-          and ((d.asset_status >= 4
-            and d.asset_status != 8) or d.asset_status IS NULL)
-    </select>
-
-    <select id="queryVideoDiagnosisByDate" resultType="com.xunmei.common.core.domain.video.MediatorVideoDiagnosisRecord">
-        select * from mediator_video_diagnosis_log
-        <where>
-            `org_id` = #{request.orgId}
-            <if test="request.alarmStartTime != null ">
-                and alarm_time >= #{request.alarmStartTime}
-            </if>
-            <if test="request.alarmEndTime != null">
-                and alarm_time &lt;= #{request.alarmEndTime}
-            </if>
-        </where>
-    </select>
-    <select id="findVideoDiagnosisLog" resultType="com.xunmei.common.core.domain.video.MediatorVideoDiagnosisLog">
-        select * from mediator_video_diagnosis_log where date(alarm_time) between #{dates[0]} and #{dates[1]}
-        and org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-    </select>
-</mapper>

+ 0 - 386
soc-modules/soc-modules-iot/src/main/resources/mapper/VideoIntegrityCheckMapper.xml

@@ -1,386 +0,0 @@
-<?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.xunmei.iot.mapper.VideoIntegrityCheckMapper">
-    <resultMap id="VideoIntegrityCheckPageVo" type="com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckPageVo">
-        <result column="orgId" property="orgId"/>
-        <result column="orgPath" property="orgPath"/>
-        <result column="orgName" property="orgName"/>
-        <result column="equipmentCode" property="equipmentCode"/>
-        <result column="status" property="status"/>
-        <collection property="channelVos" column="equipmentCode=equipmentCode,orgId=orgId,recordDate=recordDate"
-                    select="selectChannelsByRecordDate">
-            <result column="channelId" property="channelId"/>
-            <result column="channelCode" property="channelCode"/>
-            <result column="channelStatus" property="channelStatus"/>
-            <result column="equipmentCode" property="equipmentCode"/>
-        </collection>
-    </resultMap>
-
-    <select id="selectPageByOrgId" resultMap="VideoIntegrityCheckPageVo" parameterType="long">
-        select v.equipment_code equipmentCode,
-               v.org_name       orgName,
-               v.org_id         orgId,
-               v.org_path       orgPath
-        from mediator_video_integrity_check v
-        where v.org_path like concat((select o.path
-                                      from sys_org o
-                                      where o.id = #{orgId}), '%')
-        group by v.equipment_code, v.org_id, v.org_path, v.org_name
-        order by v.org_id
-    </select>
-
-    <select id="selectChannels" resultType="com.xunmei.iot.vo.ChannelVo">
-        select v.id           channelId,
-               v.channel_code channelCode,
-               case v.lose_span
-                   when '[]' then true
-                   when 'null' then true
-                   else false
-                   end        channelStatus
-        from mediator_video_integrity_check v,
-             (select max(i.update_time) maxUpdateTime,
-                     i.channel_code
-              from mediator_video_integrity_check i
-              where i.org_id = #{orgId}
-                and i.equipment_code = #{equipmentCode}
-              group by i.channel_code) a
-        where v.org_id = #{orgId}
-          and v.equipment_code = #{equipmentCode}
-          and v.update_time = a.maxUpdateTime
-          and v.channel_code = a.channel_code
-        order by v.channel_code
-    </select>
-
-    <resultMap id="ChannelSingleDetailVo" type="com.xunmei.iot.vo.ChannelSingleDetailVo">
-        <result column="updateTime" property="updateTime"/>
-        <result column="recordDate" property="recordDate"/>
-        <result column="equipmentCode" property="equipmentCode"/>
-        <result column="channelCode" property="channelCode"/>
-        <result column="planTime" property="planTime"
-                typeHandler="com.xunmei.iot.typeHandler.TimeVoListTypeHandler"/>
-        <result column="loseTime" property="loseTime"
-                typeHandler="com.xunmei.iot.typeHandler.TimeVoListTypeHandler"/>
-    </resultMap>
-
-    <select id="selectChannelDetailById" resultMap="ChannelSingleDetailVo" parameterType="long">
-        select
-        <!--convert_tz(i.update_time,'+8:00','+8:00') updateTime,-->
-        i.update_time updateTime,
-        i.channel_name channelName,
-        <!--convert_tz(i.record_date,'+8:00','+8:00') recordDate,-->
-        i.record_date recordDate,
-        i.check_span planTime,
-        i.lose_span loseTime,
-        i.equipment_code equipmentCode,
-        i.channel_code channelCode,
-        i.plan_days planDays,
-        i.org_id orgId,
-        i.org_name as orgName,
-        i.org_path as orgPath
-        from mediator_video_integrity_check i
-        where i.id = #{id}
-    </select>
-
-    <select id="selectPageByOrgIdAndStatusAndDate" resultMap="VideoIntegrityCheckPageVo">
-        select v.equipment_code equipmentCode,
-        v.org_name orgName,
-        v.org_id orgId,
-        v.record_date recordDate,
-        v.all_green as status,
-        v.loseAll,
-        v.losePart
-        from
-        (
-        SELECT
-        `a`.`equipment_code` AS `equipment_code`,
-        `a`.`org_name` AS `org_name`,
-        `a`.`org_id` AS `org_id`,
-        a.org_path,
-        `a`.`record_date` AS `record_date`,
-        MAX(`a`.`status`) AS loseAll,SUM(a.status=1) AS losePart,
-        (
-        CASE
-        sum( `a`.`status` )
-        WHEN 0 THEN
-        1 ELSE 0
-        END
-        ) AS `all_green`
-        FROM
-        (
-        SELECT
-        `v`.`equipment_code` AS `equipment_code`,
-        `v`.`org_name` AS `org_name`,
-        `v`.`org_id` AS `org_id`,
-        v.org_path,
-        `v`.`record_date`,
-        v.`status`
-        FROM
-        `mediator_video_integrity_check` `v` WHERE 1=1
-        <if test="request.date != null">
-            AND v.record_date=#{request.date}
-        </if>
-        <if test="request.planDays != null">
-            AND v.plan_days=#{request.planDays}
-        </if>
-        ) `a`
-        GROUP BY
-        `a`.`equipment_code`,
-        `a`.`org_name`,
-        `a`.`org_id`,
-        a.org_path,
-        `a`.`record_date`
-        )
-        v
-        where v.org_path like concat((select path from sys_org where id = #{request.orgId}),'%')
-        <if test="request.allGreen != null and request.allGreen==0 ">
-            and v.all_green = 1
-        </if>
-        <if test="request.allGreen != null and request.allGreen==1 ">
-            and v.losePart >0
-        </if>
-        <if test="request.allGreen != null and request.allGreen==2 ">
-            and v.loseAll =2
-        </if>
-        order by v.all_green, v.org_id
-    </select>
-
-    <select id="selectChannelsByRecordDate" resultType="com.xunmei.iot.vo.ChannelVo">
-        select v.id           channelId,
-               v.channel_code channelCode,
-               v.`status`     channelStatus,
-               v.plan_days    planDays,
-               v.equipment_code equipmentCode
-        from mediator_video_integrity_check v
-        where v.org_id = #{orgId}
-          and v.equipment_code = #{equipmentCode}
-          and date_format(v.record_date, '%Y-%m-%d') = #{recordDate}
-        order by v.channel_code + 0
-    </select>
-
-    <select id="selectWebPageByWebDto4Own"
-            resultType="com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebPageVo">
-        select i.*
-        from mediator_video_integrity_check i inner join sys_device d on d.code = i.channel_code and d.host_code=i.equipment_code
-        and d.org_id=i.org_id
-        inner join sys_device d1 on d1.code =i.equipment_code
-        where i.org_id = #{request.orgId}
-        <if test="request.channelName != null and request.channelName != ''">
-            and i.channel_name like concat('%',#{request.channelName},'%')
-        </if>
-        <if test="request.deviceName != null and request.deviceName != ''">
-            and i.device_name like concat('%',#{request.deviceName},'%')
-        </if>
-        <if test="request.recordDate != null and request.recordDate.length != 0">
-            <!--and i.record_date between #{request.recordDate[0],javaType=java.util.Date} and #{request.recordDate[1],javaType=java.util.Date}-->
-            and i.record_date between #{request.recordDate[0]} and #{request.recordDate[1]}
-        </if>
-        <if test="request.status != null ">
-            and i.status = #{request.status}
-        </if>
-        order by i.record_date desc
-    </select>
-
-
-    <select id="selectWebPageByWebDto4OwnAndAllSubOrg"
-            resultType="com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebPageVo">
-        SELECT
-        i.channel_name as deviceName,
-        i.equipment_name as monitorHost,
-        i.equipment_code AS equipmentCode,
-        i.channel_code AS channelNumber,
-        i.record_date AS recordDate,
-        i.lose_span AS loseSpan,
-        i.check_span AS checkSpan,
-        i.STATUS AS STATUS,
-        i.org_name AS orgName,
-        i.plan_days AS planDays
-        FROM
-        mediator_video_integrity_check i
-        WHERE
-        1 = 1
-        <if test="request.orgId != null">
-            and i.org_id=#{request.orgId}
-        </if>
-        <if test="request.checkSub == true">
-            and i.org_path like concat(#{request.orgPath},'%')
-        </if>
-        <if test="request.planDays != null ">
-            and i.plan_days = #{request.planDays}
-        </if>
-        <if test="request.recordDate != null and request.recordDate.length != 0">
-            and i.record_date between #{request.recordDate[0]} and #{request.recordDate[1]}
-        </if>
-        <if test="request.status != null ">
-            and i.status = #{request.status}
-        </if>
-        <if test="request.monitorHost != null and request.monitorHost != ''">
-            and i.equipment_name like concat('%',#{request.monitorHost},'%')
-        </if>
-        <if test="request.deviceName != null and request.deviceName != ''">
-            and i.channel_name like concat('%',#{request.deviceName},'%')
-        </if>
-        order by i.record_date desc
-        <!--   select d.id as deviceId,
-           d.name as deviceName,
-           d1.name as monitorHost,
-           d.channel_id as channelNumber,
-           i.equipment_code as equipmentCode,
-           i.channel_code as channelCode,
-           i.record_date as recordDate,
-           o.name as orgName,
-           i.lose_span as loseSpan,
-           i.check_span as checkSpan,
-           i.status as status
-           &lt;!&ndash;from mediator_video_integrity_check i
-           inner join sys_org o ON o.id=i.org_id
-           left join sys_device d on d.code = i.channel_code and d.host_code=i.equipment_code and d.org_id=i.org_id
-           left join sys_device d1 on d1.code =i.equipment_code&ndash;&gt;
-           from  sys_device d
-           LEFT JOIN sys_device d1 ON d1.CODE = d.host_code
-           LEFT JOIN mediator_video_integrity_check i ON d.CODE = i.channel_code
-           AND d.host_code = i.equipment_code
-           AND d.org_id = i.org_id
-           INNER JOIN sys_org o ON o.id = i.org_id
-           <where>
-               <if test="request.orgId != null">
-                   and i.org_id=#{request.orgId}
-               </if>
-               <if test="request.checkSub == true">
-                   and o.path like concat(#{request.orgPath},'%')
-               </if>
-               <if test="request.monitorHost != null and request.monitorHost != ''">
-                   and d1.name like concat('%',#{request.monitorHost},'%')
-               </if>
-               <if test="request.deviceName != null and request.deviceName != ''">
-                   and i.device_name like concat('%',#{request.deviceName},'%')
-               </if>
-               <if test="request.recordDate != null and request.recordDate.length != 0">and i.record_date between #{request.recordDate[0]} and #{request.recordDate[1]}
-               </if>
-               <if test="request.status != null ">
-                   and i.status = #{request.status}
-               </if>
-           </where>
-           order by i.record_date desc-->
-
-
-    </select>
-
-    <select id="selectDeviceData" resultType="com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebDeviceVo">
-        select d.id         as deviceId,
-               d.name       as deviceName,
-               d.channel_id as channelId,
-               d.host_code  as hostCode,
-               o.name       as orgName,
-               d2.name      as monitorHost
-        from sys_device d
-                 INNER JOIN sys_org o on o.id = d.org_id
-                 left JOIN sys_device d2 on d.host_code = d2.code
-        where d.code = #{channelCode,jdbcType=VARCHAR}
-          and d.host_code = #{equipmentCode,jdbcType=VARCHAR}
-          and d.deleted is false
-          and o.deleted is false
-    </select>
-
-    <!--
-    select a.*,d.name,b.name
-from (select v.equipment_code,v.org_name, v.org_id, v.org_path
-               from mediator_video_integrity_check v
-                 where
-                    v.org_path like concat((select o.path
-                                            from sys_org o where o.id = ?), '%') group by
-                    v.equipment_code,v.org_id,v.org_path,v.org_name) a,
-              sys_device d,
-              t_brand b
-    where a.equipment_code = d.guid
-    and b.id = d.brand_id
-  order by a.org_id;
-  -->
-
-<!--    <select id="totalVideoData" resultType="java.util.Map">
-        select a.id as cid,a.org_path as path, a.channel_code as channelCode from mediator_video_integrity_check a where
-        a.record_date = #{selectTime} and a.status=1
-        and a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-    </select>-->
-    <select id="totalVideoData" resultType="java.util.Map">
-        select a.id as cid,a.org_path as path, a.channel_code as channelCode from mediator_video_integrity_check a where
-        a.record_date between #{selectTimeA} and #{selectTimeB} and a.status=1
-        and a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-    </select>
-
-<!--    <select id="queryVideoCompleted" resultType="com.isp.board.vo.VideoCompletedBoardVo">-->
-<!--        SELECT c.record_date as date,-->
-<!--               count(c.id)   as errorNums-->
-<!--        FROM sys_device d-->
-<!--                 left join-->
-<!--             `mediator_video_integrity_check` c on c.channel_code = d.`code` and c.equipment_code = d.host_code-->
-<!--        WHERE c.`status` = 0-->
-<!--          and d.deleted = 0-->
-<!--          AND c.record_date >= #{startDate}-->
-<!--          AND c.record_date <![CDATA[<=]]> #{endDate}-->
-<!--          and d.org_id = #{orgId}-->
-<!--        GROUP BY c.record_date-->
-<!--    </select>-->
-
-    <select id="getVideoIntegrityCheckAlarmNum" resultType="java.lang.Integer">
-        select count(c.id)
-        from sys_org o
-                 inner join mediator_video_integrity_check c on o.id = c.org_id and o.deleted = 0
-                 inner join sys_device d on d.code = c.channel_code and d.host_code = c.equipment_code
-        where o.id = #{request.orgId}
-          and c.status in (1, 2)
-          and c.update_time >= #{request.date}
-          and d.deleted = 0
-          and ((d.asset_status >= 4
-            and d.asset_status != 8) or d.asset_status IS NULL)
-    </select>
-
-    <select id="getVideoIntegrityDevice"
-            resultType="com.xunmei.iot.vo.videoIntegrity.VideoIntegrityCheckWebPageVo">
-        SELECT i.channel_name   as deviceName,
-               i.equipment_name as monitorHost,
-               i.equipment_code AS equipmentCode,
-               i.channel_code   AS channelNumber,
-               i.record_date    AS recordDate,
-               i.lose_span      AS loseSpan,
-               i.check_span     AS checkSpan,
-               i.STATUS         AS STATUS,
-               i.org_name       AS orgName,
-               i.plan_days      AS planDays
-        FROM mediator_video_integrity_check i
-        where i.status != 0
-          AND i.org_id = #{orgId}
-          AND i.record_date = #{recordDate}
-    </select>
-    <select id="countAlarmNum" resultType="java.lang.Integer">
-        SELECT count(1)
-        FROM mediator_video_integrity_check k
-                 INNER JOIN (SELECT c.channel_code   as channelCode,
-                                    c.equipment_code as equipmentCode,
-                                    MAX(record_date) as date
-                             FROM mediator_video_integrity_check c
-                             WHERE org_id = #{orgId}
-                             GROUP BY c.channel_code, c.equipment_code) t
-                            ON t.channelCode = k.channel_code
-                                and t.equipmentCode = k.equipment_code
-                                and t.date = k.record_date
-                 inner join sys_device d on d.code = k.channel_code and d.host_code = k.equipment_code
-        WHERE k.`status` IN (1, 2) and  k.record_date= #{dateStr} and d.deleted = 0 and ((d.asset_status >= 4
-            and d.asset_status != 8) or d.asset_status IS NULL)
-    </select>
-    <select id="totalVideoDataNx" resultType="java.util.Map">
-        select a.id as cid,a.org_path as path, a.channel_code as channelCode,a.record_date as updateTime from mediator_video_integrity_check a where
-        a.record_date >=#{dates[0]} and #{dates[1]}>= a.record_date and a.status!=0
-        and a.org_id in
-        <foreach collection="orgIds" item="item" open="(" separator="," close=")">
-            #{item}
-        </foreach>
-    </select>
-
-
-</mapper>

+ 0 - 26
soc-modules/soc-modules-iot/src/main/resources/mapper/VideoRecorderHardDiskDetectionMapper.xml

@@ -1,26 +0,0 @@
-<?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.xunmei.iot.mapper.VideoRecorderHardDiskDetectionMapper">
-    <select id="page" resultType="com.xunmei.iot.vo.dvrDisk.DvrDiskDetectionPageVo">
-       select * from mediator_video_recorder_hard_disk_detection
-        where 1=1
-        <if test="request.equipmentCode!=null">
-            and equipment_code=#{request.equipmentCode}
-        </if>
-        <if test="request.equipmentName!=null">
-            and equipment_code like concat('%',#{request.equipmentName},'%')
-        </if>
-        <if test="request.status!=null">
-            and status=#{request.status}
-        </if>
-        <if test="request.range!=null and request.range.length==2">
-            and alarm_time>=#{request.range[0]} and alarm_time &lt;=#{request.range[1]}
-        </if>
-        <if test="request.checkSub!=true">
-            and org_id=#{request.orgId}
-        </if>
-        <if test="request.checkSub==true">
-            and org_path like concat((select path from sys_org where id=#{request.orgId}),'%')
-        </if>
-    </select>
-</mapper>