Commit a3af098c authored by zhangsen's avatar zhangsen

光伏统计页面修改

parent 12ed7edb
......@@ -477,30 +477,36 @@ public class IdxBizPvHealthIndexController extends BaseController {
@ApiOperation(httpMethod = "GET",value = "预警监测设备级统计 TD", notes = "预警监测设备级统计 TD")
@GetMapping(value = "/selectPointNum")
public ResponseModel<List<Map<String,Object>>> selectPointNum(@RequestParam(required = false) String STATION,@RequestParam(required = false) String SUBARRAY,@RequestParam(required = false) String EQUIPMENTNAME) {
List<PvWarningRecord> idxBizPvWarningRecordList = pvWaringRecordMapper.warningData(STATION, SUBARRAY, EQUIPMENTNAME);
int total = idxBizPvHealthIndexServiceImpl.pointNum(STATION, SUBARRAY, EQUIPMENTNAME);
Map<String,Object> map =new HashMap<>();
Map<String,Object> map1 =new HashMap<>();
Map<String,Object> warningNum =new HashMap<>();
Map<String,Object> pointNum =new HashMap<>();
map1.put("name","危险");
map1.put("value",idxBizPvWarningRecordList.stream().filter(e->e.getWarningName().equals("危险")).count());
map.put("name","警告");
map.put("value",idxBizPvWarningRecordList.stream().filter(e->e.getWarningName().equals("警告")).count());
warningNum.put("name","注意");
warningNum.put("value",idxBizPvWarningRecordList.stream().filter(e->e.getWarningName().equals("注意")).count());
pointNum.put("name","安全");
pointNum.put("value", Math.max((total - idxBizPvWarningRecordList.size()), 0));
List<Map<String, Object>> maps = pvHealthIndexDayMapper.selectEquipStatusByEquipment( "测点", STATION,EQUIPMENTNAME, SUBARRAY);
if (maps.size() == 4){
for (Map<String, Object> map : maps) {
map.put("name",map.get("healthlevel"));
}
} else {
List<String> levels = new ArrayList<>();
levels.add("安全");
levels.add("注意");
levels.add("警告");
levels.add("危险");
List<Map<String,Object>> list = new ArrayList<>();
list.add(pointNum);
list.add(warningNum);
list.add(map);
list.add(map1);
for (Map<String, Object> map : maps) {
map.put("name",map.get("healthlevel"));
String healthlevel = map.get("healthlevel").toString();
levels.remove(healthlevel);
}
return ResponseHelper.buildResponse(list);
if (levels.size()>0){
for (String s : levels) {
Map<String, Object> map = new HashMap<>();
map.put("name",s);
map.put("value",0);
map.put("sort",HealthLevelSortEnum.getCode(s));
maps.add(map);
}
maps = maps.stream().sorted(Comparator.comparingLong(e -> Long.valueOf(e.get("sort").toString()))).collect(Collectors.toList());
}
}
return ResponseHelper.buildResponse(maps);
}
......
......@@ -62,4 +62,14 @@ public interface PvHealthIndexDayMapper extends BaseMapper<PvHealthIndexDay> {
"</script>")
List<Map<String,Object>> selectEquipStatusByStationPv(@Param("area")String area, @Param("analysisObjType")String analysisObjType, @Param("station")String station);
@Select("<script>"+
"SELECT station, health_level as healthlevel,( CASE health_level WHEN '危险' THEN 4 WHEN '警告' THEN 3 WHEN '注意' THEN 2 ELSE 1 END ) AS sort, count( 1 ) AS `value` FROM analysis_data.pv_health_index_day WHERE analysis_obj_type = #{analysisObjType} AND ts >= TODAY()-8h" +
"<if test='station!= null'>AND station = #{station} </if>" +
"<if test='equipmentName!= null'>AND equipment_name = #{equipmentName} </if>" +
"<if test='subarray!= null'>AND subarray = #{subarray} </if>" +
" GROUP BY station,health_level,equipment_name order by sort"+
"</script>")
List<Map<String,Object>> selectEquipStatusByEquipment(@Param("analysisObjType")String analysisObjType,@Param("station")String station,@Param("equipmentName")String equipmentName, @Param("subarray") String subarray);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment