Przeglądaj źródła

提交设备接入代码

hjc 1 rok temu
rodzic
commit
82ff8b6bc9
16 zmienionych plików z 620 dodań i 53 usunięć
  1. 14 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/basic.info/modular/orgInfo/mapper/OrgInfoMapper.java
  2. 107 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/basic.info/modular/orgInfo/mapper/mapping/OrgInfoMapper.xml
  3. 48 24
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/controller/MonitorCameraController.java
  4. 3 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/mapper/MonitorCameraMapper.java
  5. 9 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/mapper/mapping/MonitorCameraMapper.xml
  6. 41 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/MonitorCameraDetailParam.java
  7. 7 3
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/MonitorCameraPageParam.java
  8. 35 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/StatisticalAnalysisPageParam.java
  9. 24 6
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/service/MonitorCameraService.java
  10. 156 20
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/service/impl/MonitorCameraServiceImpl.java
  11. 45 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/CameraAndNvrDetailVO.java
  12. 44 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/CameraAndNvrVO.java
  13. 35 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/StatisticalAnalysisPageVO.java
  14. 37 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/vo/StatisticalAnalysisVO.java
  15. 5 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorNvr/mapper/MonitorNvrMapper.java
  16. 10 0
      unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorNvr/mapper/mapping/MonitorNvrMapper.xml

+ 14 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/basic.info/modular/orgInfo/mapper/OrgInfoMapper.java

@@ -19,6 +19,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
19 19
 import com.baomidou.mybatisplus.core.toolkit.Constants;
20 20
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
21 21
 import com.unis.basic.info.modular.orgInfo.entity.OrgInfo;
22
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.StatisticalAnalysisPageVO;
23
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.StatisticalAnalysisVO;
22 24
 import com.unis.reserveLayout.modular.dataSystemInfo.param.DataPageParam;
23 25
 import org.apache.ibatis.annotations.Mapper;
24 26
 import com.unis.basic.info.modular.orgInfo.param.OrgInfoPageParam;
@@ -71,4 +73,16 @@ public interface OrgInfoMapper extends BaseMapper<OrgInfo> {
71 73
     List<Map<String, Object>> selectKcYearRepot(@Param("dataPageParam")DataPageParam dataPageParam);
72 74
 
73 75
     Map<String, Object> selectByOrgInfo(@Param("dataPageParam")DataPageParam dataPageParam);
76
+
77
+    /**
78
+     * 在线统计分析-分页
79
+     *
80
+     * @author hjc
81
+     * @date  2024/06/21 10:07
82
+     */
83
+    Page<StatisticalAnalysisPageVO> statisticalAnalysisPage(@Param("page") Page<StatisticalAnalysisPageVO> page,
84
+                                                            @Param("zcdzCityName") String zcdzCityName);
85
+
86
+    List<StatisticalAnalysisVO> statisticalAnalysis();
87
+
74 88
 }

+ 107 - 0
unis-plugin/unis-plugin-biz/src/main/java/com/unis/basic.info/modular/orgInfo/mapper/mapping/OrgInfoMapper.xml

@@ -261,4 +261,111 @@
261 261
 
262 262
 
263 263
     </select>
