Ver código fonte

提交在线巡检和自动考核代码

hjc 1 ano atrás
pai
commit
40b8a85cc6
15 arquivos alterados com 617 adições e 21 exclusões
  1. 1 1
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/basic.info/modular/enumInfo/controller/BasicEnumController.java
  2. 70 12
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/controller/MonitorCameraController.java
  3. 24 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/mapper/MonitorCameraMapper.java
  4. 62 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/mapper/mapping/MonitorCameraMapper.xml
  5. 42 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/AutomatedAssessmentsPageParam.java
  6. 2 1
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/MonitorCameraIdParam.java
  7. 43 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/OnlineInspectionPageParam.java
  8. 34 3
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/service/MonitorCameraService.java
  9. 174 4
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/service/impl/MonitorCameraServiceImpl.java
  10. 44 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/AutomatedAssessmentsExportVO.java
  11. 40 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/AutomatedAssessmentsPageVO.java
  12. 20 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/MonitorCameraVO.java
  13. 50 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/OnlineInspectionPageVO.java
  14. 2 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorNvr/mapper/MonitorNvrMapper.java
  15. 9 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorNvr/mapper/mapping/MonitorNvrMapper.xml

+ 1 - 1
unis-plugin/unis-plugin-biz/src/main/java/com/unis/basic.info/modular/enumInfo/controller/BasicEnumController.java

@@ -155,7 +155,7 @@ public class BasicEnumController {
155 155
      * @return
156 156
      */
157 157
     @ApiOperation(value="B端根据id获取子节点数据")
158
-    @GetMapping("/biz/enum/getAllChildren")
158
+    @GetMapping("")
159 159
     @ApiImplicitParams({
160 160
             @ApiImplicitParam(name="enumid", value="字典id", paramType="query"),
161 161
             @ApiImplicitParam(name="isQueryFristNode", value="是否只查询第一级", paramType="query")

+ 70 - 12
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/controller/MonitorCameraController.java

@@ -16,9 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
16 16
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
17 17
 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
18 18
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.*;
19
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrDetailVO;
20
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.StatisticalAnalysisPageVO;
21
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrVO;
19
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.*;
22 20
 import io.swagger.annotations.Api;
23 21
 import io.swagger.annotations.ApiOperation;
24 22
 import org.springframework.validation.annotation.Validated;
@@ -36,7 +34,7 @@ import javax.validation.Valid;
36 34
  * 摄像头基本信息表控制器
37 35
  *
38 36
  * @author hjc
39
- * @date  2024/06/21 10:07
37
+ * @date 2024/06/21 10:07
40 38
  */
41 39
 @Api(tags = "摄像头基本信息表控制器")
42 40
 @ApiSupport(author = "UNIS_TEAM", order = 1)
@@ -51,7 +49,7 @@ public class MonitorCameraController {
51 49
      * 设备接入管理-分页
52 50
      *
53 51
      * @author hjc
54
-     * @date  2024/06/21 10:07
52
+     * @date 2024/06/21 10:07
55 53
      */
56 54
     @ApiOperationSupport(order = 1)
57 55
     @ApiOperation("设备接入管理-分页")
@@ -61,11 +59,11 @@ public class MonitorCameraController {
61 59
         return CommonResult.data(monitorCameraService.page(monitorCameraPageParam));
62 60
     }
63 61
 
64
-   /* *//**
62
+    /* *//**
65 63
      * 添加摄像头基本信息表
66 64
      *
67 65
      * @author hjc
68
-     * @date  2024/06/21 10:07
66
+     * @date 2024/06/21 10:07
69 67
      *//*
70 68
     @ApiOperationSupport(order = 2)
71 69
     @ApiOperation("添加摄像头基本信息表")
@@ -81,7 +79,7 @@ public class MonitorCameraController {
81 79
      * 编辑摄像头基本信息表
82 80
      *
83 81
      * @author hjc
84
-     * @date  2024/06/21 10:07
82
+     * @date 2024/06/21 10:07
85 83
      *//*
86 84
     @ApiOperationSupport(order = 3)
87 85
     @ApiOperation("编辑摄像头基本信息表")
@@ -97,7 +95,7 @@ public class MonitorCameraController {
97 95
      * 删除摄像头基本信息表
98 96
      *
99 97
      * @author hjc
100
-     * @date  2024/06/21 10:07
98
+     * @date 2024/06/21 10:07
101 99
      *//*
102 100
     @ApiOperationSupport(order = 4)
103 101
     @ApiOperation("删除摄像头基本信息表")
@@ -114,7 +112,7 @@ public class MonitorCameraController {
114 112
      * 设备接入管理-详情
115 113
      *
116 114
      * @author hjc
117
-     * @date  2024/06/21 10:07
115
+     * @date 2024/06/21 10:07
118 116
      */
119 117
     @ApiOperationSupport(order = 2)
120 118
     @ApiOperation("设备接入管理-详情")
@@ -128,7 +126,7 @@ public class MonitorCameraController {
128 126
      * 在线统计分析-分页
129 127
      *
130 128
      * @author hjc
131
-     * @date  2024/06/21 10:07
129
+     * @date 2024/06/21 10:07
132 130
      */
133 131
     @ApiOperationSupport(order = 3)
134 132
     @ApiOperation("在线统计分析-分页")
@@ -142,7 +140,7 @@ public class MonitorCameraController {
142 140
      * 在线统计分析-导出
143 141
      *
144 142
      * @author hjc
145
-     * @date  2024/06/21 10:07
143
+     * @date 2024/06/21 10:07
146 144
      */
147 145
     @ApiOperationSupport(order = 4)
148 146
     @ApiOperation("在线统计分析-导出")
@@ -152,4 +150,64 @@ public class MonitorCameraController {
152 150
         monitorCameraService.statisticalAnalysisExport();
153 151
         return CommonResult.ok();
154 152
     }
153
+
154
+    /**
155
+     * 在线巡检-分页
156
+     *
157
+     * @author hjc
158
+     * @date 2024/06/21 10:07
159
+     */
160
+    @ApiOperationSupport(order = 5)
161
+    @ApiOperation("在线巡检-分页")
162
+    //@SaCheckPermission("/equipmentOnlineRateAssessment/monitorCamera/page")
163
+    @GetMapping("/equipmentOnlineRateAssessment/monitorCamera/onlineInspectionPage")
164
+    public CommonResult<Page<OnlineInspectionPageVO>> onlineInspectionPage(OnlineInspectionPageParam pageParam) {
165
+        return CommonResult.data(monitorCameraService.onlineInspectionPage(pageParam));
166
+    }
167
+
168
+    /*
169
+     *
170
+     * 在线巡检-详情
171
+     *
172
+     * @author hjc
173
+     * @date  2024/06/21 10:07
174
+     */
175
+    @ApiOperationSupport(order = 6)
176
+    @ApiOperation("在线巡检-详情")
177
+    //@SaCheckPermission("/equipmentOnlineRateAssessment/monitorCamera/detail")
178
+    @GetMapping("/equipmentOnlineRateAssessment/monitorCamera/onlineInspectionDetail")
179
+    public CommonResult<MonitorCameraVO> onlineInspectionDetail(@Valid MonitorCameraIdParam monitorCameraIdParam) {
180
+        return CommonResult.data(monitorCameraService.onlineInspectionDetail(monitorCameraIdParam));
181
+    }
182
+
183
+    /**
184
+     * 自动考核-分页
185
+     *
186
+     * @author hjc
187
+     * @date 2024/06/21 10:07
188
+     */
189
+    //TODO 自动考核的使用情况条件查询待确定
190
+    @ApiOperationSupport(order = 7)
191
+    @ApiOperation("自动考核-分页")
192
+    //@SaCheckPermission("/equipmentOnlineRateAssessment/monitorCamera/page")
193
+    @GetMapping("/equipmentOnlineRateAssessment/monitorCamera/AutomatedAssessmentsPage")
194
+    public CommonResult<Page<AutomatedAssessmentsPageVO>> AutomatedAssessmentsPage(AutomatedAssessmentsPageParam pageParam) {
195
+        return CommonResult.data(monitorCameraService.AutomatedAssessmentsPage(pageParam));
196
+    }
197
+
198
+    /**
199
+     * 自动考核-导出
200
+     *
201
+     * @author hjc
202
+     * @date 2024/06/21 10:07
203
+     */
204
+    @ApiOperationSupport(order = 8)
205
+    @ApiOperation("自动考核-导出")
206
+    //@SaCheckPermission("/equipmentOnlineRateAssessment/monitorCamera/page")
207
+    @GetMapping("/equipmentOnlineRateAssessment/monitorCamera/AutomatedAssessmentsExport")
208
+    public CommonResult<String> AutomatedAssessmentsExport() {
209
+        monitorCameraService.AutomatedAssessmentsExport();
210
+        return CommonResult.ok();
211
+    }
212
+
155 213
 }

+ 24 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/mapper/MonitorCameraMapper.java

@@ -18,7 +18,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
18 18
 import com.unis.common.constant.DBConstant;
19 19
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.entity.MonitorCamera;
20 20
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrVO;
21
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.OnlineInspectionPageVO;
21 22
 import org.apache.ibatis.annotations.Mapper;
23
+import org.apache.ibatis.annotations.Param;
24
+
25
+import java.util.Date;
26
+import java.util.List;
22 27
 
23 28
 /**
24 29
  * 摄像头基本信息表Mapper接口
@@ -30,4 +35,23 @@ import org.apache.ibatis.annotations.Mapper;
30 35
 @DS(DBConstant.DS_DEPOT)
31 36
 public interface MonitorCameraMapper extends BaseMapper<MonitorCamera> {
32 37
     Page<CameraAndNvrVO> findcamera(Page<CameraAndNvrVO> page ,  String name);
38
+
39
+    /**
40
+     * 在线巡检-分页
41
+     *
42
+     * @author hjc
43
+     * @date  2024/06/21 10:07
44
+     */
45
+    Page<OnlineInspectionPageVO> onlineInspectionPage(@Param("page") Page<OnlineInspectionPageVO> page,
46
+                                                      @Param("zcdzCityName") String zcdzCityName,
47
+                                                      @Param("warnTime") Date warnTime,
48
+                                                      @Param("maxDate") Date maxDate,
49
+                                                      @Param("minDate") Date minDate);
50
+
51
+
52
+    Integer selectAll(String orgId);
53
+
54
+    Integer selectCameraOnlineNum(String orgId);
55
+
56
+    Integer selectCameraOfflineNum(String orgId);
33 57
 }

+ 62 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/mapper/mapping/MonitorCameraMapper.xml

@@ -11,4 +11,66 @@
11 11
             </if>
12 12
         </where>
13 13
     </select>
14
+
15
+
16
+    <select id="onlineInspectionPage"
17
+            resultType="com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.OnlineInspectionPageVO">
18
+
19
+        SELECT DISTINCT
20
+        oi.org_id,
21
+        oi.org_name,
22
+        bui.zcdz_city zcdzCityId,
23
+        dd.DICT_LABEL zcdzCityName,
24
+        mc.id,
25
+        mc.`name`,
26
+        mc.`status`,
27
+        mc.warn_time
28
+        FROM
29
+        depot_qh.org_info oi
30
+        LEFT JOIN province_all.biz_unit_info bui ON oi.unit_info_id = bui.id
31
+        LEFT JOIN province_all.dev_dict dd ON bui.zcdz_city = dd.ID
32
+        left join depot_qh.monitor_camera mc on oi.org_id=mc.org_id
33
+
34
+        <where>
35
+            mc.`status`!='1'
36
+
37
+            <if test="zcdzCityName!=null and zcdzCityName!=''">
38
+                and dd.DICT_LABEL=#{zcdzCityName}
39
+            </if>
40
+            <if test="warnTime!=null and maxDate!=null and minDate!=null">
41
+                and mc.warn_time between #{minDate} and #{maxDate}
42
+            </if>
43
+        </where>
44
+
45
+    </select>
46
+
47
+    <select id="selectAll" resultType="java.lang.Integer">
48
+        select count(id) mcAll from monitor_camera
49
+        <where>
50
+            <if test="orgId!=null and orgId!=''">
51
+                and org_id=#{orgId}
52
+            </if>
53
+        </where>
54
+    </select>
55
+
56
+    <select id="selectCameraOnlineNum" resultType="java.lang.Integer">
57
+        select count(id) mcOn from monitor_camera
58
+        <where>
59
+            `status`='1'
60
+            <if test="orgId!=null and orgId!=''">
61
+                and org_id=#{orgId}
62
+            </if>
63
+        </where>
64
+    </select>
65
+
66
+    <select id="selectCameraOfflineNum" resultType="java.lang.Integer">
67
+        select count(id) mcOff from monitor_camera
68
+        <where>
69
+            `status`!='1'
70
+            <if test="orgId!=null and orgId!=''">
71
+                and org_id=#{orgId}
72
+            </if>
73
+        </where>
74
+    </select>
75
+
14 76
 </mapper>

+ 42 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/AutomatedAssessmentsPageParam.java

@@ -0,0 +1,42 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+import org.springframework.format.annotation.DateTimeFormat;
6
+
7
+import java.util.Date;
8
+
9
+/**
10
+ * @author hjc
11
+ * @version 1.0
12
+ * @Description
13
+ * @date 2024/6/21 15:19
14
+ */
15
+@Data
16
+public class AutomatedAssessmentsPageParam {
17
+
18
+    /** 当前页 */
19
+    @ApiModelProperty(value = "当前页码")
20
+    private Integer current;
21
+
22
+    /** 每页条数 */
23
+    @ApiModelProperty(value = "每页条数")
24
+    private Integer size;
25
+
26
+    /** 排序字段 */
27
+    @ApiModelProperty(value = "排序字段,字段驼峰名称,如:userName")
28
+    private String sortField;
29
+
30
+    /** 排序方式 */
31
+    @ApiModelProperty(value = "排序方式,升序:ASCEND;降序:DESCEND")
32
+    private String sortOrder;
33
+
34
+    /** 所属市州名称 */
35
+    @ApiModelProperty(value = "所属市州名称",position = 4)
36
+    private String orgId;
37
+
38
+    /** 使用情况 */
39
+    @ApiModelProperty(value = "使用情况", position = 29)
40
+    private Date warnTime;
41
+
42
+}

+ 2 - 1
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/MonitorCameraIdParam.java

@@ -17,6 +17,7 @@ import lombok.Getter;
17 17
 import lombok.Setter;
18 18
 
19 19
 import javax.validation.constraints.NotBlank;
20
+import javax.validation.constraints.NotNull;
20 21
 
21 22
 /**
22 23
  * 摄像头基本信息表Id参数
@@ -30,6 +31,6 @@ public class MonitorCameraIdParam {
30 31
 
31 32
     /** 主键 */
32 33
     @ApiModelProperty(value = "主键", required = true)
33
-    @NotBlank(message = "id不能为空")
34
+    @NotNull(message = "id不能为空")
34 35
     private Integer id;
35 36
 }

+ 43 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/OnlineInspectionPageParam.java

@@ -0,0 +1,43 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+import org.springframework.format.annotation.DateTimeFormat;
6
+
7
+import java.util.Date;
8
+
9
+/**
10
+ * @author hjc
11
+ * @version 1.0
12
+ * @Description
13
+ * @date 2024/6/21 15:19
14
+ */
15
+@Data
16
+public class OnlineInspectionPageParam {
17
+
18
+    /** 当前页 */
19
+    @ApiModelProperty(value = "当前页码")
20
+    private Integer current;
21
+
22
+    /** 每页条数 */
23
+    @ApiModelProperty(value = "每页条数")
24
+    private Integer size;
25
+
26
+    /** 排序字段 */
27
+    @ApiModelProperty(value = "排序字段,字段驼峰名称,如:userName")
28
+    private String sortField;
29
+
30
+    /** 排序方式 */
31
+    @ApiModelProperty(value = "排序方式,升序:ASCEND;降序:DESCEND")
32
+    private String sortOrder;
33
+
34
+    /** 所属市州名称 */
35
+    @ApiModelProperty(value = "所属市州名称",position = 4)
36
+    private String zcdzCityName;
37
+
38
+    /** 预警时间 */
39
+    @ApiModelProperty(value = "设备非在线状态(status!=1)的更新时间。", position = 29)
40
+    @DateTimeFormat(pattern="yyyy-MM-dd")
41
+    private Date warnTime;
42
+
43
+}

+ 34 - 3
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/service/MonitorCameraService.java

@@ -16,9 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
16 16
 import com.baomidou.mybatisplus.extension.service.IService;
17 17
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.entity.MonitorCamera;
18 18
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.*;
19
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrDetailVO;
20
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.StatisticalAnalysisPageVO;
21
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrVO;
19
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.*;
22 20
 
23 21
 import java.util.List;
24 22
 
@@ -95,4 +93,37 @@ public interface MonitorCameraService extends IService<MonitorCamera> {
95 93
     void statisticalAnalysisExport();
96 94
 
97 95
 
96
+    /**
97
+     * 在线巡检-分页
98
+     *
99
+     * @author hjc
100
+     * @date  2024/06/21 10:07
101
+     */
102
+    Page<OnlineInspectionPageVO> onlineInspectionPage(OnlineInspectionPageParam pageParam);
103
+
104
+    /**
105
+     * 自动考核-分页
106
+     *
107
+     * @author hjc
108
+     * @date  2024/06/21 10:07
109
+     */
110
+    Page<AutomatedAssessmentsPageVO> AutomatedAssessmentsPage(AutomatedAssessmentsPageParam pageParam);
111
+
112
+    /*
113
+     *
114
+     * 在线巡检-详情
115
+     *
116
+     * @author hjc
117
+     * @date  2024/06/21 10:07
118
+     */
119
+    MonitorCameraVO onlineInspectionDetail(MonitorCameraIdParam monitorCameraIdParam);
120
+
121
+    /**
122
+     * 自动考核-导出
123
+     *
124
+     * @author hjc
125
+     * @date 2024/06/21 10:07
126
+     */
127
+    void AutomatedAssessmentsExport();
128
+
98 129
 }

+ 174 - 4
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/service/impl/MonitorCameraServiceImpl.java

@@ -15,6 +15,8 @@ package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.service.imp
15 15
 import cn.hutool.core.bean.BeanUtil;
16 16
 import cn.hutool.core.collection.CollStreamUtil;
17 17
 import cn.hutool.core.collection.CollectionUtil;
18
+import cn.hutool.core.date.DateUnit;
19
+import cn.hutool.core.date.DateUtil;
18 20
 import cn.hutool.core.util.ObjectUtil;
19 21
 import com.alibaba.excel.EasyExcel;
20 22
 import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
@@ -23,13 +25,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
23 25
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
24 26
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
25 27
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
28
+import com.unis.basic.info.modular.orgInfo.entity.OrgInfo;
26 29
 import com.unis.basic.info.modular.orgInfo.mapper.OrgInfoMapper;
27 30
 import com.unis.common.page.CommonPageRequest;
28 31
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.*;
29
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrDetailVO;
30
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.StatisticalAnalysisPageVO;
31
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.StatisticalAnalysisVO;
32
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrVO;
32
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.*;
33 33
 import com.unis.equipmentOnlineRateAssessment.modular.monitorNvr.entity.MonitorNvr;
34 34
 import com.unis.equipmentOnlineRateAssessment.modular.monitorNvr.mapper.MonitorNvrMapper;
35 35
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,7 +42,13 @@ import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.service.Moni
42 42
 
43 43
 import javax.xml.crypto.Data;
44 44
 import java.io.File;
45
+import java.math.BigDecimal;
46
+import java.text.DecimalFormat;
45 47
 import java.text.SimpleDateFormat;
48
+import java.time.Instant;
49
+import java.time.LocalDateTime;
50
+import java.time.LocalTime;
51
+import java.time.ZoneId;
46 52
 import java.util.ArrayList;
47 53
 import java.util.Date;
48 54
 import java.util.List;
@@ -227,4 +233,168 @@ public class MonitorCameraServiceImpl extends ServiceImpl<MonitorCameraMapper, M
227 233
 
228 234
     }
229 235
 
236
+    /**
237
+     * 在线巡检-分页
238
+     *
239
+     * @author hjc
240
+     * @date 2024/06/21 10:07
241
+     */
242
+    @Override
243
+    public Page<OnlineInspectionPageVO> onlineInspectionPage(OnlineInspectionPageParam pageParam) {
244
+
245
+
246
+        Page<OnlineInspectionPageVO> page = new Page<>(pageParam.getCurrent(), pageParam.getSize());
247
+        Date minDate = null;
248
+        Date maxDate = null;
249
+        if (ObjectUtil.isNotEmpty(pageParam.getWarnTime())) {
250
+            Date warnTime = pageParam.getWarnTime();
251
+            LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(warnTime.getTime()), ZoneId.systemDefault());
252
+
253
+            // 通过LocalDateTime的 with方法设置某天的最小值和最大值!!
254
+            LocalDateTime minDateTime = localDateTime.with(LocalTime.MIN);
255
+            // 格式化日期
256
+            minDate = Date.from(minDateTime.atZone(ZoneId.systemDefault()).toInstant());
257
+
258
+            LocalDateTime maxDateTime = localDateTime.with(LocalTime.MAX);
259
+            maxDate = Date.from(maxDateTime.atZone(ZoneId.systemDefault()).toInstant());
260
+
261
+
262
+        }
263
+        return monitorCameraMapper.onlineInspectionPage(page, pageParam.getZcdzCityName(),
264
+                pageParam.getWarnTime(), maxDate, minDate);
265
+
266
+    }
267
+
268
+    /*
269
+     *
270
+     * 在线巡检-详情
271
+     *
272
+     * @author hjc
273
+     * @date  2024/06/21 10:07
274
+     */
275
+    @Override
276
+    public MonitorCameraVO onlineInspectionDetail(MonitorCameraIdParam monitorCameraIdParam) {
277
+
278
+        MonitorCameraVO vo = new MonitorCameraVO();
279
+        MonitorCamera monitorCamera = this.queryEntity(monitorCameraIdParam.getId());
280
+        BeanUtil.copyProperties(monitorCamera, vo);
281
+        OrgInfo orgInfo = orgInfoMapper.selectById(monitorCamera.getOrgId());
282
+        if (ObjectUtil.isNotEmpty(orgInfo)) {
283
+            vo.setOrgName(orgInfo.getOrgName());
284
+        }
285
+        return vo;
286
+    }
287
+
288
+    /**
289
+     * 自动考核-分页
290
+     *
291
+     * @author hjc
292
+     * @date 2024/06/21 10:07
293
+     */
294
+    @Override
295
+    public Page<AutomatedAssessmentsPageVO> AutomatedAssessmentsPage(AutomatedAssessmentsPageParam pageParam) {
296
+
297
+        Page<AutomatedAssessmentsPageVO> page = new Page<>(pageParam.getCurrent(), pageParam.getSize());
298
+
299
+        AutomatedAssessmentsPageVO vo = new AutomatedAssessmentsPageVO();
300
+        //获取摄像头总数量
301
+        Integer cameraAllNum = monitorCameraMapper.selectAll(pageParam.getOrgId());
302
+        //获取摄像头在线数量
303
+        Integer cameraOnlineNum = monitorCameraMapper.selectCameraOnlineNum(pageParam.getOrgId());
304
+        //获取摄像头离线数量
305
+        Integer cameraOfflineNum = monitorCameraMapper.selectCameraOfflineNum(pageParam.getOrgId());
306
+
307
+        //获取摄像头在线率
308
+        BigDecimal cameraOnlineRate = null;
309
+        //获取摄像头离线率
310
+        BigDecimal cameraOfflineRate = null;
311
+
312
+        if (cameraAllNum != 0) {
313
+
314
+            cameraOnlineRate = BigDecimal.valueOf(cameraOnlineNum)
315
+                    .divide(BigDecimal.valueOf(cameraAllNum), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100));
316
+
317
+            cameraOfflineRate = BigDecimal.valueOf(cameraOfflineNum)
318
+                    .divide(BigDecimal.valueOf(cameraAllNum), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100));
319
+        }
320
+        //获取NVR总数量
321
+        Integer nvrAllNum = monitorNvrMapper.selectAllNum(pageParam.getOrgId());
322
+
323
+        vo.setCameraAllNum(cameraAllNum);
324
+        vo.setCameraOnlineNum(cameraOnlineNum);
325
+        vo.setCameraOfflineNum(cameraOfflineNum);
326
+        vo.setCameraOnlineRate(cameraOnlineRate);
327
+        vo.setCameraOfflineRate(cameraOfflineRate);
328
+        vo.setNvrAllNum(nvrAllNum);
329
+
330
+        ArrayList<AutomatedAssessmentsPageVO> list = new ArrayList<>();
331
+        list.add(vo);
332
+
333
+        page.setRecords(list);
334
+        page.setTotal(list.size());
335
+
336
+        return page;
337
+
338
+    }
339
+
340
+    /**
341
+     * 自动考核-导出
342
+     *
343
+     * @author hjc
344
+     * @date 2024/06/21 10:07
345
+     */
346
+    @Override
347
+    public void AutomatedAssessmentsExport() {
348
+        String path = "D://";
349
+        File folder = new File(path);
350
+        if (!folder.isDirectory()) {
351
+            folder.mkdirs();
352
+        }
353
+        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
354
+        String dateStr = format.format(new Date());
355
+        String fileName = path + dateStr + "自动考核数据表" + ".xlsx";
356
+
357
+        EasyExcel.write(fileName, AutomatedAssessmentsExportVO.class)
358
+                .sheet("自动考核数据表")
359
+                .doWrite(this::data);
360
+    }
361
+
362
+    private List<AutomatedAssessmentsExportVO> data() {
363
+        AutomatedAssessmentsExportVO vo = new AutomatedAssessmentsExportVO();
364
+        //获取摄像头总数量
365
+        Integer cameraAllNum = monitorCameraMapper.selectAll(null);
366
+        //获取摄像头在线数量
367
+        Integer cameraOnlineNum = monitorCameraMapper.selectCameraOnlineNum(null);
368
+        //获取摄像头离线数量
369
+        Integer cameraOfflineNum = monitorCameraMapper.selectCameraOfflineNum(null);
370
+        //获取摄像头在线率
371
+        BigDecimal cameraOnlineRate = null;
372
+        //获取摄像头离线率
373
+        BigDecimal cameraOfflineRate = null;
374
+
375
+        if (cameraAllNum != 0) {
376
+
377
+            cameraOnlineRate = BigDecimal.valueOf(cameraOnlineNum)
378
+                    .divide(BigDecimal.valueOf(cameraAllNum), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100));
379
+
380
+            cameraOfflineRate = BigDecimal.valueOf(cameraOfflineNum)
381
+                    .divide(BigDecimal.valueOf(cameraAllNum), 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100));
382
+
383
+        }
384
+        //获取NVR总数量
385
+        Integer nvrAllNum = monitorNvrMapper.selectAllNum(null);
386
+
387
+        vo.setCameraAllNum(cameraAllNum);
388
+        vo.setCameraOnlineNum(cameraOnlineNum);
389
+        vo.setCameraOfflineNum(cameraOfflineNum);
390
+        vo.setCameraOnlineRate(cameraOnlineRate);
391
+        vo.setCameraOfflineRate(cameraOfflineRate);
392
+        vo.setNvrAllNum(nvrAllNum);
393
+
394
+        List<AutomatedAssessmentsExportVO> list = new ArrayList<>();
395
+        list.add(vo);
396
+
397
+        return list;
398
+    }
399
+
230 400
 }

