From e13b129c300d3eff2ba555d0c41bbccbaab1014a Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 17 九月 2024 18:56:59 +0800
Subject: [PATCH] 新大屏数据对接

---
 ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java                  |   21 ++++++----
 ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java         |    2 
 ycl-server/src/main/java/com/ycl/task/OsdTask.java                              |    2 
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml                    |   17 ++++----
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java     |    5 ++
 ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java |   39 ++++++++++++++++---
 6 files changed, 61 insertions(+), 25 deletions(-)

diff --git a/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java b/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java
index d507114..08c3d54 100644
--- a/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java
+++ b/ycl-common/src/main/java/enumeration/general/AreaDeptEnum.java
@@ -4,26 +4,29 @@
 
 /**
  * 鍖哄煙鏋氫妇
+ * osdName涓烘憚鍍忓ご涓婃樉绀虹殑鍖哄煙鍚嶏紝鐢ㄤ簬Osd瀹氭椂浠诲姟姣斿Osd鏄惁姝g‘
  */
 @Getter
 public enum AreaDeptEnum {
-    ZLJQ("鑷祦浜�", "510302", 201),
-    GJQ("璐′簳", "510303", 202),
-    DAQ("澶у畨", "510304", 102),
-    YTQ("娌挎哗", "510311", 211),
-    RX("鑽e幙", "510321", 203),
-    FSX("瀵岄『", "510322", 101),
-    GXQ("楂樻柊", "510399", 210),
+    ZLJQ("鑷祦浜曞尯","鑷祦浜�", "510302", 201),
+    GJQ("璐′簳鍖�", "璐′簳","510303", 202),
+    DAQ("澶у畨鍖�","澶у畨","510304", 102),
+    YTQ("娌挎哗鍖�", "娌挎哗","510311", 211),
+    RX("鑽e幙", "鑽e幙","510321", 203),
+    FSX("瀵岄『鍘�", "瀵岄『","510322", 101),
+    GXQ("楂樻柊鍖�", "楂樻柊","510399", 210),
     ;
 
     private final String name;
+    private final String osdName;
 
     private final String code;
 
     private final Integer deptId;
 
-    AreaDeptEnum(String name, String code, Integer deptId) {
+    AreaDeptEnum(String name,String osdName, String code, Integer deptId) {
         this.name = name;
+        this.osdName = osdName;
         this.code = code;
         this.deptId = deptId;
     }
@@ -44,4 +47,6 @@
         }
         return null;
     }
+
+
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java
index 753b712..f4897dd 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java
@@ -1,6 +1,10 @@
 package com.ycl.platform.domain.vo.screen;
 
+import enumeration.general.AreaDeptEnum;
 import lombok.Data;
+
+import java.util.Arrays;
+import java.util.Comparator;
 
 /**
  * @author gonghl
@@ -59,4 +63,5 @@
      */
     private Integer videoErrorNum;
 
+
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
index d3341e9..f016ce2 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java
@@ -95,7 +95,7 @@
      * @param dashboardQuery 鏌ヨ鏉′欢
      * @return 鏁版嵁
      */
-    List<MonitorTotalVO> monitorTotal(DashboardQuery dashboardQuery);
+    Map<String, List<Map<String, Object>>> monitorTotal(DashboardQuery dashboardQuery);
 
     /**
      * 澶у睆璁惧姝e父鐜�
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
index d803fa2..44c5f48 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -26,6 +26,7 @@
 import com.ycl.system.service.ISysConfigService;
 import com.ycl.utils.DateUtils;
 import com.ycl.utils.StringUtils;
+import enumeration.general.AreaDeptEnum;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
@@ -54,6 +55,7 @@
     private MongoTemplate mongoTemplate;
     @Autowired
     private WorkOrderMapper workOrderMapper;
+
     /**
      * 鏌ヨ璁惧璧勪骇
      *
@@ -85,17 +87,17 @@
         }
         List<TMonitorVO> monitors = tMonitorMapper.selectTMonitorList(tMonitor);
         // 寮傚父鎭㈠鐩戞帶
-        if(Objects.equals(tMonitor.getRecovery(), 1L)){
+        if (Objects.equals(tMonitor.getRecovery(), 1L)) {
             //宸ュ崟鍙�
             List<String> orders = monitors.stream().map(TMonitorVO::getWorkOrderNo).collect(Collectors.toList());
-            if(CollectionUtils.isEmpty(orders)){
+            if (CollectionUtils.isEmpty(orders)) {
                 return monitors;
             }
             List<WorkOrderVO> voList = workOrderMapper.getRecoveryInfo(orders);
             for (TMonitorVO monitor : monitors) {
-                if(!CollectionUtils.isEmpty(voList)){
+                if (!CollectionUtils.isEmpty(voList)) {
                     for (WorkOrderVO workOrderVO : voList) {
-                        if(monitor.getWorkOrderNo().equals(workOrderVO.getWorkOrderNo())){
+                        if (monitor.getWorkOrderNo().equals(workOrderVO.getWorkOrderNo())) {
                             monitor.setUnitContact(workOrderVO.getUnitContact());
                             monitor.setUnitContactPhone(workOrderVO.getUnitContactPhone());
                             monitor.setYwPeopleName(workOrderVO.getYwPeopleName());
@@ -324,12 +326,37 @@
     }
 
     @Override
-    public List<MonitorTotalVO> monitorTotal(DashboardQuery dashboardQuery) {
-        return baseMapper.monitorTotal(dashboardQuery);
+    public Map<String, List<Map<String, Object>>> monitorTotal(DashboardQuery dashboardQuery) {
+        List<MonitorTotalVO> monitorTotalVOS = baseMapper.monitorTotal(dashboardQuery);
+        /** facilityData: {
+         * video:[
+         * {value: 4589,title: '璁惧鎬绘暟'},
+         * {value: 4294,title: '璁惧姝e父鏁�'},
+         * {value: 295,title: '璁惧寮傚父鏁�'}
+         * ]} */
+        Map<String, List<Map<String, Object>>> resultMap = new HashMap<>();
+        for (MonitorTotalVO vo : monitorTotalVOS) {
+            List<Map<String, Object>> list = new ArrayList();
+            Map<String, Object> total = new HashMap<>();
+            total.put("value", vo.getTotalNum());
+            total.put("title", "璁惧鎬绘暟");
+            Map<String, Object> normal = new HashMap<>();
+            normal.put("value", vo.getNormalNum());
+            normal.put("title", "璁惧姝e父鏁�");
+            Map<String, Object> error = new HashMap<>();
+            error.put("value", vo.getErrorNum());
+            error.put("title", "璁惧寮傚父鏁�");
+            list.add(total);
+            list.add(normal);
+            list.add(error);
+            resultMap.put(vo.getType(), list);
+        }
+        return resultMap;
     }
 
     @Override
     public List<MonitorRateVO> monitorRate(DashboardQuery dashboardQuery) {
+        //TODO:鏂板dept AreaCode瀛楁
         return baseMapper.monitorRate(dashboardQuery);
     }
 