264
+
265
+
266
+
267
+    <select id="statisticalAnalysisPage"
268
+            resultType="com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.StatisticalAnalysisPageVO">
269
+
270
+        SELECT DISTINCT
271
+        oi.org_id,
272
+        oi.org_name,
273
+        bui.zcdz_city zcdzCityId,
274
+        dd.DICT_LABEL zcdzCityName,
275
+        t1.nvrNum,
276
+        t2.cameraNum,
277
+        t3.cameraAbnormalNum
278
+        FROM
279
+        depot_qh.org_info oi
280
+        LEFT JOIN province_all.biz_unit_info bui ON oi.unit_info_id = bui.id
281
+        LEFT JOIN province_all.dev_dict dd ON bui.zcdz_city = dd.ID
282
+        LEFT JOIN (
283
+        SELECT
284
+        oi.org_id,
285
+        count( mn.id ) nvrNum
286
+        FROM
287
+        depot_qh.org_info oi
288
+        LEFT JOIN depot_qh.monitor_nvr mn ON oi.org_id = mn.org_id
289
+        GROUP BY
290
+        oi.org_id
291
+        ) t1 ON oi.org_id = t1.org_id
292
+        LEFT JOIN (
293
+        SELECT
294
+        oi.org_id,
295
+        count( mc.id ) cameraNum
296
+        FROM
297
+        depot_qh.org_info oi
298
+        LEFT JOIN depot_qh.monitor_camera mc ON oi.org_id = mc.org_id
299
+        GROUP BY
300
+        oi.org_id
301
+        ) t2 ON oi.org_id = t2.org_id
302
+        LEFT JOIN (
303
+        SELECT
304
+        oi.org_id,
305
+        count( mc.id ) cameraAbnormalNum
306
+        FROM
307
+        depot_qh.org_info oi
308
+        LEFT JOIN depot_qh.monitor_camera mc ON oi.org_id = mc.org_id
309
+        WHERE
310
+        mc.`status` != '1'
311
+        GROUP BY
312
+        oi.org_id
313
+        ) t3 ON oi.org_id = t3.org_id
314
+
315
+        <where>
316
+            <if test="zcdzCityName!=null and zcdzCityName!=null">
317
+               and dd.DICT_LABEL =#{zcdzCityName}
318
+            </if>
319
+        </where>
320
+
321
+    </select>
322
+
323
+
324
+    <select id="statisticalAnalysis"
325
+            resultType="com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.StatisticalAnalysisVO">
326
+        SELECT DISTINCT
327
+            oi.org_id,
328
+            oi.org_name,
329
+            bui.zcdz_city zcdzCityId,
330
+            dd.DICT_LABEL zcdzCityName,
331
+            t1.nvrNum,
332
+            t2.cameraNum,
333
+            t3.cameraAbnormalNum
334
+        FROM
335
+            depot_qh.org_info oi
336
+                LEFT JOIN province_all.biz_unit_info bui ON oi.unit_info_id = bui.id
337
+                LEFT JOIN province_all.dev_dict dd ON bui.zcdz_city = dd.ID
338
+                LEFT JOIN (
339
+                SELECT
340
+                    oi.org_id,
341
+                    count( mn.id ) nvrNum
342
+                FROM
343
+                    depot_qh.org_info oi
344
+                        LEFT JOIN depot_qh.monitor_nvr mn ON oi.org_id = mn.org_id
345
+                GROUP BY
346
+                    oi.org_id
347
+            ) t1 ON oi.org_id = t1.org_id
348
+                LEFT JOIN (
349
+                SELECT
350
+                    oi.org_id,
351
+                    count( mc.id ) cameraNum
352
+                FROM
353
+                    depot_qh.org_info oi
354
+                        LEFT JOIN depot_qh.monitor_camera mc ON oi.org_id = mc.org_id
355
+                GROUP BY
356
+                    oi.org_id
357
+            ) t2 ON oi.org_id = t2.org_id
358
+                LEFT JOIN (
359
+                SELECT
360
+                    oi.org_id,
361
+                    count( mc.id ) cameraAbnormalNum
362
+                FROM
363
+                    depot_qh.org_info oi
364
+                        LEFT JOIN depot_qh.monitor_camera mc ON oi.org_id = mc.org_id
365
+                WHERE
366
+                    mc.`status` != '1'
367
+                GROUP BY
368
+                    oi.org_id
369
+            ) t3 ON oi.org_id = t3.org_id
370
+    </select>
264 371
 </mapper>

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

@@ -12,30 +12,25 @@
12 12
  */
13 13
 package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.controller;
14 14
 
15
-import cn.dev33.satoken.annotation.SaCheckPermission;
16 15
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17 16
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
18 17
 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
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 22
 import io.swagger.annotations.Api;
20 23
 import io.swagger.annotations.ApiOperation;
21 24
 import org.springframework.validation.annotation.Validated;
22 25
 import org.springframework.web.bind.annotation.GetMapping;
23 26
 import org.springframework.web.bind.annotation.PostMapping;
24
-import org.springframework.web.bind.annotation.RequestBody;
25 27
 import org.springframework.web.bind.annotation.RestController;
26
-import com.unis.common.annotation.CommonLog;
27 28
 import com.unis.common.pojo.CommonResult;
28
-import com.unis.common.pojo.CommonValidList;
29 29
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.entity.MonitorCamera;
30
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraAddParam;
31
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraEditParam;
32
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraIdParam;
33
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraPageParam;
34 30
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.service.MonitorCameraService;
35 31
 
36 32
 import javax.annotation.Resource;
37 33
 import javax.validation.Valid;
38
-import javax.validation.constraints.NotEmpty;
39 34
 
40 35
 /**
41 36
  * 摄像头基本信息表控制器
@@ -53,25 +48,25 @@ public class MonitorCameraController {
53 48
     private MonitorCameraService monitorCameraService;
54 49
 
55 50
     /**
56
-     * 获取摄像头基本信息表分页
51
+     * 设备接入管理-分页
57 52
      *
58 53
      * @author hjc
59 54
      * @date  2024/06/21 10:07
60 55
      */
61 56
     @ApiOperationSupport(order = 1)