+ 44 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/AutomatedAssessmentsExportVO.java

@@ -0,0 +1,44 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo;
2
+
3
+import com.alibaba.excel.annotation.ExcelProperty;
4
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
6
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
7
+import io.swagger.annotations.ApiModelProperty;
8
+import lombok.Data;
9
+
10
+import java.math.BigDecimal;
11
+
12
+/**
13
+ * @author hjc
14
+ * @version 1.0
15
+ * @Description
16
+ * @date 2024/6/22 16:45
17
+ */
18
+@Data
19
+@ContentRowHeight(20) // 文本行高度
20
+@HeadRowHeight(20) // 标题高度
21
+@ColumnWidth(20) // 默认列宽度
22
+public class AutomatedAssessmentsExportVO {
23
+
24
+
25
+    @ExcelProperty("摄像头总数量")
26
+    private Integer cameraAllNum;
27
+
28
+    @ExcelProperty("摄像头在线数量")
29
+    private Integer cameraOnlineNum;
30
+
31
+    @ExcelProperty("摄像头离线数量")
32
+    private Integer cameraOfflineNum;
33
+
34
+    @ExcelProperty("摄像头在线率(%)")
35
+    @ColumnWidth(23)
36
+    private BigDecimal cameraOnlineRate;
37
+
38
+    @ExcelProperty("摄像头离线率(%)")
39
+    @ColumnWidth(23)
40
+    private BigDecimal cameraOfflineRate;
41
+
42
+    @ExcelProperty("NVR总数量")
43
+    private Integer nvrAllNum;
44
+}

+ 40 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/AutomatedAssessmentsPageVO.java

@@ -0,0 +1,40 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+
6
+import java.math.BigDecimal;
7
+
8
+/**
9
+ * @author hjc
10
+ * @version 1.0
11
+ * @Description
12
+ * @date 2024/6/22 16:45
13
+ */
14
+@Data
15
+public class AutomatedAssessmentsPageVO {
16
+
17
+    /** 摄像头总数量 */
18
+    @ApiModelProperty(value = "摄像头总数量", position = 1)
19
+    private Integer cameraAllNum;
20
+
21
+    /** 摄像头在线数量 */
22
+    @ApiModelProperty(value = "摄像头在线数量", position = 2)
23
+    private Integer cameraOnlineNum;
24
+
25
+    /** 摄像头离线数量 */
26
+    @ApiModelProperty(value = "摄像头离线数量", position = 3)
27
+    private Integer cameraOfflineNum;
28
+
29
+    /** 摄像头在线率 */
30
+    @ApiModelProperty(value = "摄像头在线率(%)", position = 4)
31
+    private BigDecimal cameraOnlineRate;
32
+
33
+    /** 摄像头在线率 */
34
+    @ApiModelProperty(value = "摄像头离线率(%)", position = 5)
35
+    private BigDecimal cameraOfflineRate;
36
+
37
+    /** NVR总数量 */
38
+    @ApiModelProperty(value = "NVR总数量", position = 6)
39
+    private Integer nvrAllNum;
40
+}

+ 20 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/MonitorCameraVO.java

@@ -0,0 +1,20 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo;
2
+
3
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.entity.MonitorCamera;
4
+import io.swagger.annotations.ApiModelProperty;
5
+import lombok.Data;
6
+
7
+/**
8
+ * @author hjc
9
+ * @version 1.0
10
+ * @Description
11
+ * @date 2024/6/24 10:26
12
+ */
13
+@Data
14
+public class MonitorCameraVO extends MonitorCamera {
15
+
16
+    /** 组织机构代码 */
17
+    @ApiModelProperty(value = "所属库区", position = 2)
18
+    private String orgName;
19
+
20
+}

+ 50 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/OnlineInspectionPageVO.java

@@ -0,0 +1,50 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+
6
+import javax.validation.constraints.NotNull;
7
+import java.util.Date;
8
+
9
+/**
10
+ * @author hjc
11
+ * @version 1.0
12
+ * @Description
13
+ * @date 2024/6/22 14:22
14
+ */
15
+@Data
16
+public class OnlineInspectionPageVO {
17
+
18
+    /** 主键 */
19
+    @ApiModelProperty(value = "主键", required = true, position = 1)
20
+    @NotNull(message = "id不能为空")
21
+    private Integer id;
22
+
23
+    /** 组织机构代码 */
24
+    @ApiModelProperty(value = "库区id", position = 2)
25
+    private String orgId;
26
+
27
+    /** 库区名称 */
28
+    @ApiModelProperty(value = "库区名称", position = 2)
29
+    private String orgName;
30
+
31
+    @ApiModelProperty(value = "所属市州Id",position = 3)
32
+    private String zcdzCityId;
33
+
34
+    @ApiModelProperty(value = "所属市州名称",position = 4)
35
+    private String zcdzCityName;
36
+
37
+    /** 设备出厂名称(海康高清红外球机) */
38
+    @ApiModelProperty(value = "设备出厂名称(海康高清红外球机)", position = 4)
39
+    private String name;
40
+
41
+    /** 在线状态(0-未知,1-在
42
+     线,2-离线) */
43
+    @ApiModelProperty(value = "在线状态(0-未知,1-在线,2-离线)", position = 27)
44
+    private Integer status;
45
+
46
+    /** 预警时间 */
47
+    @ApiModelProperty(value = "设备非在线状态(status!=1)的更新时间。", position = 29)
48
+    private Date warnTime;
49
+
50
+}

+ 2 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorNvr/mapper/MonitorNvrMapper.java

@@ -32,4 +32,6 @@ import org.apache.ibatis.annotations.Param;
32 32
 @DS(DBConstant.DS_DEPOT)
33 33
 public interface MonitorNvrMapper extends BaseMapper<MonitorNvr> {
34 34
     Page<CameraAndNvrVO> findNvr( Page<CameraAndNvrVO> page ,@Param("name") String name);
35
+
36
+    Integer selectAllNum(String orgId);
35 37
 }

+ 9 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorNvr/mapper/mapping/MonitorNvrMapper.xml

@@ -12,4 +12,13 @@
12 12
             </if>
13 13
         </where>
14 14
     </select>
15
+
16
+    <select id="selectAllNum" resultType="java.lang.Integer">
17
+        select count(id) nvrAll from monitor_nvr
18
+        <where>
19
+            <if test="orgId!=null and orgId!=''">
20
+                and org_id=#{orgId}
21
+            </if>
22
+        </where>
23
+    </select>
15 24
 </mapper>