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