62
-    @ApiOperation("获取摄像头基本信息表分页")
57
+    @ApiOperation("设备接入管理-分页")
63 58
     //@SaCheckPermission("/equipmentOnlineRateAssessment/monitorCamera/page")
64 59
     @GetMapping("/equipmentOnlineRateAssessment/monitorCamera/page")
65
-    public CommonResult<Page<MonitorCamera>> page(MonitorCameraPageParam monitorCameraPageParam) {
60
+    public CommonResult<Page<CameraAndNvrVO>> page(MonitorCameraPageParam monitorCameraPageParam) {
66 61
         return CommonResult.data(monitorCameraService.page(monitorCameraPageParam));
67 62
     }
68 63
 
69
-    /**
64
+   /* *//**
70 65
      * 添加摄像头基本信息表
71 66
      *
72 67
      * @author hjc
73 68
      * @date  2024/06/21 10:07
74
-     */
69
+     *//*
75 70
     @ApiOperationSupport(order = 2)
76 71
     @ApiOperation("添加摄像头基本信息表")
77 72
     @CommonLog("添加摄像头基本信息表")
@@ -82,12 +77,12 @@ public class MonitorCameraController {
82 77
         return CommonResult.ok();
83 78
     }
84 79
 
85
-    /**
80
+    *//**
86 81
      * 编辑摄像头基本信息表
87 82
      *
88 83
      * @author hjc
89 84
      * @date  2024/06/21 10:07
90
-     */
85
+     *//*
91 86
     @ApiOperationSupport(order = 3)
92 87
     @ApiOperation("编辑摄像头基本信息表")
93 88
     @CommonLog("编辑摄像头基本信息表")
@@ -98,12 +93,12 @@ public class MonitorCameraController {
98 93
         return CommonResult.ok();
99 94
     }
100 95
 
101
-    /**
96
+    *//**
102 97
      * 删除摄像头基本信息表
103 98
      *
104 99
      * @author hjc
105 100
      * @date  2024/06/21 10:07
106
-     */
101
+     *//*
107 102
     @ApiOperationSupport(order = 4)
108 103
     @ApiOperation("删除摄像头基本信息表")
109 104
     @CommonLog("删除摄像头基本信息表")
@@ -113,19 +108,48 @@ public class MonitorCameraController {
113 108
                                                    CommonValidList<MonitorCameraIdParam> monitorCameraIdParamList) {
114 109
         monitorCameraService.delete(monitorCameraIdParamList);
115 110
         return CommonResult.ok();
116
-    }
111
+    }*/
117 112
 
118 113
     /**
119
-     * 获取摄像头基本信息表详情
114
+     * 设备接入管理-详情
120 115
      *
121 116
      * @author hjc
122 117
      * @date  2024/06/21 10:07
123 118
      */
124
-    @ApiOperationSupport(order = 5)
125
-    @ApiOperation("获取摄像头基本信息表详情")
119
+    @ApiOperationSupport(order = 2)
120
+    @ApiOperation("设备接入管理-详情")
126 121
     //@SaCheckPermission("/equipmentOnlineRateAssessment/monitorCamera/detail")
127 122
     @GetMapping("/equipmentOnlineRateAssessment/monitorCamera/detail")
128
-    public CommonResult<MonitorCamera> detail(@Valid MonitorCameraIdParam monitorCameraIdParam) {
129
-        return CommonResult.data(monitorCameraService.detail(monitorCameraIdParam));
123
+    public CommonResult<CameraAndNvrDetailVO> detail(@Valid MonitorCameraDetailParam monitorCameraDetailParam) {
124
+        return CommonResult.data(monitorCameraService.detail(monitorCameraDetailParam));
125
+    }
126
+
127
+    /**
128
+     * 在线统计分析-分页
129
+     *
130
+     * @author hjc
131
+     * @date  2024/06/21 10:07
132
+     */
133
+    @ApiOperationSupport(order = 3)
134
+    @ApiOperation("在线统计分析-分页")
135
+    //@SaCheckPermission("/equipmentOnlineRateAssessment/monitorCamera/page")
136
+    @GetMapping("/equipmentOnlineRateAssessment/monitorCamera/statisticalAnalysisPage")
137
+    public CommonResult<Page<StatisticalAnalysisPageVO>> statisticalAnalysisPage(StatisticalAnalysisPageParam pageParam) {
138
+        return CommonResult.data(monitorCameraService.statisticalAnalysisPage(pageParam));
139
+    }
140
+
141
+    /**
142
+     * 在线统计分析-导出
143
+     *
144
+     * @author hjc
145
+     * @date  2024/06/21 10:07
146
+     */
147
+    @ApiOperationSupport(order = 4)
148
+    @ApiOperation("在线统计分析-导出")
149
+    //@SaCheckPermission("/equipmentOnlineRateAssessment/monitorCamera/page")
150
+    @GetMapping("/equipmentOnlineRateAssessment/monitorCamera/statisticalAnalysisExport")
151
+    public CommonResult<String> statisticalAnalysisExport() {
152
+        monitorCameraService.statisticalAnalysisExport();
153
+        return CommonResult.ok();
130 154
     }
131 155
 }

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

