diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 7b510c6..12e2736 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -54,7 +54,7 @@ @Override public Integer insertAlarmRecord(AlarmRecords alarmRec) { - this.baseMapper.cancelAlarmByNewRecord(alarmRec.getDevcode(), alarmRec.getAlarmType()); +// this.baseMapper.cancelAlarmByNewRecord(alarmRec.getDevcode(), alarmRec.getAlarmType()); return this.baseMapper.insert(alarmRec); } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 7b510c6..12e2736 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -54,7 +54,7 @@ @Override public Integer insertAlarmRecord(AlarmRecords alarmRec) { - this.baseMapper.cancelAlarmByNewRecord(alarmRec.getDevcode(), alarmRec.getAlarmType()); +// this.baseMapper.cancelAlarmByNewRecord(alarmRec.getDevcode(), alarmRec.getAlarmType()); return this.baseMapper.insert(alarmRec); } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java index 5918107..5975d1b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java @@ -15,12 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; @Controller @RequestMapping(value = "/waterStatistic") @@ -34,10 +33,12 @@ @Autowired private IDeviceTypeService iDeviceTypeService; - + private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + private SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); /** * 查询一级分区各区用水量 + * 不用了 * * @return */ @@ -79,6 +80,7 @@ /** * 查询一级分区7日用水量 + * 不用了 * * @return */ @@ -141,6 +143,7 @@ /** * 查询二级分区7日用水量 + * 二级分区用水走势图 * * @return */ @@ -271,6 +274,146 @@ return ResponseData.success(mapList); } + /** + * 查询二级分区用水量对比 + * + * @return + */ + @RequestMapping(value = "/waterCompare") + @ResponseBody + public Object waterCompareSecond(@RequestParam String areaId, @RequestParam String type, String startTime, String endTime) { + List areaList = iAreaService.selectList(null); + List areaLevel2List = new ArrayList<>(); + + areaList.forEach(area -> { + //根据一级区域过滤二级区域 + if ("3".equals(area.getLevel().toString()) &&area.getPids()!=null&& area.getPids().contains("[" + areaId + "]")) { + areaLevel2List.add(area); + } + }); + + Calendar now = Calendar.getInstance(); + Calendar comp = Calendar.getInstance(); + String startTimeThis = ""; // 对比当期起始日期 + String endTimeThis = ""; // 对比当期结束日期 + String startTimeLast = ""; // 对比上期起始日期 + String endTimeLast = ""; // 对比上期结束日期 + + String year = sdf.format(now.getTime()).substring(0, 4); + + if (type.equalsIgnoreCase("year")) { + // 本期起止日期 + startTimeThis = year + "-01-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + // 上期起止日期 + comp.add(Calendar.YEAR, -1); + String lastYear = sdf.format(comp.getTime()).substring(0, 4); + startTimeLast = lastYear + "-01-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + } else if (type.equalsIgnoreCase("season")) { + // 本期起止日期 + switch (now.get(Calendar.MONTH)) { + // 一季度 + case Calendar.JANUARY: + case Calendar.FEBRUARY: + case Calendar.MARCH: + { + startTimeThis = startTimeThis = year + "-01-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = sdf.format(comp.getTime()).substring(0, 4) + "-10-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 二季度 + case Calendar.APRIL: + case Calendar.MAY: + case Calendar.JUNE: + { + startTimeThis = startTimeThis = year + "-04-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-01-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 三季度 + case Calendar.JULY: + case Calendar.AUGUST: + case Calendar.SEPTEMBER: + { + startTimeThis = startTimeThis = year + "-07-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-04-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 四季度 + case Calendar.OCTOBER: + case Calendar.NOVEMBER: + case Calendar.DECEMBER: + { + startTimeThis = startTimeThis = year + "-10-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-07-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + } + } else if (type.equalsIgnoreCase("other") || type.equalsIgnoreCase("day") || + type.equalsIgnoreCase("week") || type.equalsIgnoreCase("month")) { + // 本期起止日期 + startTimeThis = startTime; + endTimeThis = endTime; + try { + now.setTime(sdfD.parse(endTime)); + comp.setTime(sdfD.parse(startTime)); + int delta = (int) ((comp.getTimeInMillis() - now.getTimeInMillis()) / (3600*24*1000)); + + now.add(Calendar.DATE, delta - 1); + comp.add(Calendar.DATE, delta - 1); + } catch (Exception ex) { + ex.printStackTrace(); + } + startTimeLast = sdfD.format(comp.getTime()); + endTimeLast = sdfD.format(now.getTime()); + } + + List> resultMapList = new ArrayList<>(); + // 寻找生产区内的所有二级分区 + for (Area area2 : areaLevel2List) { + List childIdsList = new ArrayList<>(); + Map areaSecondMap = new HashMap<>(); + areaSecondMap.put("areaId", area2.getId()); + areaSecondMap.put("areaName", area2.getAreaName()); + areaSecondMap.put("nowTime", startTimeThis + "~" + endTimeThis); + areaSecondMap.put("lastTime", startTimeLast + "~" + endTimeLast); + + for (Area area : areaList) { + if (area.getPids() != null && area.getPids().contains("[" + area2.getId() + "]")) { + childIdsList.add(area.getId()); + } + } + if (ToolUtil.isNotEmpty(childIdsList)) { + Long countThis = statisticsService.countByFirstArea(startTimeThis, endTimeThis, StringUtils.join(childIdsList.toArray(), ",")); + areaSecondMap.put("now", countThis); + + Long countLast = statisticsService.countByFirstArea(startTimeLast, endTimeLast, StringUtils.join(childIdsList.toArray(), ",")); + areaSecondMap.put("last", countLast); + } + resultMapList.add(areaSecondMap); + } + + return ResponseData.success(resultMapList); + } + /** * 查询二级分区水表告警 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 7b510c6..12e2736 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -54,7 +54,7 @@ @Override public Integer insertAlarmRecord(AlarmRecords alarmRec) { - this.baseMapper.cancelAlarmByNewRecord(alarmRec.getDevcode(), alarmRec.getAlarmType()); +// this.baseMapper.cancelAlarmByNewRecord(alarmRec.getDevcode(), alarmRec.getAlarmType()); return this.baseMapper.insert(alarmRec); } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java index 5918107..5975d1b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java @@ -15,12 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; @Controller @RequestMapping(value = "/waterStatistic") @@ -34,10 +33,12 @@ @Autowired private IDeviceTypeService iDeviceTypeService; - + private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + private SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); /** * 查询一级分区各区用水量 + * 不用了 * * @return */ @@ -79,6 +80,7 @@ /** * 查询一级分区7日用水量 + * 不用了 * * @return */ @@ -141,6 +143,7 @@ /** * 查询二级分区7日用水量 + * 二级分区用水走势图 * * @return */ @@ -271,6 +274,146 @@ return ResponseData.success(mapList); } + /** + * 查询二级分区用水量对比 + * + * @return + */ + @RequestMapping(value = "/waterCompare") + @ResponseBody + public Object waterCompareSecond(@RequestParam String areaId, @RequestParam String type, String startTime, String endTime) { + List areaList = iAreaService.selectList(null); + List areaLevel2List = new ArrayList<>(); + + areaList.forEach(area -> { + //根据一级区域过滤二级区域 + if ("3".equals(area.getLevel().toString()) &&area.getPids()!=null&& area.getPids().contains("[" + areaId + "]")) { + areaLevel2List.add(area); + } + }); + + Calendar now = Calendar.getInstance(); + Calendar comp = Calendar.getInstance(); + String startTimeThis = ""; // 对比当期起始日期 + String endTimeThis = ""; // 对比当期结束日期 + String startTimeLast = ""; // 对比上期起始日期 + String endTimeLast = ""; // 对比上期结束日期 + + String year = sdf.format(now.getTime()).substring(0, 4); + + if (type.equalsIgnoreCase("year")) { + // 本期起止日期 + startTimeThis = year + "-01-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + // 上期起止日期 + comp.add(Calendar.YEAR, -1); + String lastYear = sdf.format(comp.getTime()).substring(0, 4); + startTimeLast = lastYear + "-01-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + } else if (type.equalsIgnoreCase("season")) { + // 本期起止日期 + switch (now.get(Calendar.MONTH)) { + // 一季度 + case Calendar.JANUARY: + case Calendar.FEBRUARY: + case Calendar.MARCH: + { + startTimeThis = startTimeThis = year + "-01-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = sdf.format(comp.getTime()).substring(0, 4) + "-10-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 二季度 + case Calendar.APRIL: + case Calendar.MAY: + case Calendar.JUNE: + { + startTimeThis = startTimeThis = year + "-04-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-01-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 三季度 + case Calendar.JULY: + case Calendar.AUGUST: + case Calendar.SEPTEMBER: + { + startTimeThis = startTimeThis = year + "-07-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-04-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 四季度 + case Calendar.OCTOBER: + case Calendar.NOVEMBER: + case Calendar.DECEMBER: + { + startTimeThis = startTimeThis = year + "-10-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-07-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + } + } else if (type.equalsIgnoreCase("other") || type.equalsIgnoreCase("day") || + type.equalsIgnoreCase("week") || type.equalsIgnoreCase("month")) { + // 本期起止日期 + startTimeThis = startTime; + endTimeThis = endTime; + try { + now.setTime(sdfD.parse(endTime)); + comp.setTime(sdfD.parse(startTime)); + int delta = (int) ((comp.getTimeInMillis() - now.getTimeInMillis()) / (3600*24*1000)); + + now.add(Calendar.DATE, delta - 1); + comp.add(Calendar.DATE, delta - 1); + } catch (Exception ex) { + ex.printStackTrace(); + } + startTimeLast = sdfD.format(comp.getTime()); + endTimeLast = sdfD.format(now.getTime()); + } + + List> resultMapList = new ArrayList<>(); + // 寻找生产区内的所有二级分区 + for (Area area2 : areaLevel2List) { + List childIdsList = new ArrayList<>(); + Map areaSecondMap = new HashMap<>(); + areaSecondMap.put("areaId", area2.getId()); + areaSecondMap.put("areaName", area2.getAreaName()); + areaSecondMap.put("nowTime", startTimeThis + "~" + endTimeThis); + areaSecondMap.put("lastTime", startTimeLast + "~" + endTimeLast); + + for (Area area : areaList) { + if (area.getPids() != null && area.getPids().contains("[" + area2.getId() + "]")) { + childIdsList.add(area.getId()); + } + } + if (ToolUtil.isNotEmpty(childIdsList)) { + Long countThis = statisticsService.countByFirstArea(startTimeThis, endTimeThis, StringUtils.join(childIdsList.toArray(), ",")); + areaSecondMap.put("now", countThis); + + Long countLast = statisticsService.countByFirstArea(startTimeLast, endTimeLast, StringUtils.join(childIdsList.toArray(), ",")); + areaSecondMap.put("last", countLast); + } + resultMapList.add(areaSecondMap); + } + + return ResponseData.success(resultMapList); + } + /** * 查询二级分区水表告警 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 7e30d95..310b3c2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -17,5 +17,6 @@ List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); + Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 7b510c6..12e2736 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -54,7 +54,7 @@ @Override public Integer insertAlarmRecord(AlarmRecords alarmRec) { - this.baseMapper.cancelAlarmByNewRecord(alarmRec.getDevcode(), alarmRec.getAlarmType()); +// this.baseMapper.cancelAlarmByNewRecord(alarmRec.getDevcode(), alarmRec.getAlarmType()); return this.baseMapper.insert(alarmRec); } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java index 5918107..5975d1b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/WaterStaticsController.java @@ -15,12 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; @Controller @RequestMapping(value = "/waterStatistic") @@ -34,10 +33,12 @@ @Autowired private IDeviceTypeService iDeviceTypeService; - + private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + private SimpleDateFormat sdfD = new SimpleDateFormat("yyyy-MM-dd"); /** * 查询一级分区各区用水量 + * 不用了 * * @return */ @@ -79,6 +80,7 @@ /** * 查询一级分区7日用水量 + * 不用了 * * @return */ @@ -141,6 +143,7 @@ /** * 查询二级分区7日用水量 + * 二级分区用水走势图 * * @return */ @@ -271,6 +274,146 @@ return ResponseData.success(mapList); } + /** + * 查询二级分区用水量对比 + * + * @return + */ + @RequestMapping(value = "/waterCompare") + @ResponseBody + public Object waterCompareSecond(@RequestParam String areaId, @RequestParam String type, String startTime, String endTime) { + List areaList = iAreaService.selectList(null); + List areaLevel2List = new ArrayList<>(); + + areaList.forEach(area -> { + //根据一级区域过滤二级区域 + if ("3".equals(area.getLevel().toString()) &&area.getPids()!=null&& area.getPids().contains("[" + areaId + "]")) { + areaLevel2List.add(area); + } + }); + + Calendar now = Calendar.getInstance(); + Calendar comp = Calendar.getInstance(); + String startTimeThis = ""; // 对比当期起始日期 + String endTimeThis = ""; // 对比当期结束日期 + String startTimeLast = ""; // 对比上期起始日期 + String endTimeLast = ""; // 对比上期结束日期 + + String year = sdf.format(now.getTime()).substring(0, 4); + + if (type.equalsIgnoreCase("year")) { + // 本期起止日期 + startTimeThis = year + "-01-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + // 上期起止日期 + comp.add(Calendar.YEAR, -1); + String lastYear = sdf.format(comp.getTime()).substring(0, 4); + startTimeLast = lastYear + "-01-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + } else if (type.equalsIgnoreCase("season")) { + // 本期起止日期 + switch (now.get(Calendar.MONTH)) { + // 一季度 + case Calendar.JANUARY: + case Calendar.FEBRUARY: + case Calendar.MARCH: + { + startTimeThis = startTimeThis = year + "-01-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = sdf.format(comp.getTime()).substring(0, 4) + "-10-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 二季度 + case Calendar.APRIL: + case Calendar.MAY: + case Calendar.JUNE: + { + startTimeThis = startTimeThis = year + "-04-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-01-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 三季度 + case Calendar.JULY: + case Calendar.AUGUST: + case Calendar.SEPTEMBER: + { + startTimeThis = startTimeThis = year + "-07-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-04-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + // 四季度 + case Calendar.OCTOBER: + case Calendar.NOVEMBER: + case Calendar.DECEMBER: + { + startTimeThis = startTimeThis = year + "-10-01"; + endTimeThis = sdf.format(now.getTime()).substring(0, 10); + + comp.add(Calendar.MONTH, -3); + startTimeLast = year + "-07-01"; + endTimeLast = sdf.format(comp.getTime()).substring(0, 10); + break; + } + } + } else if (type.equalsIgnoreCase("other") || type.equalsIgnoreCase("day") || + type.equalsIgnoreCase("week") || type.equalsIgnoreCase("month")) { + // 本期起止日期 + startTimeThis = startTime; + endTimeThis = endTime; + try { + now.setTime(sdfD.parse(endTime)); + comp.setTime(sdfD.parse(startTime)); + int delta = (int) ((comp.getTimeInMillis() - now.getTimeInMillis()) / (3600*24*1000)); + + now.add(Calendar.DATE, delta - 1); + comp.add(Calendar.DATE, delta - 1); + } catch (Exception ex) { + ex.printStackTrace(); + } + startTimeLast = sdfD.format(comp.getTime()); + endTimeLast = sdfD.format(now.getTime()); + } + + List> resultMapList = new ArrayList<>(); + // 寻找生产区内的所有二级分区 + for (Area area2 : areaLevel2List) { + List childIdsList = new ArrayList<>(); + Map areaSecondMap = new HashMap<>(); + areaSecondMap.put("areaId", area2.getId()); + areaSecondMap.put("areaName", area2.getAreaName()); + areaSecondMap.put("nowTime", startTimeThis + "~" + endTimeThis); + areaSecondMap.put("lastTime", startTimeLast + "~" + endTimeLast); + + for (Area area : areaList) { + if (area.getPids() != null && area.getPids().contains("[" + area2.getId() + "]")) { + childIdsList.add(area.getId()); + } + } + if (ToolUtil.isNotEmpty(childIdsList)) { + Long countThis = statisticsService.countByFirstArea(startTimeThis, endTimeThis, StringUtils.join(childIdsList.toArray(), ",")); + areaSecondMap.put("now", countThis); + + Long countLast = statisticsService.countByFirstArea(startTimeLast, endTimeLast, StringUtils.join(childIdsList.toArray(), ",")); + areaSecondMap.put("last", countLast); + } + resultMapList.add(areaSecondMap); + } + + return ResponseData.success(resultMapList); + } + /** * 查询二级分区水表告警 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java index 7e30d95..310b3c2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/StatisticMapper.java @@ -17,5 +17,6 @@ List> countByDayFirst(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); List> alarmCountByDay(@Param("startTime")String startTime,@Param("endTime")String endTime); Map alarmBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); + Map warningBySecondArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); Long countByFirstArea(@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("areaIds")String areaIds); } 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 0869697..ec384b1 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 @@ -152,13 +152,32 @@ + + + + + +