/getFBStats:允许时间段查询。

master
ForwithyNew 2024-06-11 14:50:42 +08:00
parent 3e2a38397d
commit 4146d1fc2a
1 changed files with 54 additions and 33 deletions

View File

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