@@ -14,8 +14,10 @@ package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.mapper;
14 14
 
15 15
 import com.baomidou.dynamic.datasource.annotation.DS;
16 16
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
17
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17 18
 import com.unis.common.constant.DBConstant;
18 19
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.entity.MonitorCamera;
20
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrVO;
19 21
 import org.apache.ibatis.annotations.Mapper;
20 22
 
21 23
 /**
@@ -27,4 +29,5 @@ import org.apache.ibatis.annotations.Mapper;
27 29
 @Mapper
28 30
 @DS(DBConstant.DS_DEPOT)
29 31
 public interface MonitorCameraMapper extends BaseMapper<MonitorCamera> {
32
+    Page<CameraAndNvrVO> findcamera(Page<CameraAndNvrVO> page ,  String name);
30 33
 }

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

@@ -2,4 +2,13 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.mapper.MonitorCameraMapper">
4 4
 
5
+    <select id="findcamera"
6
+            resultType="com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrVO">
7
+        select * from monitor_camera
8
+        <where>
9
+            <if test="name != null and name != ''">
10
+                name like concat('%',#{name},'%')
11
+            </if>
12
+        </where>
13
+    </select>
5 14
 </mapper>

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

@@ -0,0 +1,41 @@
1
+/*
2
+ * Copyright [2022] [https://www.xiaonuo.vip]
3
+ *
4
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
5
+ *
6
+ * 1.请不要删除和修改根目录下的LICENSE文件。
7
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
8
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
9
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
10
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
11
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
12
+ */
13
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param;
14
+
15
+import io.swagger.annotations.ApiModelProperty;
16
+import lombok.Getter;
17
+import lombok.Setter;
18
+
19
+import javax.validation.constraints.NotBlank;
20
+import javax.validation.constraints.NotNull;
21
+
22
+/**
23
+ * 摄像头基本信息表Id参数
24
+ *
25
+ * @author hjc
26
+ * @date  2024/06/21 10:07
27
+ **/
28
+@Getter
29
+@Setter
30
+public class MonitorCameraDetailParam {
31
+
32
+    /** 主键 */
33
+    @ApiModelProperty(value = "主键", required = true)
34
+    @NotNull(message = "id不能为空")
35
+    private Integer id;
36
+
37
+    /** 设备类型(1 摄像头,2 NVR) */
38
+    @ApiModelProperty(value = "设备类型(1 摄像头,2 NVR)", required = true)
39
+    @NotNull(message = "设备类型不能为空")
40
+    private Integer variety;
41
+}

+ 7 - 3
unis-plugin/unis-plugin-biz/src/main/java/com/unis/equipmentOnlineRateAssessment/modular/monitorCamera/param/MonitorCameraPageParam.java

@@ -44,8 +44,12 @@ public class MonitorCameraPageParam {
44 44
     @ApiModelProperty(value = "排序方式,升序:ASCEND;降序:DESCEND")
45 45
     private String sortOrder;
46 46
 
47
-    /** 关键词 */
48
-    @ApiModelProperty(value = "关键词")
49
-    private String searchKey;
47
+    /** 设备类型(1 摄像头,2 NVR) */
48
+    @ApiModelProperty(value = "设备类型(1 摄像头,2 NVR)", position = 27)
49
+    private Integer variety;
50
+
51
+    /** 设备出厂名称(海康高清红外球机) */
52
+    @ApiModelProperty(value = "设备出厂名称(海康高清红外球机)", position = 4)
53
+    private String name;
50 54
 
51 55
 }

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

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

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

@@ -15,10 +15,10 @@ package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.service;
15 15
 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
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraAddParam;
19
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraEditParam;
20
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraIdParam;
21
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraPageParam;
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;
22 22
 
23 23
 import java.util.List;
24 24
 
