diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index 8b1ca4e..3ef13f6 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -276,7 +276,7 @@ - GROUP BY ALARM_CONTENT,deviceType + GROUP BY ALARM_CONTENT,bdt.ID ORDER BY "alarmCount" DESC diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index 8b1ca4e..3ef13f6 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -276,7 +276,7 @@ - GROUP BY ALARM_CONTENT,deviceType + GROUP BY ALARM_CONTENT,bdt.ID ORDER BY "alarmCount" DESC diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java index 29408cb..d990e8e 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -11,6 +11,8 @@ List> countDeviceByType(); - List> countAlarmType(); + List> getTypeName(); + + List> countAlarmType(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index 8b1ca4e..3ef13f6 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -276,7 +276,7 @@ - GROUP BY ALARM_CONTENT,deviceType + GROUP BY ALARM_CONTENT,bdt.ID ORDER BY "alarmCount" DESC diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java index 29408cb..d990e8e 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -11,6 +11,8 @@ List> countDeviceByType(); - List> countAlarmType(); + List> getTypeName(); + + List> countAlarmType(); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml index f6268d3..c5f5cca 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml @@ -44,6 +44,10 @@ GROUP BY bd.DEVICE_TYPE + diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java index 29408cb..d990e8e 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -11,6 +11,8 @@ List> countDeviceByType(); - List> countAlarmType(); + List> getTypeName(); + + List> countAlarmType(); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml index f6268d3..c5f5cca 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml @@ -44,6 +44,10 @@ GROUP BY bd.DEVICE_TYPE + SELECT COUNT(1) AS "recodCounts" FROM ${tableName} tn - JOIN bus_device bd + JOIN bus_device bd ON bd.DEVCODE=tn.DEVCODE JOIN bus_device_well bdw ON bd.ID=bdw.DEVICE_ID JOIN bus_well_info bwi ON bwi.ID=bdw.WELL_ID WHERE 1=1 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml index 8b1ca4e..3ef13f6 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/StatisticMapper.xml @@ -276,7 +276,7 @@ - GROUP BY ALARM_CONTENT,deviceType + GROUP BY ALARM_CONTENT,bdt.ID ORDER BY "alarmCount" DESC diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java index 29408cb..d990e8e 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/ScreenDataServiceMapper.java @@ -11,6 +11,8 @@ List> countDeviceByType(); - List> countAlarmType(); + List> getTypeName(); + + List> countAlarmType(); } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml index f6268d3..c5f5cca 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/mapping/ScreenDataServiceMapper.xml @@ -44,6 +44,10 @@ GROUP BY bd.DEVICE_TYPE + SELECT COUNT(1) AS "recodCounts" FROM ${tableName} tn - JOIN bus_device bd + JOIN bus_device bd ON bd.DEVCODE=tn.DEVCODE JOIN bus_device_well bdw ON bd.ID=bdw.DEVICE_ID JOIN bus_well_info bwi ON bwi.ID=bdw.WELL_ID WHERE 1=1 diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java index 34ce478..5716e79 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/ScreenDataServiceImpl.java @@ -1,9 +1,7 @@ package com.casic.missiles.modular.system.service.impl; import com.casic.missiles.core.application.context.AbstractPermissionContext; -import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dao.ScreenDataServiceMapper; -import com.casic.missiles.modular.system.enums.DeviceDataTableEnum; import com.casic.missiles.modular.system.service.ScreenDataService; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DataAccessException; @@ -11,6 +9,7 @@ import java.text.DecimalFormat; import java.util.*; +import java.util.stream.Collectors; @Slf4j @Service @@ -51,15 +50,15 @@ private List> initInstalledDevice() { List> installedDeviceList = new ArrayList<>(); + List> typeNameList = screenDataServiceMapper.getTypeName(); + Map typeNameMap = typeNameList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("id")), e -> String.valueOf(e.get("typeName")))); List> deviceCountList = screenDataServiceMapper.countDeviceByType(); -// Map deviceCountMap = deviceCountList.stream().collect( -// Collectors.toMap(e -> String.valueOf(e.get("deviceType")), e -> String.valueOf(e.get("count")))); deviceCountList.forEach( deviceCountMap -> { Map installedDeviceMap = new HashMap<>(); installedDeviceMap.put("count", deviceCountMap.get("count")); - installedDeviceMap.put("typeName", DeviceDataTableEnum.DEVICE_TYPE_TABLE.getTableNameMap(). - get(Integer.valueOf(String.valueOf(deviceCountMap.get("deviceType")))).getTypeName()); + installedDeviceMap.put("typeName", typeNameMap.get(String.valueOf(deviceCountMap.get("deviceType")))); installedDeviceList.add(installedDeviceMap); } ); @@ -68,29 +67,20 @@ private List> countTypeAlarm() { List> rateDeviceList = new ArrayList<>(); - List> deviceCountList = screenDataServiceMapper.countDeviceByType(); + List> typeNameList = screenDataServiceMapper.getTypeName(); + Map typeNameMap = typeNameList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("id")), e -> String.valueOf(e.get("typeName")))); + List> deviceCountList = screenDataServiceMapper.countAlarmType(); Integer totalAlarm = 0; for (Map deviceCount : deviceCountList) { totalAlarm += Integer.valueOf(deviceCount.get("count").toString()); } -// Map deviceCountMap = deviceCountList.stream().collect( -// Collectors.toMap(e -> String.valueOf(e.get("deviceType")), e -> String.valueOf(e.get("count")))); -// deviceCountList.forEach( for (Map deviceCountMap : deviceCountList) { Map rateDeviceMap = new HashMap<>(); - rateDeviceMap.put("rate", totalAlarm==0?0:df.format(Double.valueOf(deviceCountMap.get("count") == null ? "0" : deviceCountMap.get("count").toString()) / totalAlarm)); - rateDeviceMap.put("typeName", DeviceDataTableEnum.DEVICE_TYPE_TABLE.getTableNameMap(). - get(Integer.valueOf(deviceCountMap.get("deviceType").toString())).getTypeName()); + rateDeviceMap.put("rate", totalAlarm == 0 ? 0 : df.format(Double.valueOf(deviceCountMap.get("count") == null ? "0" : deviceCountMap.get("count").toString()) / totalAlarm)); + rateDeviceMap.put("typeName", typeNameMap.get(String.valueOf(deviceCountMap.get("deviceType")))); rateDeviceList.add(rateDeviceMap); } - ; -// for (Object deviceType : JSON.parseObject(deviceTypes, List.class)) { -// Map rateDeviceMap = new HashMap<>(); -// rateDeviceMap.put("rate", df.format(Double.valueOf(deviceCountMap.get(deviceType) == null ? "0" : deviceCountMap.get(deviceType)) / totalAlarm)); -// rateDeviceMap.put("typeName", DeviceDataTableEnum.DEVICE_TYPE_TABLE.getTableNameMap(). -// get(Integer.valueOf(deviceType.toString())).getTypeName()); -// rateDeviceList.add(rateDeviceMap); -// } return rateDeviceList; }