/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.mountainrain.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.log.annotation.ApiLog; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.mountain.entity.Mountain; import org.springblade.modules.mountain.service.IMountainService; import org.springblade.modules.mountain.vo.MountainVO; import org.springblade.modules.mountainrain.entity.Mountainrain; import org.springblade.modules.mountainrain.service.IMountainrainService; import org.springblade.modules.mountainrain.vo.*; import org.springblade.modules.mountainrain.wrapper.MountainrainWrapper; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; import javax.validation.Valid; import java.util.*; /** * 控制器 * * @author BladeX * @since 2020-02-27 */ @RestController @AllArgsConstructor @RequestMapping("/mountainrain") @Api(value = "", tags = "接口") public class MountainrainController extends BladeController { private IMountainrainService mountainrainService; private IMountainService mountainService; /** * 分页 */ @GetMapping("/pages") public R> page(@ApiIgnore @RequestParam Map blog, Query query) { IPage pages = mountainrainService.page(Condition.getPage(query), Condition.getQueryWrapper(blog, Mountainrain.class)); return R.data(pages); } /** * 详情 */ @ApiLog("详情") @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入mountainrain") public R detail(Mountainrain mountainrain) { Mountainrain detail = mountainrainService.getOne(Condition.getQueryWrapper(mountainrain)); return R.data(MountainrainWrapper.build().entityVO(detail)); } /** * 详情 */ @ApiLog("详情") @GetMapping("/details") @ApiOperationSupport(order = 1) public R detail(String id) { return R.data(mountainrainService.selectInfo(id)); } /** * 分页 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入mountainrain") public R> list(Mountainrain mountainrain, Query query) { IPage pages = mountainrainService.page(Condition.getPage(query), Condition.getQueryWrapper(mountainrain)); return R.data(MountainrainWrapper.build().pageVO(pages)); } /** * 自定义分页 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入mountainrain") public R> page(MountainrainVO mountainrain, Query query) { IPage pages = mountainrainService.selectMountainrainPage(Condition.getPage(query), mountainrain); return R.data(pages); } /** * 新增 */ @PostMapping("/save") @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入mountainrain") public R save(@Valid @RequestBody Mountainrain mountainrain) { return R.status(mountainrainService.save(mountainrain)); } /** * 修改 */ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入mountainrain") public R update(@Valid @RequestBody Mountainrain mountainrain) { return R.status(mountainrainService.updateById(mountainrain)); } /** * 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入mountainrain") public R submit(@Valid @RequestBody Mountainrain mountainrain) { return R.status(mountainrainService.saveOrUpdate(mountainrain)); } /** * 新增或修改 */ @PostMapping("/submits") public R submits(@Valid @RequestBody MountainrainSSVO mountainrain) { String crainfall = mountainrain.getCrainfall(); String cenconding = mountainrain.getCenconding(); String arainfall = mountainrain.getArainfall(); String aconding = mountainrain.getAconding(); Integer gohour = mountainrain.getGohour(); Integer gthour = mountainrain.getGthour(); Integer gshour = mountainrain.getGshour(); Integer imohour = mountainrain.getImohour(); Integer imthour = mountainrain.getImthour(); Integer imshour = mountainrain.getImshour(); Long id = mountainrain.getId(); //Long mid = mountainrain.getMid(); Mountainrain mountainrain1 = new Mountainrain(); mountainrain1.setCrainfall(crainfall); mountainrain1.setCenconding(cenconding); mountainrain1.setGohour(gohour); mountainrain1.setGthour(gthour); mountainrain1.setGshour(gshour); mountainrain1.setImohour(imohour); mountainrain1.setImthour(imthour); mountainrain1.setImshour(imshour); mountainrain1.setId(id); //山洪详情表数据修改 String township = mountainrain.getTownship(); String village = mountainrain.getVillage(); String villagegroup = mountainrain.getVillage_group(); String bw = mountainrain.getBw(); String dj = mountainrain.getDj(); String fyear = mountainrain.getFyear(); String tyear = mountainrain.getTyear(); String oyear = mountainrain.getOyear(); String county = mountainrain.getCounty(); Mountain mountain = new Mountain(); mountain.setCenconding(cenconding); mountain.setAconding(aconding); mountain.setTownship(township); mountain.setVillage(village); mountain.setVillage_group(villagegroup); mountain.setBw(bw); mountain.setDj(dj); mountain.setFyear(fyear); mountain.setTyear(tyear); mountain.setOyear(oyear); mountain.setCounty(county); //mountain.setId(mid); mountainrainService.saveOrUpdate(mountainrain1); mountainService.saveOrUpdate(mountain); return R.success("修改成功"); } /** * 新增或修改 */ @ApiLog("新增或修改") @PostMapping("/submitde") public R submitde(@Valid @RequestBody MountainrainSSVO mountainrain) { String crainfall = mountainrain.getCrainfall(); String cenconding = mountainrain.getCenconding(); String arainfall = mountainrain.getArainfall(); String aconding = mountainrain.getAconding(); Integer gohour = mountainrain.getGohour(); Integer gthour = mountainrain.getGthour(); Integer gshour = mountainrain.getGshour(); Integer imohour = mountainrain.getImohour(); Integer imthour = mountainrain.getImthour(); Integer imshour = mountainrain.getImshour(); Mountainrain mountainrain1 = new Mountainrain(); mountainrain1.setCrainfall(crainfall); mountainrain1.setCenconding(cenconding); mountainrain1.setGohour(gohour); mountainrain1.setGthour(gthour); mountainrain1.setGshour(gshour); mountainrain1.setImohour(imohour); mountainrain1.setImthour(imthour); mountainrain1.setImshour(imshour); //山洪详情表数据修改 String township = mountainrain.getTownship(); String village = mountainrain.getVillage(); String villagegroup = mountainrain.getVillage_group(); String bw = mountainrain.getBw(); String dj = mountainrain.getDj(); String fyear = mountainrain.getFyear(); String tyear = mountainrain.getTyear(); String oyear = mountainrain.getOyear(); String county = mountainrain.getCounty(); Mountain mountain = new Mountain(); mountain.setCenconding(cenconding); mountain.setAconding(aconding); mountain.setTownship(township); mountain.setVillage(village); mountain.setVillage_group(villagegroup); mountain.setBw(bw); mountain.setDj(dj); mountain.setFyear(fyear); mountain.setTyear(tyear); mountain.setOyear(oyear); mountain.setCounty(county); mountainrainService.saveOrUpdate(mountainrain1); mountainService.saveOrUpdate(mountain); return R.success("新增成功"); } /** * 删除 @PostMapping("/remove") @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(mountainrainService.deleteLogic(Func.toLongList(ids))); }*/ /** * 删除 */ @PostMapping("/remove") public R remove(@RequestParam String ids, String mid) { //mountainrainService.removeByIds(Func.toIntList(ids)); mountainService.removeByIds(Func.toIntList(mid)); return R.success("删除成功"); } /** * 顶级列表 */ @ApiLog("详情") @GetMapping("/parent-lists") @ApiOperation(value = "列表", notes = "传入dict") public R> parentList(@ApiIgnore @RequestParam Map blog, Query query) { return R.data(mountainrainService.parentList(blog, query)); } /** * 子列表 */ @ApiLog("详情") @GetMapping("/child-list") @ApiOperation(value = "列表", notes = "传入dict") public R> childList(@ApiIgnore @RequestParam Map dict, @RequestParam(required = false, defaultValue = "-1") String parentId, Query query) { return R.data(mountainService.childList(dict, parentId, query)); } @ApiLog("详情") @RequestMapping(value = "/cs", method = RequestMethod.POST) @ResponseBody public R saveImg(@RequestParam("file") MultipartFile file) { mountainrainService.upLoadFile(file); return R.success("成功"); } /** * 多表联合查询自定义分页 */ @ApiLog("详情") @GetMapping("/pagess") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入notice") public R> page(@ApiIgnore MountainrainSSVO mountainrainSSVO, Query query) { IPage pages = mountainrainService.selectNoticePage(Condition.getPage(query), mountainrainSSVO); return R.data(pages); } /** * 分页 */ @ApiLog("详情") @GetMapping("/listss") @ApiOperationSupport(order = 4) @ApiOperation(value = "分页", notes = "传入tmpR") public R> listss(String query) { List list = mountainrainService.selectNoticeList(query); return R.data(list); } /** * 山洪分析接口:按行政区分 */ @GetMapping("/queryXZ") public List queryXZ() { List list = mountainrainService.queryXZ(); return list; } /** * 山洪分析接口:按行政区分 */ @GetMapping("/queryZL") public List> queryZL() { List list = mountainrainService.queryZL(); List> data = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { Map map = new HashMap<>(); if (list.get(i).getSttp() != null) { if (list.get(i).getSttp().equals("PP")) { map.put("name", "雨量站"); map.put("value", list.get(i).getCount()); } else if (list.get(i).getSttp().equals("ZQ")) { map.put("name", "水文站"); map.put("value", list.get(i).getCount()); } else if (list.get(i).getSttp().equals("ZZ")) { map.put("name", "水位站"); map.put("value", list.get(i).getCount()); } else if (list.get(i).getSttp().equals("RR")) { map.put("name", "水库站"); map.put("value", list.get(i).getCount()); } } data.add(map); } return data; } /** * 查询洪水预警 */ @ApiLog("查询洪水预警") @GetMapping("/ss") public R selectcInfos(int type,String time,String dateEnds1,String dateEnds3,String dateEnds6,String dateEnds24,int k,String timei) { if (type == 0 && k==13) { //当前时间 String times = time; String dateEnd1 = dateEnds1; String timess=timei; //三个小时前的时间 String dateEnd3 =dateEnds3; //六个小时前的时间 String dateEnd6 =dateEnds6; //二十四个小时前的时间 String dateEnd24 =dateEnds24; //对应雨量站 long startTime=System.currentTimeMillis(); List mountainrainsCVOS = mountainrainService.selectcInfos(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess); long endTime=System.currentTimeMillis(); //获取结束时间 List> lists = new ArrayList<>(); for (int i = 0; i < mountainrainsCVOS.size(); i++) { if (mountainrainsCVOS.get(i).getCenconding()==null){ continue; } Map map = new HashMap(); int Max =mountainrainService .Max(mountainrainsCVOS.get(i).getDrp1(), mountainrainsCVOS.get(i).getDrp3(), mountainrainsCVOS.get(i).getGohour(), mountainrainsCVOS.get(i).getGthour()); map.put("List", mountainrainsCVOS.get(i)); map.put("Max", Max); lists.add(map); } System.out.println("程序运行时间: "+(endTime-startTime)+"ms"); return R.data(lists); } else { //当前时间 String times = time; String dateEnd1 = dateEnds1; String timess=timei; //三个小时前的时间 String dateEnd3 =dateEnds3; //六个小时前的时间 String dateEnd6 =dateEnds6; //二十四个小时前的时间 String dateEnd24 =dateEnds24; //对应雨量站 List mountainrainsCVOS = mountainrainService.selectcInfo(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess); List> lists = new ArrayList<>(); for (int i = 0; i < mountainrainsCVOS.size(); i++) { Map map = new HashMap(); int Max = mountainrainService.Max(mountainrainsCVOS.get(i).getDrp1(), mountainrainsCVOS.get(i).getDrp3(), mountainrainsCVOS.get(i).getGohour(), mountainrainsCVOS.get(i).getGthour()); /*if(Max==0){ continue; }*/ map.put("List", mountainrainsCVOS.get(i)); map.put("Max", Max); lists.add(map); } return R.data(lists); } } }