@@ -36,7 +36,7 @@ public interface MonitorCameraService extends IService<MonitorCamera> {
36 36
      * @author hjc
37 37
      * @date  2024/06/21 10:07
38 38
      */
39
-    Page<MonitorCamera> page(MonitorCameraPageParam monitorCameraPageParam);
39
+    Page<CameraAndNvrVO> page(MonitorCameraPageParam monitorCameraPageParam);
40 40
 
41 41
     /**
42 42
      * 添加摄像头基本信息表
@@ -68,7 +68,7 @@ public interface MonitorCameraService extends IService<MonitorCamera> {
68 68
      * @author hjc
69 69
      * @date  2024/06/21 10:07
70 70
      */
71
-    MonitorCamera detail(MonitorCameraIdParam monitorCameraIdParam);
71
+    CameraAndNvrDetailVO detail(MonitorCameraDetailParam monitorCameraDetailParam);
72 72
 
73 73
     /**
74 74
      * 获取摄像头基本信息表详情
@@ -77,4 +77,22 @@ public interface MonitorCameraService extends IService<MonitorCamera> {
77 77
      * @date  2024/06/21 10:07
78 78
      **/
79 79
     MonitorCamera queryEntity(Integer id);
80
+
81
+    /**
82
+     * 在线统计分析-分页
83
+     *
84
+     * @author hjc
85
+     * @date  2024/06/21 10:07
86
+     */
87
+    Page<StatisticalAnalysisPageVO> statisticalAnalysisPage(StatisticalAnalysisPageParam pageParam);
88
+
89
+    /**
90
+     * 在线统计分析-导出
91
+     *
92
+     * @author hjc
93
+     * @date  2024/06/21 10:07
94
+     */
95
+    void statisticalAnalysisExport();
96
+
97
+
80 98
 }

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

@@ -14,46 +14,123 @@ package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.service.imp
14 14
 
15 15
 import cn.hutool.core.bean.BeanUtil;
16 16
 import cn.hutool.core.collection.CollStreamUtil;
17
+import cn.hutool.core.collection.CollectionUtil;
17 18
 import cn.hutool.core.util.ObjectUtil;
18
-import cn.hutool.core.util.StrUtil;
19
+import com.alibaba.excel.EasyExcel;
20
+import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
21
+import com.alibaba.excel.write.style.row.SimpleRowHeightStyleStrategy;
22
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
19 23
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
20 24
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
21 25
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
26
+import com.unis.basic.info.modular.orgInfo.mapper.OrgInfoMapper;
27
+import com.unis.common.page.CommonPageRequest;
28
+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;
33
+import com.unis.equipmentOnlineRateAssessment.modular.monitorNvr.entity.MonitorNvr;
34
+import com.unis.equipmentOnlineRateAssessment.modular.monitorNvr.mapper.MonitorNvrMapper;
35
+import org.springframework.beans.factory.annotation.Autowired;
22 36
 import org.springframework.stereotype.Service;
23 37
 import org.springframework.transaction.annotation.Transactional;
24
-import com.unis.common.enums.CommonSortOrderEnum;
25 38
 import com.unis.common.exception.CommonException;
26
-import com.unis.common.page.CommonPageRequest;
27 39
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.entity.MonitorCamera;
28 40
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.mapper.MonitorCameraMapper;
29
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraAddParam;
30
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraEditParam;
31
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraIdParam;
32
-import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.param.MonitorCameraPageParam;
33 41
 import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.service.MonitorCameraService;
34 42
 
43
+import javax.xml.crypto.Data;
44
+import java.io.File;
45
+import java.text.SimpleDateFormat;
46
+import java.util.ArrayList;
47
+import java.util.Date;
35 48
 import java.util.List;
49
+import java.util.stream.Collectors;
36 50
 
37 51
 /**
38 52
  * 摄像头基本信息表Service接口实现类
39 53
  *
40 54
  * @author hjc
41
- * @date  2024/06/21 10:07
55
+ * @date 2024/06/21 10:07
42 56
  **/
43 57
 @Service