diff --git a/ycl-server/src/main/java/com/ycl/task/OsdTask.java b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
index 9408335..a50e42a 100644
--- a/ycl-server/src/main/java/com/ycl/task/OsdTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -170,7 +170,7 @@
         //妫�鏌ュ尯鍘挎槸鍚︽纭�
         if (!StringUtils.isEmpty(osdResult.getOSD3())) {
             AreaDeptEnum areaDeptEnum = AreaDeptEnum.fromCode(monitor.getSerialNumber().substring(0, 6));
-            if (areaDeptEnum != null && osdResult.getOSD3().equals(areaDeptEnum.getName())) {
+            if (areaDeptEnum != null && osdResult.getOSD3().equals(areaDeptEnum.getOsdName())) {
                 osdCheckResult.setOsdPartCorrect(ApiConstants.OSD_Correct);
             } else {
                 osdCheckResult.setOsdPartCorrect(ApiConstants.OSD_Error);
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 99950eb..1474516 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -409,7 +409,7 @@
 
     <select id="monitorTotal" resultType="com.ycl.platform.domain.vo.screen.MonitorTotalVO">
         SELECT
-            '瑙嗛' as type,
+            'video' as type,
             COUNT(p1.id) AS totalNum,
             COUNT(p2.id) AS errorNum,
             COUNT(p1.id) - COUNT(p2.id) AS normalNum
@@ -419,7 +419,7 @@
         WHERE INSTR(camera_fun_type, 1)
         UNION ALL
         SELECT
-            '杞﹁締' as type,
+            'car' as type,
             COUNT(p1.id) AS totalNum,
             COUNT(p2.id) AS errorNum,
             COUNT(p1.id) - COUNT(p2.id) AS normalNum
@@ -429,7 +429,7 @@
         WHERE INSTR(camera_fun_type, 2)
         UNION ALL
         SELECT
-            '浜鸿劯' as type,
+            'face' as type,
             COUNT(p1.id) AS totalNum,
             COUNT(p2.id) AS errorNum,
             COUNT(p1.id) - COUNT(p2.id) AS normalNum
@@ -438,7 +438,6 @@
         LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 AND p1.id = p2.id <if test="dataScope == 1"> AND p2.province_tag = 1 </if><if test="dataScope == 3"> AND p2.important_tag = 1 </if><if test="deptId != null"> AND p2.dept_id = #{deptId} </if>
         WHERE INSTR(camera_fun_type, 3)
     </select>
-
     <select id="monitorRate" resultType="com.ycl.platform.domain.vo.screen.MonitorRateVO">
         SELECT
             *
@@ -458,7 +457,7 @@
                         LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 1)
                 WHERE d.del_flag = 0 AND d.area IS NOT NULL
                 GROUP BY d.area, d.dept_id
-                ORDER BY d.dept_id
+                ORDER BY d.area_code
             ) a
         INNER JOIN
             -- 杞﹁締璁惧
@@ -475,8 +474,8 @@
                         LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 2)
                         LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 2)
                 WHERE d.del_flag = 0 AND d.area IS NOT NULL
-                GROUP BY d.area, d.dept_id
-                ORDER BY d.dept_id
+                GROUP BY d.area, d.dept_id, d.area_code
+                ORDER BY d.area_code
             ) b ON a.area = b.area
         INNER JOIN
             -- 瑙嗛璁惧
@@ -493,8 +492,8 @@
                         LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 3)
                         LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 3)
                 WHERE d.del_flag = 0 AND d.area IS NOT NULL
-                GROUP BY d.area, d.dept_id
-                ORDER BY d.dept_id
+                GROUP BY d.area, d.area_code, d.dept_id
+                ORDER BY d.area_code
             ) c ON a.area = c.area
     </select>
 

--
Gitblit v1.8.0