package com.newfiber.api.pc.controller.River; import com.baomidou.mybatisplus.plugins.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.newfiber.api.core.annotation.SysLog; import com.newfiber.api.core.bean.ReqBodyObj; import com.newfiber.api.core.bean.RespBodyObj; import com.newfiber.api.core.utils.ExportExcel; import com.newfiber.api.pc.dao.RiverManage.SiteWaterLevelDao; import com.newfiber.api.pc.dao.RiverManage.StationBaseDao; import com.newfiber.api.pc.model.River.SiteWaterLevel; import com.newfiber.api.pc.model.River.SiteWaterLevelDto; import com.newfiber.api.pc.model.River.SiteWaterLevelExcel; import com.newfiber.api.pc.model.River.StationBase; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.OutputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** * @author wmj * @version 创建时间:2017/11/25 * @description 河道基础信息控制器 */ @Controller @CrossOrigin @RequestMapping("waterlevel") public class SiteWaterController { @Autowired private SiteWaterLevelDao siteWaterLevelDao; @Autowired private StationBaseDao stationBaseDao; @PostMapping("yearWaterQuality") @ResponseBody @SysLog(value="查询站点水质信息",actionType="4") public RespBodyObj yearWaterQuality(@RequestBody ReqBodyObj<Map<String, Object>> params){ Integer pageSize = params.getSize(); Integer pageNo = params.getCurrent(); Integer year = Integer.valueOf(params.getData().get("year").toString()); PageHelper.startPage(pageNo, pageSize); List<SiteWaterLevel> siteWaterLevels = siteWaterLevelDao.listAll(year); PageInfo<SiteWaterLevel> result = new PageInfo<>(); if (!siteWaterLevels.isEmpty()){ result = new PageInfo<>(siteWaterLevels); } List<SiteWaterLevelDto> list = new ArrayList<>(); if(!siteWaterLevels.isEmpty()){ for (SiteWaterLevel siteWaterLevel : siteWaterLevels) { SiteWaterLevelDto dto = new SiteWaterLevelDto(); BeanUtils.copyProperties(siteWaterLevel,dto); List<String> data = new ArrayList<>(); changeLevel(siteWaterLevel, dto,data); list.add(dto); } } Page page1 = new Page(); page1.setTotal(result.getTotal()); page1.setRecords(list); return RespBodyObj.ok(page1); } @PostMapping("stationBaseMap") @ResponseBody @SysLog(value="查询站点信息",actionType="4") public RespBodyObj stationBaseMap(@RequestBody ReqBodyObj<Map<String, Object>> params){ String stCode = params.getData().get("stCode").toString(); StationBase stationbase = stationBaseDao.selectByStCode(stCode); return RespBodyObj.ok(stationbase); } private void changeLevel(SiteWaterLevel siteWaterLevel, SiteWaterLevelDto dto,List<String> data) { if(siteWaterLevel.getMonth1Level()!=null){ dto.setMonth1Level(siteWaterLevel.getMonth1Level()); data.add(changeLevel(siteWaterLevel.getMonth1Level())); }else{ data.add("无"); dto.setMonth1Level("无"); } if(siteWaterLevel.getMonth2Level()!=null){ dto.setMonth2Level(siteWaterLevel.getMonth2Level()); data.add(changeLevel(siteWaterLevel.getMonth2Level())); }else{ data.add("无"); dto.setMonth2Level("无"); } if(siteWaterLevel.getMonth3Level()!=null){ dto.setMonth3Level(siteWaterLevel.getMonth3Level()); data.add(changeLevel(siteWaterLevel.getMonth3Level())); }else{ data.add("无"); dto.setMonth3Level("无"); } if(siteWaterLevel.getMonth4Level()!=null){ dto.setMonth4Level(siteWaterLevel.getMonth4Level()); data.add(changeLevel(siteWaterLevel.getMonth4Level())); }else{ data.add("无"); dto.setMonth4Level("无"); } if(siteWaterLevel.getMonth5Level()!=null){ dto.setMonth5Level(siteWaterLevel.getMonth5Level()); data.add(changeLevel(siteWaterLevel.getMonth5Level())); }else{ data.add("无"); dto.setMonth5Level("无"); } if(siteWaterLevel.getMonth6Level()!=null){ dto.setMonth6Level(siteWaterLevel.getMonth6Level()); data.add(changeLevel(siteWaterLevel.getMonth6Level())); }else{ data.add("无"); dto.setMonth6Level("无"); } if(siteWaterLevel.getMonth7Level()!=null){ dto.setMonth7Level(siteWaterLevel.getMonth7Level()); data.add(changeLevel(siteWaterLevel.getMonth7Level())); }else{ data.add("无"); dto.setMonth7Level("无"); } if(siteWaterLevel.getMonth8Level()!=null){ dto.setMonth8Level(siteWaterLevel.getMonth8Level()); data.add(changeLevel(siteWaterLevel.getMonth8Level())); }else{ data.add("无"); dto.setMonth8Level("无"); } if(siteWaterLevel.getMonth9Level()!=null){ dto.setMonth9Level(siteWaterLevel.getMonth9Level()); data.add(changeLevel(siteWaterLevel.getMonth9Level())); }else{ data.add("无"); dto.setMonth9Level("无"); } if(siteWaterLevel.getMonth10Level()!=null){ dto.setMonth10Level(siteWaterLevel.getMonth10Level()); data.add(changeLevel(siteWaterLevel.getMonth10Level())); }else{ data.add("无"); dto.setMonth10Level("无"); } if(siteWaterLevel.getMonth11Level()!=null){ dto.setMonth11Level(siteWaterLevel.getMonth11Level()); data.add(changeLevel(siteWaterLevel.getMonth11Level())); }else{ data.add("无"); dto.setMonth11Level("无"); } if(siteWaterLevel.getMonth12Level()!=null){ dto.setMonth12Level(siteWaterLevel.getMonth12Level()); data.add(changeLevel(siteWaterLevel.getMonth12Level())); }else{ data.add("无"); dto.setMonth12Level("无"); } if(siteWaterLevel.getNowLevel()!=null){ dto.setNowLevel(siteWaterLevel.getNowLevel()); }else{ dto.setNowLevel("无"); } dto.setData(data); } private String changeLevel(int monthLevel){ switch (monthLevel){ case 1 : return "I"; case 2 : return "II"; case 3 : return "III"; case 4 : return "IV"; case 5 : return "V"; case 6 : return "超V"; } return "-"; } /** * 导出我的日志记录 */ @GetMapping(value = "yearWaterQualityExcel", produces = "application/json;charset=utf-8") @SysLog(value="导出我的日志记录",actionType="4") public void selectRiverChiefLogListExcel(Integer year, HttpServletRequest request, OutputStream out, HttpServletResponse response) { response.setHeader("Access-Control-Allow-Origin", "*"); List<String> headers = new ArrayList<>(); headers.add("站点编号"); headers.add("站点名称"); headers.add("一月"); headers.add("二月"); headers.add("三月"); headers.add("四月"); headers.add("五月"); headers.add("六月"); headers.add("七月"); headers.add("八月"); headers.add("九月"); headers.add("十月"); headers.add("十一月"); headers.add("十二月"); headers.add("当前等级"); try { List<SiteWaterLevel> siteWaterLevels = siteWaterLevelDao.listAll(year); if(!siteWaterLevels.isEmpty()){ List<List> result = new ArrayList<>(); for (SiteWaterLevel siteWaterLevel : siteWaterLevels) { SiteWaterLevelExcel excel = new SiteWaterLevelExcel(); List<String> ex = new ArrayList<>(); ex.add(siteWaterLevel.getStName()); ex.add(siteWaterLevel.getStName()); if(siteWaterLevel.getMonth1Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth1Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth2Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth2Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth3Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth3Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth4Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth4Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth5Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth5Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth6Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth6Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth7Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth7Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth8Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth8Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth9Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth9Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth10Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth10Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth11Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth11Level())); }else{ ex.add("无"); } if(siteWaterLevel.getMonth12Level()!=null){ ex.add(changeLevel(siteWaterLevel.getMonth12Level())); }else{ ex.add("无"); } result.add(ex); } ExportExcel excel = new ExportExcel(); excel.exportExcel3("站点表", headers, result, out, response,(new Date()).toString()); } } catch (Exception e) { e.printStackTrace(); } } /*public List<Map<String,Object>> yearWaterQuality(Map<String, Object> map){ List<Map<String,Object>> yearQuality = new ArrayList<>(); Map<String,Object> siteQuery = new HashMap<>(); siteQuery.put("groupId",2); List<SiteInfo> siteInfos = siteInfoDao.queryList(siteQuery); if(siteInfos.size() > 0) { Integer year = (Integer) map.get("year"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); List<Sl6512014> sl6512014s = sl6512014Dao.maxCountWaterQuality(); siteInfos.forEach(p->{ Map<String,Object> siteQuality = new HashMap<>(); siteQuality.put("siteNo",p.getSiteNo()); siteQuality.put("siteName",p.getSiteName()); Map<String, Object> slMap = new HashMap<>(); for (int i = 0; i < 12; i++) { c.set(Calendar.MONTH, i); String date = sdf.format(c.getTime()); List<Sl6512014> sl6512014List = sl6512014s.stream() .filter(e->e.getDateStr().equals(date) && e.getSt().equals(p.getSiteNo())).collect(Collectors.toList()); if(sl6512014List.size() > 0){ Sl6512014 maxSl6512014 = sl6512014List.stream().max(Comparator.comparingInt(Sl6512014::getCountNum)).get(); siteQuality.put("monthQuality"+(i+1),maxSl6512014.getWaterQualityLevel()); }else { siteQuality.put("monthQuality"+(i+1),"无"); } } slMap.put("st",p.getSiteNo()); List<TempData> tempDatas = tempDataDao.queryList(slMap); if(tempDatas.size() > 0){ TempData nowQuality = tempDatas.get(0); siteQuality.put("nowQuality",nowQuality.getWaterQualityLevel()); } yearQuality.add(siteQuality); }); } return yearQuality; }*/ }