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