diff --git a/src/main/java/com/whdc/controller/QXWarnController.java b/src/main/java/com/whdc/controller/QXWarnController.java index a0b4feb..c6b57c8 100644 --- a/src/main/java/com/whdc/controller/QXWarnController.java +++ b/src/main/java/com/whdc/controller/QXWarnController.java @@ -356,50 +356,71 @@ public class QXWarnController { * @param dto * @return */ - @ApiOperation(value = "历史7天暴雨预警叫应信息统计") + @ApiOperation(value = "历史n天暴雨预警叫应信息统计") @PostMapping("/getFBStats") @Cacheable(value = THIS_REDIS_KEY, key = "#root.method.name+':'+#dto.toString()") public ResultJson getFeedBackStats(@RequestBody GroupWarningDto dto) { - //当前时间 - Calendar startCalendarDay = Calendar.getInstance(); - int year = startCalendarDay.get(Calendar.YEAR); - int month = startCalendarDay.get(Calendar.MONTH) + 1; //第一个月从0开始,所以得到月份+1 - int day = startCalendarDay.get(Calendar.DAY_OF_MONTH); - int hour = startCalendarDay.get(Calendar.HOUR_OF_DAY); - int minute = startCalendarDay.get(Calendar.MINUTE); - int second = startCalendarDay.get(Calendar.SECOND); - String nowTime = zerofill(year)+"-"+zerofill(month)+"-"+zerofill(day)+" "+ - zerofill(hour)+":"+zerofill(minute)+":"+zerofill(second); - System.out.println(nowTime); - ArrayList filter = Lists.newArrayList(); - FBStatsVO fbStatsVO = null; - //当前时间往前7天——本周预警统计 - Calendar weekStartDay = Calendar.getInstance(); - weekStartDay.add(Calendar.DAY_OF_YEAR, 37*(-1)); - String weekStartTime = CalendarDayStartToString(weekStartDay); - System.out.println(weekStartTime); - ApiDto weekDto = new ApiDto(); - weekDto.setStartTime(weekStartTime); - weekDto.setEndTime(nowTime); - weekDto.setPageNumber(dto.getPageNumber()); - weekDto.setPageSize(99999); - weekDto.setFilter(filter); - String weekstr = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(weekDto)); - JSONObject weekjson = JSON.parseObject(weekstr); - System.out.println("weekstr:"+weekjson); - if (weekjson != null && weekjson.getInteger("code") == HttpStatus.SC_OK) { - List data = weekjson.getJSONArray("data").toJavaList(WarningData.class); + String startTime = dto.getStartTime(); + String endTime = dto.getEndTime(); + if(Objects.isNull(startTime)&&Objects.isNull(endTime)){ + //当前时间 + Calendar startCalendarDay = Calendar.getInstance(); + int year = startCalendarDay.get(Calendar.YEAR); + int month = startCalendarDay.get(Calendar.MONTH) + 1; //第一个月从0开始,所以得到月份+1 + int day = startCalendarDay.get(Calendar.DAY_OF_MONTH); + int hour = startCalendarDay.get(Calendar.HOUR_OF_DAY); + int minute = startCalendarDay.get(Calendar.MINUTE); + int second = startCalendarDay.get(Calendar.SECOND); + String nowTime = zerofill(year)+"-"+zerofill(month)+"-"+zerofill(day)+" "+ + zerofill(hour)+":"+zerofill(minute)+":"+zerofill(second); + System.out.println(nowTime); + ArrayList filter = Lists.newArrayList(); + FBStatsVO fbStatsVO = null; + //当前时间往前7天——本周预警统计 + Calendar weekStartDay = Calendar.getInstance(); + weekStartDay.add(Calendar.DAY_OF_YEAR, 37*(-1)); + String weekStartTime = CalendarDayStartToString(weekStartDay); + System.out.println(weekStartTime); + ApiDto weekDto = new ApiDto(); + weekDto.setStartTime(weekStartTime); + weekDto.setEndTime(nowTime); + weekDto.setPageNumber(dto.getPageNumber()); + weekDto.setPageSize(99999); + weekDto.setFilter(filter); + String weekstr = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(weekDto)); + JSONObject weekjson = JSON.parseObject(weekstr); + System.out.println("weekstr:"+weekjson); + if (weekjson != null && weekjson.getInteger("code") == HttpStatus.SC_OK) { + List data = weekjson.getJSONArray("data").toJavaList(WarningData.class); // return ResultJson.ok(getCount(data, publishUnit, warnSignalLevel, warnSignalType)); // List listWarnStats = getCount(data, publishUnit, warnSignalLevel, warnSignalType); // System.out.println("周统计:"+listWarnStats.size()); // for(WarningHistoryListVo warnList:listWarnStats){ // System.out.println("周统计-:"+warnList.getSumCount()+"个"); // } - fbStatsVO = getCount3(data); + fbStatsVO = getCount3(data); // System.out.println("周统计:"+weekWarnNum +"个"); - + return ResultJson.ok(fbStatsVO); + } + }else{ + ApiDto searchDto = new ApiDto(); + ArrayList filter = Lists.newArrayList(); + searchDto.setStartTime(startTime); + searchDto.setEndTime(endTime); + searchDto.setPageNumber(dto.getPageNumber()); + searchDto.setPageSize(99999); + searchDto.setFilter(filter); + String searchstr = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(searchDto)); + JSONObject searchjson = JSON.parseObject(searchstr); + System.out.println("searchjson:"+searchjson); + FBStatsVO fbStatsVO = null; + if (searchjson != null && searchjson.getInteger("code") == HttpStatus.SC_OK) { + List data = searchjson.getJSONArray("data").toJavaList(WarningData.class); + fbStatsVO = getCount3(data); + return ResultJson.ok(fbStatsVO); + } } - return ResultJson.ok(fbStatsVO); + return null; } private FBStatsVO getCount3(List data){