44 58
 public class MonitorCameraServiceImpl extends ServiceImpl<MonitorCameraMapper, MonitorCamera> implements MonitorCameraService {
45 59
 
60
+    @Autowired
61
+    private OrgInfoMapper orgInfoMapper;
62
+
63
+    @Autowired
64
+    private MonitorCameraMapper monitorCameraMapper;
65
+
66
+    @Autowired
67
+    private MonitorNvrMapper monitorNvrMapper;
68
+
46 69
     @Override
47
-    public Page<MonitorCamera> page(MonitorCameraPageParam monitorCameraPageParam) {
48
-        QueryWrapper<MonitorCamera> queryWrapper = new QueryWrapper<>();
49
-        if(ObjectUtil.isAllNotEmpty(monitorCameraPageParam.getSortField(), monitorCameraPageParam.getSortOrder())) {
50
-            CommonSortOrderEnum.validate(monitorCameraPageParam.getSortOrder());
51
-            queryWrapper.orderBy(true, monitorCameraPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
52
-                    StrUtil.toUnderlineCase(monitorCameraPageParam.getSortField()));
53
-        } else {
54
-            queryWrapper.lambda().orderByAsc(MonitorCamera::getId);
70
+    public Page<CameraAndNvrVO> page(MonitorCameraPageParam pageParam) {
71
+
72
+        Page<CameraAndNvrVO> page = new Page<>(pageParam.getCurrent(), pageParam.getSize());
73
+
74
+        switch (pageParam.getVariety() == null ? 3 : pageParam.getVariety()) {
75
+            case 1:
76
+                page = findCamera(page, pageParam);
77
+                break;
78
+            case 2:
79
+                page = findNvr(pageParam, page);
80
+                break;
81
+            default:
82
+                page = findAll(pageParam, page);
83
+
55 84
         }
56
-        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
85
+        return page;
86
+
87
+    }
88
+
89
+    private Page<CameraAndNvrVO> findAll(MonitorCameraPageParam pageParam, Page<CameraAndNvrVO> page) {
90
+        List<MonitorCamera> monitorCameras = monitorCameraMapper.selectList(null);
91
+        List<MonitorNvr> monitorNvrs = monitorNvrMapper.selectList(null);
92
+        List<CameraAndNvrVO> cameraAndNvrVOS = new ArrayList<>();
93
+
94
+        for (MonitorCamera monitorCamera : monitorCameras) {
95
+            CameraAndNvrVO vo = new CameraAndNvrVO();
96
+            BeanUtil.copyProperties(monitorCamera, vo);
97
+            vo.setVariety(1);
98
+            cameraAndNvrVOS.add(vo);
99
+        }
100
+        for (MonitorNvr monitorNvr : monitorNvrs) {
101
+            CameraAndNvrVO vo = new CameraAndNvrVO();
102
+            BeanUtil.copyProperties(monitorNvr, vo);
103
+            vo.setVariety(2);
104
+            cameraAndNvrVOS.add(vo);
105
+        }
106
+        page.setRecords(cameraAndNvrVOS.subList(Math.min((pageParam.getCurrent() - 1) * pageParam.getSize(), cameraAndNvrVOS.size())
107
+                , Math.min(pageParam.getCurrent() * pageParam.getSize(), cameraAndNvrVOS.size())));
108
+        page.setTotal(cameraAndNvrVOS.size());
109
+        return page;
110
+    }
111
+
112
+    private Page<CameraAndNvrVO> findNvr(MonitorCameraPageParam pageParam, Page<CameraAndNvrVO> list) {
113
+        list = monitorNvrMapper.findNvr(list, pageParam.getName());
114
+        List<CameraAndNvrVO> records = list.getRecords();
115
+        if (CollectionUtil.isNotEmpty(records)) {
116
+            for (CameraAndNvrVO CameraAndNvrVO : records) {
117
+                CameraAndNvrVO.setVariety(2);
118
+            }
119
+        }
120
+
121
+        return list;
122
+    }
123
+
124
+
125
+    private Page<CameraAndNvrVO> findCamera(Page<CameraAndNvrVO> list, MonitorCameraPageParam pageParam) {
126
+        list = monitorCameraMapper.findcamera(list, pageParam.getName());
127
+        List<CameraAndNvrVO> records = list.getRecords();
128
+        if (CollectionUtil.isNotEmpty(records)) {
129
+            for (CameraAndNvrVO monitorCamera : records) {
130
+                monitorCamera.setVariety(1);
131
+            }
132
+        }
133
+        return list;
57 134
     }
58 135
 
59 136
     @Transactional(rollbackFor = Exception.class)
@@ -79,16 +156,75 @@ public class MonitorCameraServiceImpl extends ServiceImpl<MonitorCameraMapper, M
79 156
     }
80 157
 
81 158
     @Override
82
-    public MonitorCamera detail(MonitorCameraIdParam monitorCameraIdParam) {
83
-        return this.queryEntity(monitorCameraIdParam.getId());
159
+    public CameraAndNvrDetailVO detail(MonitorCameraDetailParam detailParam) {
160
+
161
+        CameraAndNvrDetailVO vo = new CameraAndNvrDetailVO();
162
+        if (detailParam.getVariety() == 1) {
163
+            //摄像头
164
+            MonitorCamera monitorCamera = this.queryEntity(detailParam.getId());
165
+            BeanUtil.copyProperties(monitorCamera, vo);
166
+            vo.setVariety(1);
167
+
168
+        } else if (detailParam.getVariety() == 2) {
169
+            //NVR
170
+            MonitorNvr monitorNvr = monitorNvrMapper.selectById(detailParam.getId());
171
+            BeanUtil.copyProperties(monitorNvr, vo);
172
+            vo.setModelNumber(monitorNvr.getModelNum());
173
+            vo.setSubnetmask(monitorNvr.getSubnetMask());
174
+            vo.setVariety(2);
175
+        }
176
+
177
+        return vo;
84 178
     }
85 179
 
86 180
     @Override
87 181
     public MonitorCamera queryEntity(Integer id) {
88 182
         MonitorCamera monitorCamera = this.getById(id);
89
-        if(ObjectUtil.isEmpty(monitorCamera)) {
183
+        if (ObjectUtil.isEmpty(monitorCamera)) {
90 184
             throw new CommonException("摄像头基本信息表不存在,id值为:{}", id);
91 185
         }
92 186
         return monitorCamera;
93 187
     }
188
+
189
+
190
+    /**
191
+     * 在线统计分析-分页
192
+     *
193
+     * @author hjc
194
+     * @date 2024/06/21 10:07
195
+     */
196
+    @Override
197
+    public Page<StatisticalAnalysisPageVO> statisticalAnalysisPage(StatisticalAnalysisPageParam pageParam) {
198
+
199
+        Page<StatisticalAnalysisPageVO> page = new Page<>(pageParam.getCurrent(), pageParam.getSize());
200
+        return orgInfoMapper.statisticalAnalysisPage(page, pageParam.getZcdzCityName());
201
+
202
+    }
203
+
204
+
205
+    /**
206
+     * 在线统计分析-导出
207
+     *
208
+     * @author hjc
209
+     * @date 2024/06/21 10:07
210
+     */
211
+    @Override
212
+    public void statisticalAnalysisExport() {
213
+        //TODO 路径改变
214
+        String path = "D://";
215
+        File folder = new File(path);
216
+        if (!folder.isDirectory()) {
217
+            folder.mkdirs();
218
+        }
219
+
220
+        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
221
+        String dateStr = format.format(new Date());
222
+        String fileName = path + dateStr + "设备在线率考核统计分析" + ".xlsx";
223
+
224
+        EasyExcel.write(fileName, StatisticalAnalysisVO.class)
225
+                .sheet("设备在线率考核统计分析表")
226
+                .doWrite(orgInfoMapper.statisticalAnalysis());
227
+
228
+    }
229
+
94 230
 }

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

@@ -0,0 +1,45 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo;
2
+
3
+import com.baomidou.mybatisplus.annotation.FieldFill;
4
+import com.baomidou.mybatisplus.annotation.TableField;
5
+import com.baomidou.mybatisplus.annotation.TableId;
6
+import io.swagger.annotations.ApiModelProperty;
7
+import lombok.Data;
8
+
9
+import java.util.Date;
10
+
11
+/**
12
+ * @author hjc
13
+ * @version 1.0
14
+ * @Description
15
+ * @date 2024/6/22 10:10
16
+ */
17
+@Data
18
+public class CameraAndNvrDetailVO {
19
+
20
+    /** 设备出厂名称(海康高清红外球机) */
21
+    @ApiModelProperty(value = "设备出厂名称(海康高清红外球机)", position = 4)
22
+    private String name;
23
+
24
+    /** ip地址 */
25
+    @ApiModelProperty(value = "ip地址", position = 8)
26
+    private String ip;
27
+
28
+    /** 子网掩码 */
29
+    @ApiModelProperty(value = "子网掩码", position = 9)
30
+    private String subnetmask;
31
+
32
+    /** 端口 */
33
+    @ApiModelProperty(value = "端口", position = 12)
34
+    private String port;
35
+
36
+    /** 设备型号 */
37
+    @ApiModelProperty(value = "设备型号", position = 15)
38
+    private String modelNumber;
39
+
40
+
41
+    /** 设备类型(1 摄像头,2 NVR) */
42
+    @ApiModelProperty(value = "设备类型(1 摄像头,2 NVR)", position = 27)
43
+    private Integer variety;
44
+
45
+}

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

@@ -0,0 +1,44 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+
6
+/**
7
+ * @author hjc
8
+ * @version 1.0
9
+ * @Description
10
+ * @date 2024/6/21 20:54
11
+ */
12
+@Data
13
+public class CameraAndNvrVO {
14
+
15
+    /** 主键 */
16
+    @ApiModelProperty(value = "主键", required = true, position = 1)
17
+    private Integer id;
18
+
19
+    /** 组织机构代码 */
20
+    @ApiModelProperty(value = "库区id", position = 2)
21
+    private String orgId;
22
+
23
+    /** 组织机构代码 */
24
+    @ApiModelProperty(value = "库区名称", position = 3)
25
+    private String orgName;
26
+
27
+    /** 设备出厂名称(海康高清红外球机) */
28
+    @ApiModelProperty(value = "设备出厂名称(海康高清红外球机)", position = 4)
29
+    private String name;
30
+
31
+    /** ip地址 */
32
+    @ApiModelProperty(value = "ip地址", position = 8)
33
+    private String ip;
34
+
35
+    /** 所属厂商 1-200海康 2-300大华 3其他 */
36
+    @ApiModelProperty(value = "所属厂商 1-200海康 2-300大华 3其他", position = 13)
37
+    private String factory;
38
+
39
+    /** 设备类型(1 摄像头,2 NVR) */
40
+    @ApiModelProperty(value = "设备类型(1 摄像头,2 NVR)", position = 27)
41
+    private Integer variety;
42
+
43
+
44
+}

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

@@ -0,0 +1,35 @@
1
+package com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+
6
+/**
7
+ * @author hjc
8
+ * @version 1.0
9
+ * @Description
10
+ * @date 2024/6/21 15:09
11
+ */
12
+@Data
13
+public class StatisticalAnalysisPageVO {
14
+
15
+    @ApiModelProperty(value = "库区id",position = 1)
16
+    private Integer orgId;
17
+
18
+    @ApiModelProperty(value = "库区名称",position = 2)
19
+    private String orgName;
20
+
21
+    @ApiModelProperty(value = "所属市州Id",position = 3)
22
+    private String zcdzCityId;
23
+
24
+    @ApiModelProperty(value = "所属市州名称",position = 4)
25
+    private String zcdzCityName;
26
+
27
+    @ApiModelProperty(value = "NVR数量",position = 5)
28
+    private Integer nvrNum;
29
+
30
+    @ApiModelProperty(value = "摄像头数量",position = 6)
31
+    private Integer cameraNum;
32
+
33
+    @ApiModelProperty(value = "摄像头异常数量",position = 7)
34
+    private Integer cameraAbnormalNum;
35
+}

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

@@ -0,0 +1,37 @@
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
+/**
11
+ * @author hjc
12
+ * @version 1.0
13
+ * @Description
14
+ * @date 2024/6/21 15:09
15
+ */
16
+@Data
17
+@ContentRowHeight(20) // 文本行高度
18
+@HeadRowHeight(15) // 标题高度
19
+@ColumnWidth(20) // 默认列宽度
20
+public class StatisticalAnalysisVO {
21
+
22
+    @ExcelProperty("库区名称")
23
+    @ColumnWidth(40)
24
+    private String orgName;
25
+
26
+    @ExcelProperty("所属市州")
27
+    private String zcdzCityName;
28
+
29
+    @ExcelProperty("NVR数量")
30
+    private Integer nvrNum;
31
+
32
+    @ExcelProperty("摄像头数量")
33
+    private Integer cameraNum;
34
+
35
+    @ExcelProperty("摄像头异常数量")
36
+    private Integer cameraAbnormalNum;
37
+}

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

@@ -14,9 +14,13 @@ package com.unis.equipmentOnlineRateAssessment.modular.monitorNvr.mapper;
14 14
 
15 15
 import com.baomidou.dynamic.datasource.annotation.DS;
16 16
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
17
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17 18
 import com.unis.common.constant.DBConstant;
19
+import com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrVO;
18 20
 import com.unis.equipmentOnlineRateAssessment.modular.monitorNvr.entity.MonitorNvr;
21
+import com.unis.equipmentOnlineRateAssessment.modular.monitorNvr.param.MonitorNvrAddParam;
19 22
 import org.apache.ibatis.annotations.Mapper;
23
+import org.apache.ibatis.annotations.Param;
20 24
 
21 25
 /**
22 26
  * 硬盘录像机表Mapper接口
@@ -27,4 +31,5 @@ import org.apache.ibatis.annotations.Mapper;
27 31
 @Mapper
28 32
 @DS(DBConstant.DS_DEPOT)
29 33
 public interface MonitorNvrMapper extends BaseMapper<MonitorNvr> {
34
+    Page<CameraAndNvrVO> findNvr( Page<CameraAndNvrVO> page ,@Param("name") String name);
30 35
 }

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

@@ -2,4 +2,14 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.unis.equipmentOnlineRateAssessment.modular.monitorNvr.mapper.MonitorNvrMapper">
4 4
 
5
+
6
+    <select id="findNvr"
7
+            resultType="com.unis.equipmentOnlineRateAssessment.modular.monitorCamera.vo.CameraAndNvrVO">
8
+        select * from monitor_nvr
9
+        <where>
10
+            <if test="name != null and name != ''">
11
+                name like concat('%',#{name},'%')
12
+            </if>
13
+        </where>
14
+    </select>
5 15
 </mapper>