湖北防汛抗旱调度系统:预警信息和叫应信息接口完成。
parent
1329a6e096
commit
5b151edd03
|
|
@ -0,0 +1,602 @@
|
||||||
|
package com.whdc.controller;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
|
import com.whdc.model.dto.ApiDto;
|
||||||
|
import com.whdc.model.dto.GroupWarningDto;
|
||||||
|
import com.whdc.model.dto.WarnDppleDto;
|
||||||
|
import com.whdc.model.entity.AddressBook;
|
||||||
|
import com.whdc.model.entity.WarnMsgFB;
|
||||||
|
import com.whdc.model.vo.*;
|
||||||
|
import com.whdc.service.IAddressBookService;
|
||||||
|
import com.whdc.service.IAdinfoService;
|
||||||
|
import com.whdc.service.IWarnMsgFBService;
|
||||||
|
import com.whdc.utils.HttpUtil;
|
||||||
|
import com.whdc.utils.ResultJson;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.commons.compress.utils.Lists;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.http.HttpStatus;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static com.whdc.controller.WarningController.THIS_REDIS_KEY;
|
||||||
|
|
||||||
|
//湖北省防汛抗旱调度系统-气象预警
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "预警 - Controller")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/qxwarning")
|
||||||
|
public class QXWarnController {
|
||||||
|
@Autowired
|
||||||
|
private IAddressBookService addressBookService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IAdinfoService adinfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IWarnMsgFBService warnMsgFBService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 气象预警-正在生效的预警信息
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "气象预警-正在生效的预警信息")
|
||||||
|
@PostMapping("/getGroupWarning")
|
||||||
|
@Cacheable(value = THIS_REDIS_KEY, key = "#root.method.name+':'+#dto.toString()")
|
||||||
|
public ResultJson<List<QXWarningVO>> getGroupWarning(
|
||||||
|
@RequestBody GroupWarningDto dto) {
|
||||||
|
|
||||||
|
ApiDto apiDto = new ApiDto();
|
||||||
|
// apiDto.setStartTime(dto.getStartTime());//!!!!!!需要注释掉!!!!!!
|
||||||
|
// apiDto.setEndTime(dto.getEndTime());//!!!!!!需要注释掉!!!!!!
|
||||||
|
apiDto.setPageNumber(dto.getPageNumber());
|
||||||
|
apiDto.setPageSize(dto.getPageSize());
|
||||||
|
ArrayList<ApiDto.Filter> filter = Lists.newArrayList();
|
||||||
|
String publishUnit = dto.getPublishUnit();
|
||||||
|
String warnSignalLevel = dto.getWarnSignalLevel();
|
||||||
|
String warnSignalType = dto.getWarnSignalType();
|
||||||
|
apiDto.setFilter(filter);
|
||||||
|
System.out.println(apiDto);
|
||||||
|
String str = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
||||||
|
// String str = HttpUtil.sendPost("http://127.0.0.1:20000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
||||||
|
JSONObject json = JSON.parseObject(str);
|
||||||
|
if (json != null && json.getInteger("code") == HttpStatus.SC_OK) {
|
||||||
|
List<WarningData> data = json.getJSONArray("data").toJavaList(WarningData.class);
|
||||||
|
return ResultJson.ok(getList(data, publishUnit, warnSignalLevel, warnSignalType));
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultJson.ok(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取联系人
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "获取预警信息的防御责任人")
|
||||||
|
@PostMapping("/getDpple")
|
||||||
|
@Cacheable(value = THIS_REDIS_KEY, key = "#root.method.name+':'+#dto.toString()")
|
||||||
|
public ResultJson<List<WarnDppleVO>> getDpple(
|
||||||
|
@RequestBody WarnDppleDto dto) {
|
||||||
|
List<WarnDppleVO> warnDpples = new ArrayList<>();
|
||||||
|
String[] cnnms = dto.getCnnm().split(",");
|
||||||
|
for(int i=0;i<cnnms.length;i++){
|
||||||
|
String cnnm = cnnms[i];
|
||||||
|
String cnnm2 = cnnm.replace("县","").replace("区","");
|
||||||
|
String adcd = adinfoService.getAdcdByAdnm2(cnnm2);//根据区县的名字找到对应的adcd
|
||||||
|
System.out.println(adcd);
|
||||||
|
if (StringUtils.isNotBlank(adcd)){
|
||||||
|
List<AddressBook> dpples = addressBookService.getListByAdnm(adcd);
|
||||||
|
System.out.println("dpple个数:"+dpples.size());
|
||||||
|
for(AddressBook dpple:dpples){
|
||||||
|
WarnDppleVO warndpple = new WarnDppleVO();
|
||||||
|
warndpple.setCtnm(dto.getCtnm());
|
||||||
|
warndpple.setCnnm(cnnm);
|
||||||
|
warndpple.setName(dpple.getName());
|
||||||
|
warndpple.setPosition(dpple.getPosition());
|
||||||
|
warndpple.setPhone(dpple.getPhone());
|
||||||
|
warnDpples.add(warndpple);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
log.info("当前行政区划不存在: " + dto.getCnnm());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ResultJson.ok(warnDpples);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 历史气象预警统计
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "历史气象预警统计")
|
||||||
|
@PostMapping("/getHistoryStats")
|
||||||
|
@Cacheable(value = THIS_REDIS_KEY, key = "#root.method.name+':'+#dto.toString()")
|
||||||
|
public ResultJson<WarnStatsVO> getHistoryStats(@RequestBody GroupWarningDto dto) {
|
||||||
|
WarnStatsVO warnStatsVO = new WarnStatsVO();
|
||||||
|
int dayWarnNum = 0;//日预警个数
|
||||||
|
int weekWarnNum = 0;//周预警个数
|
||||||
|
int monthWarnNum = 0;//月预警个数
|
||||||
|
int yearWarnNum = 0;//年预警个数
|
||||||
|
List<QXWarningVO> warnList = new ArrayList<>();
|
||||||
|
|
||||||
|
//当前时间
|
||||||
|
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);
|
||||||
|
//当前时间往前24小时——今日预警统计
|
||||||
|
String dayStartTime = zerofill(year)+"-"+zerofill(month)+"-"+zerofill(day)+" "+
|
||||||
|
"00"+":"+"00"+":"+"00";
|
||||||
|
System.out.println(dayStartTime);
|
||||||
|
|
||||||
|
ApiDto dayDto = new ApiDto();
|
||||||
|
dayDto.setStartTime(dayStartTime);
|
||||||
|
dayDto.setEndTime(nowTime);
|
||||||
|
dayDto.setPageNumber(dto.getPageNumber());
|
||||||
|
dayDto.setPageSize(99999);
|
||||||
|
ArrayList<ApiDto.Filter> filter = Lists.newArrayList();
|
||||||
|
String publishUnit = dto.getPublishUnit();
|
||||||
|
String warnSignalLevel = dto.getWarnSignalLevel();
|
||||||
|
String warnSignalType = dto.getWarnSignalType();
|
||||||
|
dayDto.setFilter(filter);
|
||||||
|
String daystr = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(dayDto));
|
||||||
|
// String str = HttpUtil.sendPost("http://127.0.0.1:20000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
||||||
|
JSONObject dayjson = JSON.parseObject(daystr);
|
||||||
|
if (dayjson != null && dayjson.getInteger("code") == HttpStatus.SC_OK) {
|
||||||
|
List<WarningData> data = dayjson.getJSONArray("data").toJavaList(WarningData.class);
|
||||||
|
// return ResultJson.ok(getCount(data, publishUnit, warnSignalLevel, warnSignalType));
|
||||||
|
// List<WarningHistoryListVo> listWarnStats = getCount(data, publishUnit, warnSignalLevel, warnSignalType);
|
||||||
|
// System.out.println("日统计:"+listWarnStats.size());
|
||||||
|
// for(WarningHistoryListVo warnList:listWarnStats){
|
||||||
|
// System.out.println("日统计-:"+warnList.getSumCount()+"个");
|
||||||
|
// }
|
||||||
|
dayWarnNum = getCount2(data);
|
||||||
|
System.out.println("日统计:"+dayWarnNum +"个");
|
||||||
|
}
|
||||||
|
//当前时间往前7天——本周预警统计
|
||||||
|
int day_of_week = startCalendarDay.get(Calendar.DAY_OF_WEEK);
|
||||||
|
int weekminus = day_of_week == 0?7: day_of_week - 1;
|
||||||
|
Calendar weekStartDay = Calendar.getInstance();
|
||||||
|
weekStartDay.add(Calendar.DAY_OF_YEAR, (weekminus-1)*(-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<WarningData> data = weekjson.getJSONArray("data").toJavaList(WarningData.class);
|
||||||
|
// return ResultJson.ok(getCount(data, publishUnit, warnSignalLevel, warnSignalType));
|
||||||
|
// List<WarningHistoryListVo> listWarnStats = getCount(data, publishUnit, warnSignalLevel, warnSignalType);
|
||||||
|
// System.out.println("周统计:"+listWarnStats.size());
|
||||||
|
// for(WarningHistoryListVo warnList:listWarnStats){
|
||||||
|
// System.out.println("周统计-:"+warnList.getSumCount()+"个");
|
||||||
|
// }
|
||||||
|
weekWarnNum = getCount2(data);
|
||||||
|
System.out.println("周统计:"+weekWarnNum +"个");
|
||||||
|
}
|
||||||
|
//当前时间往前30天——本月预警统计
|
||||||
|
int day_of_month = startCalendarDay.get(Calendar.DAY_OF_MONTH);
|
||||||
|
Calendar monthStartDay = Calendar.getInstance();
|
||||||
|
int monthdayminus = day_of_month-1;
|
||||||
|
monthStartDay.add(Calendar.DAY_OF_YEAR, monthdayminus*(-1));
|
||||||
|
String monthStartTime = CalendarDayStartToString(monthStartDay);
|
||||||
|
System.out.println(monthStartTime);
|
||||||
|
ApiDto monthDto = new ApiDto();
|
||||||
|
monthDto.setStartTime(monthStartTime);
|
||||||
|
monthDto.setEndTime(nowTime);
|
||||||
|
monthDto.setPageNumber(dto.getPageNumber());
|
||||||
|
monthDto.setPageSize(99999);
|
||||||
|
monthDto.setFilter(filter);
|
||||||
|
String monthstr = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(monthDto));
|
||||||
|
JSONObject monthjson = JSON.parseObject(monthstr);
|
||||||
|
System.out.println("monthstr:"+monthjson);
|
||||||
|
if (monthjson != null && monthjson.getInteger("code") == HttpStatus.SC_OK) {
|
||||||
|
List<WarningData> data = monthjson.getJSONArray("data").toJavaList(WarningData.class);
|
||||||
|
// return ResultJson.ok(getCount(data, publishUnit, warnSignalLevel, warnSignalType));
|
||||||
|
// List<WarningHistoryListVo> listWarnStats = getCount(data, publishUnit, warnSignalLevel, warnSignalType);
|
||||||
|
// System.out.println("月统计:"+listWarnStats.size());
|
||||||
|
// for(WarningHistoryListVo warnList:listWarnStats){
|
||||||
|
// System.out.println("月统计-:"+warnList.getSumCount()+"个");
|
||||||
|
// }
|
||||||
|
monthWarnNum = getCount2(data);
|
||||||
|
System.out.println("月统计:"+monthWarnNum +"个");
|
||||||
|
}
|
||||||
|
//当前时间往前360天——全年预警数
|
||||||
|
int day_of_year = startCalendarDay.get(Calendar.DAY_OF_YEAR);
|
||||||
|
Calendar yearStartDay = Calendar.getInstance();
|
||||||
|
int yeardayminus = day_of_year - 1;
|
||||||
|
yearStartDay.add(Calendar.DAY_OF_YEAR, yeardayminus*(-1));
|
||||||
|
String yearStartTime = CalendarDayStartToString(yearStartDay);
|
||||||
|
System.out.println(yearStartTime);
|
||||||
|
ApiDto yearDto = new ApiDto();
|
||||||
|
yearDto.setStartTime(yearStartTime);
|
||||||
|
yearDto.setEndTime(nowTime);
|
||||||
|
yearDto.setPageNumber(dto.getPageNumber());
|
||||||
|
yearDto.setPageSize(99999);
|
||||||
|
yearDto.setFilter(filter);
|
||||||
|
String yearstr = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(yearDto));
|
||||||
|
JSONObject yearjson = JSON.parseObject(yearstr);
|
||||||
|
System.out.println("yearstr:"+yearjson);
|
||||||
|
if (yearjson != null && yearjson.getInteger("code") == HttpStatus.SC_OK) {
|
||||||
|
List<WarningData> data = yearjson.getJSONArray("data").toJavaList(WarningData.class);
|
||||||
|
//// return ResultJson.ok(getCount(data, publishUnit, warnSignalLevel, warnSignalType));
|
||||||
|
// List<WarningHistoryListVo> listWarnStats = getCount(data, publishUnit, warnSignalLevel, warnSignalType);
|
||||||
|
// System.out.println("年统计:"+listWarnStats.size());
|
||||||
|
// for(WarningHistoryListVo warnList:listWarnStats){
|
||||||
|
// System.out.println("年统计-:"+warnList.getSumCount()+"个");
|
||||||
|
// }
|
||||||
|
yearWarnNum = getCount2(data);
|
||||||
|
System.out.println("年统计:"+yearWarnNum +"个");
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
warnStatsVO.setDayWarnNum(dayWarnNum);
|
||||||
|
warnStatsVO.setWeekWarnNum(weekWarnNum);
|
||||||
|
warnStatsVO.setMonthWarnNum(monthWarnNum);
|
||||||
|
warnStatsVO.setYearWarnNum(yearWarnNum);
|
||||||
|
|
||||||
|
//查找最近10条数据,放到warnList属性上
|
||||||
|
// List<QXWarningVO> qxWarningList = getLatestTen(data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return ResultJson.ok(warnStatsVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 历史气象预警统计
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "历史气象预警统计")
|
||||||
|
@PostMapping("/getHistoryWarning")
|
||||||
|
@Cacheable(value = THIS_REDIS_KEY, key = "#root.method.name+':'+#dto.toString()")
|
||||||
|
public ResultJson<QXWarningVO> getHistoryGroupWarning(@RequestBody GroupWarningDto dto) {
|
||||||
|
List<QXWarningVO> warnList = new ArrayList<>();
|
||||||
|
|
||||||
|
ApiDto apiDto = new ApiDto();
|
||||||
|
// apiDto.setStartTime(dto.getStartTime());//一年的起始时间
|
||||||
|
// apiDto.setEndTime(dto.getEndTime());//当前时间
|
||||||
|
apiDto.setPageNumber(dto.getPageNumber());//第几页
|
||||||
|
apiDto.setPageSize(dto.getPageSize());//一页10个
|
||||||
|
ArrayList<ApiDto.Filter> filter = Lists.newArrayList();
|
||||||
|
|
||||||
|
int pageNumber = dto.getPageNumber();
|
||||||
|
int pageSize = dto.getPageSize();
|
||||||
|
|
||||||
|
//当前时间
|
||||||
|
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);
|
||||||
|
apiDto.setEndTime(nowTime);//当前时间
|
||||||
|
|
||||||
|
int day_of_year = startCalendarDay.get(Calendar.DAY_OF_YEAR);
|
||||||
|
Calendar yearStartDay = Calendar.getInstance();
|
||||||
|
int yeardayminus = day_of_year - 1;
|
||||||
|
yearStartDay.add(Calendar.DAY_OF_YEAR, yeardayminus*(-1));
|
||||||
|
String yearStartTime = CalendarDayStartToString(yearStartDay);
|
||||||
|
System.out.println(yearStartTime);
|
||||||
|
apiDto.setStartTime(yearStartTime);//一年的起始时间
|
||||||
|
|
||||||
|
String publishUnit = dto.getPublishUnit();
|
||||||
|
String warnSignalLevel = dto.getWarnSignalLevel();
|
||||||
|
String warnSignalType = dto.getWarnSignalType();
|
||||||
|
apiDto.setFilter(filter);
|
||||||
|
String str = HttpUtil.sendPost("http://223.75.53.141:8000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
||||||
|
// String str = HttpUtil.sendPost("http://127.0.0.1:20000/shzh/met/zyqxfw/api/warning/getGroupWarning", JSON.toJSONString(apiDto));
|
||||||
|
JSONObject json = JSON.parseObject(str);
|
||||||
|
if (json != null && json.getInteger("code") == HttpStatus.SC_OK) {
|
||||||
|
List<WarningData> data = json.getJSONArray("data").toJavaList(WarningData.class);
|
||||||
|
int count = getCount2(data);
|
||||||
|
System.out.println("历史预警数量:"+data.size());
|
||||||
|
System.out.println("历史预警数量2:"+count);
|
||||||
|
//查找最近10条数据,放到warnList属性上
|
||||||
|
List<QXWarningVO> qxWarningList = null;
|
||||||
|
//getLatestTen(data);
|
||||||
|
if(Objects.isNull(pageNumber)||Objects.isNull(pageSize)){
|
||||||
|
System.out.println("pageNumber和pageSize有至少一个为null");
|
||||||
|
qxWarningList = getLatestTen(data);
|
||||||
|
}else{
|
||||||
|
System.out.println("pageNumber和pageSize全不为null");
|
||||||
|
System.out.println("pageNumber:"+pageNumber);
|
||||||
|
System.out.println("pageSize:"+pageSize);
|
||||||
|
qxWarningList = getPageWarning(data, pageNumber, pageSize);
|
||||||
|
}
|
||||||
|
return ResultJson.ok(qxWarningList);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultJson.ok("");
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<QXWarningVO> getPageWarning(List<WarningData> data, int pageNumber, int pageSize){
|
||||||
|
List<QXWarningVO> qxWarningVOS = new ArrayList<>();
|
||||||
|
// List<WarningData.Warning> warnList = Lists.newArrayList();//汇总
|
||||||
|
List<QXWarningVO> warnList = Lists.newArrayList();//汇总
|
||||||
|
for (WarningData datum : data) {
|
||||||
|
String ctnm = datum.getEffectArea();//市级范围
|
||||||
|
|
||||||
|
for (WarningData.TypeList typeList : datum.getTypeList()) {//里面的
|
||||||
|
// 预警类型
|
||||||
|
String type = typeList.getType();
|
||||||
|
List<WarningData.Warning> warnListOrigin = typeList.getWarnList();
|
||||||
|
// warnList = warnListFilter(warnList, reqPublishUnit, reqWarnSignalLevel, reqWarnSignalType);
|
||||||
|
for (WarningData.Warning warning : warnListOrigin) {
|
||||||
|
String cnnm = warning.getEffectArea();
|
||||||
|
QXWarningVO vo = new QXWarningVO();
|
||||||
|
String publishUnit = warning.getPublishUnit();
|
||||||
|
// vo.setTitle(publishUnit + "发布" + type + "预警");
|
||||||
|
vo.setCtnm(ctnm);//市级名称
|
||||||
|
vo.setCnnm(cnnm);//县级名称
|
||||||
|
vo.setPublishUnit(publishUnit);//发布单位
|
||||||
|
vo.setPublishTime(warning.getPublishTime());//预警发布时间
|
||||||
|
vo.setWarnSignalType(warning.getWarnSignalType());//预警类型
|
||||||
|
vo.setWarnSignalLevel(warning.getWarnSignalLevel());//预警级别
|
||||||
|
vo.setContent(warning.getContent());//预警内容
|
||||||
|
vo.setWarnid(warning.getId());
|
||||||
|
// vo.setAdnm(publishUnit.replace("气象台", ""));
|
||||||
|
String adnm = publishUnit.replace("气象台", "");
|
||||||
|
|
||||||
|
// String adcd = adinfoService.getAdcdByAdnm2(adnm);
|
||||||
|
// if (StringUtils.isNotBlank(adcd)){
|
||||||
|
//// vo.setAddressBooks(addressBookService.getListByAdnm(adcd));
|
||||||
|
// }else{
|
||||||
|
// log.info("当前行政区划不存在: " + adnm);
|
||||||
|
// }
|
||||||
|
warnList.add(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<QXWarningVO> dataList2 = warnList.stream().sorted(Comparator.comparing(QXWarningVO::getPublishTime).reversed()).collect(Collectors.toList());
|
||||||
|
if(dataList2.size()>=(pageNumber-1)*pageSize&&dataList2.size()>=pageNumber*pageSize){
|
||||||
|
for(int i=(pageNumber-1)*pageSize;i<pageNumber*pageSize;i++){
|
||||||
|
QXWarningVO qxWarningVO = dataList2.get(i);
|
||||||
|
//根据预警id,查找有没有呼叫过
|
||||||
|
List<WarnMsgFB> msgfbList = warnMsgFBService.find(new WarnMsgFB().setWarnid(qxWarningVO.getWarnid()));//warning
|
||||||
|
if(msgfbList.size()>0){
|
||||||
|
qxWarningVO.setStatus("1");
|
||||||
|
}else{
|
||||||
|
qxWarningVO.setStatus("0");
|
||||||
|
}
|
||||||
|
qxWarningVOS.add(qxWarningVO);
|
||||||
|
}
|
||||||
|
}else if(dataList2.size()>=(pageNumber-1)*pageSize&&dataList2.size()<pageNumber*pageSize){
|
||||||
|
for(int i=(pageNumber-1)*pageSize;i<dataList2.size();i++){
|
||||||
|
QXWarningVO qxWarningVO = dataList2.get(i);
|
||||||
|
//根据预警id,查找有没有呼叫过
|
||||||
|
List<WarnMsgFB> msgfbList = warnMsgFBService.find(new WarnMsgFB().setWarnid(qxWarningVO.getWarnid()));//warning
|
||||||
|
if(msgfbList.size()>0){
|
||||||
|
qxWarningVO.setStatus("1");
|
||||||
|
}else{
|
||||||
|
qxWarningVO.setStatus("0");
|
||||||
|
}
|
||||||
|
qxWarningVOS.add(qxWarningVO);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
|
||||||
|
}
|
||||||
|
return qxWarningVOS;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<QXWarningVO> getLatestTen(List<WarningData> data){
|
||||||
|
List<QXWarningVO> qxWarningVOS = new ArrayList<>();
|
||||||
|
// List<WarningData.Warning> warnList = Lists.newArrayList();//汇总
|
||||||
|
List<QXWarningVO> warnList = Lists.newArrayList();//汇总
|
||||||
|
for (WarningData datum : data) {
|
||||||
|
String ctnm = datum.getEffectArea();//市级范围
|
||||||
|
|
||||||
|
for (WarningData.TypeList typeList : datum.getTypeList()) {//里面的
|
||||||
|
// 预警类型
|
||||||
|
String type = typeList.getType();
|
||||||
|
List<WarningData.Warning> warnListOrigin = typeList.getWarnList();
|
||||||
|
// warnList = warnListFilter(warnList, reqPublishUnit, reqWarnSignalLevel, reqWarnSignalType);
|
||||||
|
for (WarningData.Warning warning : warnListOrigin) {
|
||||||
|
String cnnm = warning.getEffectArea();
|
||||||
|
QXWarningVO vo = new QXWarningVO();
|
||||||
|
String publishUnit = warning.getPublishUnit();
|
||||||
|
// vo.setTitle(publishUnit + "发布" + type + "预警");
|
||||||
|
vo.setCtnm(ctnm);//市级名称
|
||||||
|
vo.setCnnm(cnnm);//县级名称
|
||||||
|
vo.setPublishUnit(publishUnit);//发布单位
|
||||||
|
vo.setPublishTime(warning.getPublishTime());//预警发布时间
|
||||||
|
vo.setWarnSignalType(warning.getWarnSignalType());//预警类型
|
||||||
|
vo.setWarnSignalLevel(warning.getWarnSignalLevel());//预警级别
|
||||||
|
vo.setContent(warning.getContent());//预警内容
|
||||||
|
vo.setWarnid(warning.getId());
|
||||||
|
// vo.setAdnm(publishUnit.replace("气象台", ""));
|
||||||
|
String adnm = publishUnit.replace("气象台", "");
|
||||||
|
|
||||||
|
// String adcd = adinfoService.getAdcdByAdnm2(adnm);
|
||||||
|
// if (StringUtils.isNotBlank(adcd)){
|
||||||
|
//// vo.setAddressBooks(addressBookService.getListByAdnm(adcd));
|
||||||
|
// }else{
|
||||||
|
// log.info("当前行政区划不存在: " + adnm);
|
||||||
|
// }
|
||||||
|
warnList.add(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<QXWarningVO> dataList2 = warnList.stream().sorted(Comparator.comparing(QXWarningVO::getPublishTime).reversed()).collect(Collectors.toList());
|
||||||
|
if(dataList2.size()>=10){
|
||||||
|
for(int i=0;i<10;i++){
|
||||||
|
// System.out.println("时间:"+dataList2.get(i).getPublishTime());
|
||||||
|
// QXWarningVO qxWarningVO = new QXWarningVO();
|
||||||
|
// qxWarningVO.setPublishTime(dataList2.get(i).getPublishTime());
|
||||||
|
// qxWarningVOS.add(qxWarningVO);
|
||||||
|
QXWarningVO qxWarningVO = dataList2.get(i);
|
||||||
|
//根据预警id,查找有没有呼叫过
|
||||||
|
List<WarnMsgFB> msgfbList = warnMsgFBService.find(new WarnMsgFB().setWarnid(qxWarningVO.getWarnid()));//warning
|
||||||
|
if(msgfbList.size()>0){
|
||||||
|
qxWarningVO.setStatus("1");
|
||||||
|
}else{
|
||||||
|
qxWarningVO.setStatus("0");
|
||||||
|
}
|
||||||
|
// qxWarningVO.setStatus();
|
||||||
|
qxWarningVOS.add(qxWarningVO);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
qxWarningVOS = dataList2;
|
||||||
|
}
|
||||||
|
return qxWarningVOS;
|
||||||
|
// respList.stream().sorted(Comparator.comparing(WarningListVo::getPublishTime).reversed()).collect(Collectors.toList())
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 正在生效预警
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private List<QXWarningVO> getList(List<WarningData> data,
|
||||||
|
String reqPublishUnit,
|
||||||
|
String reqWarnSignalLevel,
|
||||||
|
String reqWarnSignalType) {
|
||||||
|
|
||||||
|
List<QXWarningVO> respList = Lists.newArrayList();
|
||||||
|
for (WarningData datum : data) {//最外层的列表
|
||||||
|
String ctnm = datum.getEffectArea();//市级范围
|
||||||
|
for (WarningData.TypeList typeList : datum.getTypeList()) {//里面的
|
||||||
|
// 预警类型
|
||||||
|
String type = typeList.getType();
|
||||||
|
List<WarningData.Warning> warnList = typeList.getWarnList();
|
||||||
|
|
||||||
|
warnList = warnListFilter(warnList, reqPublishUnit, reqWarnSignalLevel, reqWarnSignalType);
|
||||||
|
for (WarningData.Warning warning : warnList) {
|
||||||
|
String cnnm = warning.getEffectArea();
|
||||||
|
QXWarningVO vo = new QXWarningVO();
|
||||||
|
String publishUnit = warning.getPublishUnit();
|
||||||
|
// vo.setTitle(publishUnit + "发布" + type + "预警");
|
||||||
|
vo.setCtnm(ctnm);//市级名称
|
||||||
|
vo.setCnnm(cnnm);//县级名称
|
||||||
|
vo.setPublishUnit(publishUnit);//发布单位
|
||||||
|
vo.setPublishTime(warning.getPublishTime());//预警发布时间
|
||||||
|
vo.setWarnSignalType(warning.getWarnSignalType());//预警类型
|
||||||
|
vo.setWarnSignalLevel(warning.getWarnSignalLevel());//预警级别
|
||||||
|
vo.setContent(warning.getContent());//预警内容
|
||||||
|
vo.setWarnid(warning.getId());
|
||||||
|
// vo.setAdnm(publishUnit.replace("气象台", ""));
|
||||||
|
String adnm = publishUnit.replace("气象台", "");
|
||||||
|
//根据预警id,查找有没有呼叫过
|
||||||
|
List<WarnMsgFB> msgfbList = warnMsgFBService.find(new WarnMsgFB().setWarnid(warning.getId()));//warning
|
||||||
|
if(msgfbList.size()>0){
|
||||||
|
vo.setStatus("1");
|
||||||
|
}else{
|
||||||
|
vo.setStatus("0");
|
||||||
|
}
|
||||||
|
// String adcd = adinfoService.getAdcdByAdnm2(adnm);
|
||||||
|
// if (StringUtils.isNotBlank(adcd)){
|
||||||
|
//// vo.setAddressBooks(addressBookService.getListByAdnm(adcd));
|
||||||
|
// }else{
|
||||||
|
// log.info("当前行政区划不存在: " + adnm);
|
||||||
|
// }
|
||||||
|
respList.add(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return respList.stream().sorted(Comparator.comparing(QXWarningVO::getPublishTime).reversed())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 正在生效预警
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private List<WarningData.Warning> warnListFilter(List<WarningData.Warning> warnList,
|
||||||
|
String publishUnit,
|
||||||
|
String warnSignalLevel,
|
||||||
|
String warnSignalType
|
||||||
|
) {
|
||||||
|
if (StringUtils.isNotBlank(publishUnit)) {
|
||||||
|
HashSet<String> set = Sets.newHashSet(publishUnit.split(","));
|
||||||
|
if (CollectionUtils.isNotEmpty(set)) {
|
||||||
|
warnList = warnList.stream()
|
||||||
|
.filter(w ->
|
||||||
|
set.contains(w.getPublishUnit().split("气象")[0])
|
||||||
|
).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(warnSignalLevel)) {
|
||||||
|
HashSet<String> set = Sets.newHashSet(warnSignalLevel.split(","));
|
||||||
|
if (CollectionUtils.isNotEmpty(set)) {
|
||||||
|
warnList = warnList.stream()
|
||||||
|
.filter(w ->
|
||||||
|
set.contains(w.getWarnSignalLevel())
|
||||||
|
).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(warnSignalType)) {
|
||||||
|
HashSet<String> set = Sets.newHashSet(warnSignalType.split(","));
|
||||||
|
if (CollectionUtils.isNotEmpty(set)) {
|
||||||
|
warnList = warnList.stream()
|
||||||
|
.filter(w ->
|
||||||
|
set.contains(w.getWarnSignalType())
|
||||||
|
).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return warnList;
|
||||||
|
}
|
||||||
|
static String zerofill(int number){
|
||||||
|
return String.valueOf(number).length()>1?String.valueOf(number):"0"+String.valueOf(number);
|
||||||
|
}
|
||||||
|
static String CalendarDayStartToString(Calendar calendarTime){
|
||||||
|
int year = calendarTime.get(Calendar.YEAR);
|
||||||
|
int month = calendarTime.get(Calendar.MONTH) + 1; //第一个月从0开始,所以得到月份+1
|
||||||
|
int day = calendarTime.get(Calendar.DAY_OF_MONTH);
|
||||||
|
int hour = calendarTime.get(Calendar.HOUR_OF_DAY);
|
||||||
|
int minute = calendarTime.get(Calendar.MINUTE);
|
||||||
|
int second = calendarTime.get(Calendar.SECOND);
|
||||||
|
return zerofill(year)+"-"+zerofill(month)+"-"+zerofill(day)+" "+
|
||||||
|
"00"+":"+"00"+":"+"00";
|
||||||
|
}
|
||||||
|
private int getCount2(List<WarningData> data){
|
||||||
|
int sum = 0;
|
||||||
|
List<WarningData.Warning> warnList = Lists.newArrayList();//汇总
|
||||||
|
for (WarningData datum : data) {
|
||||||
|
for (WarningData.TypeList typeList : datum.getTypeList()) {
|
||||||
|
warnList.addAll(typeList.getWarnList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return warnList.size();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -18,4 +18,6 @@ public interface AdinfoMapper extends BaseMapper<Adinfo> {
|
||||||
List<Adinfo> find(@Param("dto") Adinfo dto);
|
List<Adinfo> find(@Param("dto") Adinfo dto);
|
||||||
|
|
||||||
List<Adinfo> selectByCdOrNm(@Param("adcd") String adcd, @Param("adnm")String adnm);
|
List<Adinfo> selectByCdOrNm(@Param("adcd") String adcd, @Param("adnm")String adnm);
|
||||||
|
|
||||||
|
Adinfo selectAdcdByAdnm(@Param("adnm")String adnm);
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.whdc.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.whdc.model.entity.WarnMsgFB;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface WarnMsgFBMapper extends BaseMapper<WarnMsgFB> {
|
||||||
|
List<WarnMsgFB> selectByWarnid(@Param("warnid") Integer warnid);
|
||||||
|
|
||||||
|
List<WarnMsgFB> find(@Param("dto")WarnMsgFB dto);
|
||||||
|
|
||||||
|
List<WarnMsgFB> selectByWarnidAndCalledPhone(@Param("warnid")Integer warnid, @Param("calledPhone")String calledPhone);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.whdc.model.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class WarnDppleDto {
|
||||||
|
@ApiModelProperty(value = "发布时间")
|
||||||
|
private String publishTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "发布单位")
|
||||||
|
private String publishUnit;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警类型")
|
||||||
|
@ApiModelProperty(value = "预警类型", dataType = "java.lang.String")
|
||||||
|
private String warnSignalType;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警级别")
|
||||||
|
@ApiModelProperty(value = "预警级别", dataType = "java.lang.String")
|
||||||
|
private String warnSignalLevel;
|
||||||
|
|
||||||
|
// @ApiParam(value = "行政区划")
|
||||||
|
// @ApiModelProperty(value = "行政区划", dataType = "java.lang.String")
|
||||||
|
// private String adnm;
|
||||||
|
|
||||||
|
@ApiParam(value = "区县名称")
|
||||||
|
@ApiModelProperty(value = "区县名称", dataType = "java.lang.String")
|
||||||
|
private String cnnm;
|
||||||
|
|
||||||
|
@ApiParam(value = "市名称")
|
||||||
|
@ApiModelProperty(value = "市名称", dataType = "java.lang.String")
|
||||||
|
private String ctnm;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预警内容")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
@ApiParam(value = "状态")
|
||||||
|
@ApiModelProperty(value = "状态", dataType = "java.lang.String")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警信息id")
|
||||||
|
@ApiModelProperty(value = "预警信息id", dataType = "java.lang.String")
|
||||||
|
private Integer warnid;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "页数", dataType = "java.lang.Integer", example = "1")
|
||||||
|
private Integer pageNumber = 1;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "条数", dataType = "java.lang.Integer", example = "999")
|
||||||
|
private Integer pageSize = 999;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
package com.whdc.model.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true) // chain = true 实现链式调用
|
||||||
|
@ApiModel(value = "WARNMSG_FEEDBACK 对象", description = "预警消息叫应反馈表")
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL) // 表示序列化非null属性
|
||||||
|
@TableName("FXKH_TXL.WARNMSG_FEEDBACK")
|
||||||
|
public class WarnMsgFB {
|
||||||
|
@TableField("ID")
|
||||||
|
@ApiModelProperty(value = "预警叫应反馈信息ID")
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
@TableField("WARNID")
|
||||||
|
@ApiModelProperty(value = "预警信息ID")
|
||||||
|
private Integer warnid;
|
||||||
|
|
||||||
|
@TableField("PUBLISH_TIME")
|
||||||
|
@ApiModelProperty(value = "预警信息发布时间")
|
||||||
|
private Date publishTime;
|
||||||
|
|
||||||
|
@TableField("HANDLE_TIME")
|
||||||
|
@ApiModelProperty(value = "预警信息处理时间")
|
||||||
|
private Date handleTime;
|
||||||
|
|
||||||
|
@TableField("CALL_TIME")
|
||||||
|
@ApiModelProperty(value = "预警信息呼叫时间")
|
||||||
|
private Date callTime;
|
||||||
|
|
||||||
|
@TableField("CALLED_PERSON")
|
||||||
|
@ApiModelProperty(value="被呼叫人姓名")
|
||||||
|
private String calledPerson;
|
||||||
|
|
||||||
|
@TableField("CALLED_POSITION")
|
||||||
|
@ApiModelProperty(value="被呼叫人职务")
|
||||||
|
private String calledPosition;
|
||||||
|
|
||||||
|
@TableField("CALLED_PHONE")
|
||||||
|
@ApiModelProperty(value="被呼叫人手机号")
|
||||||
|
private String calledPhone;
|
||||||
|
|
||||||
|
@TableField("CALL_PERSON")
|
||||||
|
@ApiModelProperty(value="呼叫人姓名")
|
||||||
|
private String callPerson;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class QXWarningVO {
|
||||||
|
@ApiModelProperty(value = "发布时间")
|
||||||
|
private String publishTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "发布单位")
|
||||||
|
private String publishUnit;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警类型")
|
||||||
|
@ApiModelProperty(value = "预警类型", dataType = "java.lang.String")
|
||||||
|
private String warnSignalType;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警级别")
|
||||||
|
@ApiModelProperty(value = "预警级别", dataType = "java.lang.String")
|
||||||
|
private String warnSignalLevel;
|
||||||
|
|
||||||
|
@ApiParam(value = "区县名称")
|
||||||
|
@ApiModelProperty(value = "区县名称", dataType = "java.lang.String")
|
||||||
|
private String cnnm;
|
||||||
|
|
||||||
|
@ApiParam(value = "市名称")
|
||||||
|
@ApiModelProperty(value = "市名称", dataType = "java.lang.String")
|
||||||
|
private String ctnm;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预警内容")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
@ApiParam(value = "状态")
|
||||||
|
@ApiModelProperty(value = "状态", dataType = "java.lang.String")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
@ApiParam(value = "预警信息id")
|
||||||
|
@ApiModelProperty(value = "预警信息id", dataType = "java.lang.String")
|
||||||
|
private Integer warnid;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class WarnDppleVO {
|
||||||
|
@ApiParam(value = "区县名称")
|
||||||
|
@ApiModelProperty(value = "区县名称", dataType = "java.lang.String")
|
||||||
|
private String cnnm;
|
||||||
|
|
||||||
|
@ApiParam(value = "市名称")
|
||||||
|
@ApiModelProperty(value = "市名称", dataType = "java.lang.String")
|
||||||
|
private String ctnm;
|
||||||
|
|
||||||
|
@ApiParam(value = "姓名")
|
||||||
|
@ApiModelProperty(value = "姓名")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiParam("职务")
|
||||||
|
@ApiModelProperty(value = "职务")
|
||||||
|
private String position;
|
||||||
|
|
||||||
|
@ApiParam("手机号")
|
||||||
|
@ApiModelProperty(value = "手机号")
|
||||||
|
private String phone;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.whdc.model.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class WarnStatsVO {
|
||||||
|
// @ApiModelProperty(value = "统计")
|
||||||
|
// private Integer sumCount = 0;
|
||||||
|
//
|
||||||
|
// @ApiModelProperty(value = "红统计")
|
||||||
|
// private Integer redCount = 0;
|
||||||
|
//
|
||||||
|
// @ApiModelProperty(value = "橙统计")
|
||||||
|
// private Integer oraCount = 0;
|
||||||
|
//
|
||||||
|
// @ApiModelProperty(value = "黄统计")
|
||||||
|
// private Integer yelCount = 0;
|
||||||
|
//
|
||||||
|
// @ApiModelProperty(value = "蓝统计")
|
||||||
|
// private Integer bluCount = 0;
|
||||||
|
|
||||||
|
@ApiModelProperty(value="日预警个数")
|
||||||
|
private Integer dayWarnNum = 0;//日预警个数
|
||||||
|
|
||||||
|
@ApiModelProperty(value="周预警个数")
|
||||||
|
private Integer weekWarnNum = 0;//周预警个数
|
||||||
|
|
||||||
|
@ApiModelProperty(value="月预警个数")
|
||||||
|
private Integer monthWarnNum = 0;//月预警个数
|
||||||
|
|
||||||
|
@ApiModelProperty(value="年预警个数")
|
||||||
|
private Integer yearWarnNum = 0;//年预警个数
|
||||||
|
|
||||||
|
// private List<QXWarningVO> warnList;
|
||||||
|
}
|
||||||
|
|
@ -25,4 +25,6 @@ public interface IAdinfoService extends IService<Adinfo> {
|
||||||
List<AdcdTree> tree(String adcd, String adnm1);
|
List<AdcdTree> tree(String adcd, String adnm1);
|
||||||
|
|
||||||
String getAdcdByAdnm(String adnm);
|
String getAdcdByAdnm(String adnm);
|
||||||
|
|
||||||
|
String getAdcdByAdnm2(String cnnm2);
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.whdc.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.whdc.model.entity.WarnMsgFB;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface IWarnMsgFBService extends IService<WarnMsgFB> {
|
||||||
|
|
||||||
|
List<WarnMsgFB> find(WarnMsgFB dto);
|
||||||
|
}
|
||||||
|
|
@ -124,6 +124,19 @@ public class AdinfoServiceImpl extends ServiceImpl<AdinfoMapper, Adinfo> impleme
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getAdcdByAdnm2(String adnm){
|
||||||
|
Adinfo one = this.baseMapper.selectAdcdByAdnm(adnm);
|
||||||
|
if (one != null) {
|
||||||
|
String adcd = one.getAdcd();
|
||||||
|
if (adcd.contains("00000000000")){
|
||||||
|
// 查询市辖区的数据
|
||||||
|
adcd = adcd.replace("00000000000","01000000000");
|
||||||
|
}
|
||||||
|
return adcd;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public List<Adinfo> treeList(String adcd, String adnm) {
|
public List<Adinfo> treeList(String adcd, String adnm) {
|
||||||
|
|
||||||
if(StringUtils.isNotBlank(adcd) && adcd.endsWith("0000000000000")){
|
if(StringUtils.isNotBlank(adcd) && adcd.endsWith("0000000000000")){
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.whdc.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.whdc.mapper.WarnMsgFBMapper;
|
||||||
|
import com.whdc.model.entity.WarnMsgFB;
|
||||||
|
import com.whdc.service.IWarnMsgFBService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class WarnMsgFBServiceImpl extends ServiceImpl<WarnMsgFBMapper, WarnMsgFB> implements IWarnMsgFBService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WarnMsgFB> find(WarnMsgFB dto) {//默认根据warnid和calledphone查找
|
||||||
|
return baseMapper.selectByWarnidAndCalledPhone(dto.getWarnid(),dto.getCalledPhone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -10,12 +10,12 @@ spring:
|
||||||
datasource:
|
datasource:
|
||||||
type: com.alibaba.druid.pool.DruidDataSource
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driver-class-name: dm.jdbc.driver.DmDriver
|
driver-class-name: dm.jdbc.driver.DmDriver
|
||||||
# url: jdbc:dm://local.gunshiiot.com:5236?schema=FXKH_TXL
|
url: jdbc:dm://local.gunshiiot.com:5236?schema=FXKH_TXL
|
||||||
# username: SYSDBA
|
username: SYSDBA
|
||||||
# password: SYSDBA001
|
password: SYSDBA001
|
||||||
url: jdbc:dm://10.42.6.247:5236?schema=FXKH_TXL
|
# url: jdbc:dm://10.42.6.247:5236?schema=FXKH_TXL
|
||||||
username: SHZH
|
# username: SHZH
|
||||||
password: Shzh_890
|
# password: Shzh_890
|
||||||
druid:
|
druid:
|
||||||
initialSize: 5
|
initialSize: 5
|
||||||
minIdle: 5
|
minIdle: 5
|
||||||
|
|
@ -39,11 +39,11 @@ spring:
|
||||||
# Redis
|
# Redis
|
||||||
redis:
|
redis:
|
||||||
database: 5
|
database: 5
|
||||||
host: 10.42.6.75
|
# host: 10.42.6.75
|
||||||
# host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
port: 6379
|
port: 6379
|
||||||
# password:
|
password:
|
||||||
password: Whdc_890
|
# password: Whdc_890
|
||||||
|
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
|
|
|
||||||
|
|
@ -47,5 +47,9 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectAdcdByAdnm" resultType="com.whdc.model.entity.Adinfo">
|
||||||
|
select t.adcd, t.adnm
|
||||||
|
from FXKH_TXL.ADINFO t
|
||||||
|
where t.adnm like CONCAT(#{adnm},'%')
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="com.whdc.mapper.WarnMsgFBMapper">
|
||||||
|
|
||||||
|
<select id="find" resultType="com.whdc.model.entity.WarnMsgFB">
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="selectByWarnid" resultType="com.whdc.model.entity.WarnMsgFB">
|
||||||
|
select * from FXKH_TXL.WARNMSG_FEEDBACK
|
||||||
|
where warnid = #{warnid}
|
||||||
|
</select>
|
||||||
|
<select id="selectByWarnidAndCalledPhone" resultType="com.whdc.model.entity.WarnMsgFB">
|
||||||
|
select * from FXKH_TXL.WARNMSG_FEEDBACK
|
||||||
|
where warnid = #{warnid}
|
||||||
|
<if test="calledPhone!=null and calledPhone!=''">and called_phone = #{calledPhone}</if>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
Loading…
Reference in New Issue