package com.javaweb.platform.controller; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.TreeSet; import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; 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.ResponseBody; import com.javaweb.platform.constant.ApplyStatus; import com.javaweb.platform.constant.DrillType; import com.javaweb.platform.domain.FrontUser; import com.javaweb.platform.domain.HoleInfo; import com.javaweb.platform.domain.HoleRecord; import com.javaweb.platform.domain.LayerInfo; import com.javaweb.platform.domain.Point; import com.javaweb.platform.domain.ProjectApply; import com.javaweb.platform.domain.ProjectApplyHole; import com.javaweb.platform.domain.ProjectInfo; import com.javaweb.platform.domain.ReturnInfo; import com.javaweb.platform.domain.SampleInfo; import com.javaweb.platform.domain.StageInfo; import com.javaweb.platform.domain.TestInfo; import com.javaweb.platform.domain.UserMsg; import com.javaweb.platform.mapper.LayerInfoMapper; import com.javaweb.platform.mapper.ProjectInfoMapper; import com.javaweb.platform.mapper.UserMsgMapper; import com.javaweb.platform.service.IProjectApplyService; import com.javaweb.platform.service.IProjectInfoService; import com.javaweb.platform.service.IReturnInfoService; import com.javaweb.platform.service.ISampleInfoService; import com.javaweb.platform.service.IStageInfoService; import com.javaweb.platform.service.ITestInfoService; import com.javaweb.platform.service.IHoleInfoService; import com.javaweb.platform.service.IHoleRecordService; import com.javaweb.platform.service.ILayerInfoService; import com.javaweb.platform.service.IProjectApplyHoleService; import com.javaweb.platform.utils.TdtUtils; import com.javaweb.platform.utils.UserAuthCacheUtils; import com.javaweb.common.annotation.UserAuth; import com.javaweb.common.core.controller.BaseController; import com.javaweb.common.core.domain.AjaxResult; import com.javaweb.common.utils.IdGenerate; import com.javaweb.common.utils.StringUtils; import com.javaweb.hydrology.domain.HydrologyHoleInfo; import com.javaweb.hydrology.mapper.HydrologyHoleInfoMapper; import com.javaweb.hydrology.service.impl.HydrologyHoleInfoServiceImpl; /** * @author zmk * @date 2022-03-08 */ @Controller @RequestMapping("/webgis") public class WebGisController extends BaseController { @Autowired private IProjectInfoService projectInfoService; @Autowired private ProjectInfoMapper projectInfoMapper; @Autowired private IProjectApplyService projectApplyService; @Autowired private IHoleInfoService holeInfoService; @Autowired private IHoleRecordService holeRecordService; @Autowired private ILayerInfoService layerInfoService; @Autowired private ISampleInfoService sampleInfoService; @Autowired private ITestInfoService testInfoService; @Autowired private IStageInfoService stageInfoService; @Autowired private IReturnInfoService returnInfoService; @Autowired private IProjectApplyHoleService projectApplyHoleService; /** * 矩形查询 多边形查询 * @param points * @return */ @PostMapping("/polygonQuery") @ResponseBody public List polygonQuery(@RequestBody List points) { String polygon = ""; StringBuffer sBuffer = new StringBuffer(); for (Point point : points) { sBuffer.append(point.getLng()).append(" ").append(point.getLat()).append(","); } String lnglat = sBuffer.toString(); lnglat = lnglat.substring(0, lnglat.length() - 1); polygon = "POLYGON((" + lnglat + "))"; List list = projectInfoService.selectByPolygon(polygon); return list; } /** * 圆形查询 * @param lat * @param lng * @param radius * @return */ @PostMapping("/cicleQuery") @ResponseBody public List cicleQuery(Double lat,Double lng,Double radius) { List list = projectInfoService.selectBynCircle(lat, lng, radius); return list; } @PostMapping("/projectQuery") @ResponseBody public List projectQuery(@RequestBody ProjectInfo projectInfo) throws Exception { List list=new ArrayList<>(); try { list= projectInfoService.selectProjectInfoList(projectInfo); } catch (Exception e) { logger.debug(e.toString()); } return list; } /** * 項目信息 * @param id * @return */ @PostMapping("/ProjectInfo") @ResponseBody public ProjectInfo ProjectInfo(String id) { ProjectInfo info = projectInfoService.selectProjectInfoById(id); return info; } /** * 钻孔信息 * @param id * @return */ @UserAuth("frontUser") @PostMapping("/DrillInfo") @ResponseBody public HoleInfo DrillInfo(String id,HttpServletRequest request) { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } HoleInfo info = holeInfoService.selectHoleInfoById(id); return info; } /** * 申请钻孔 * @param apply * @return */ @UserAuth("frontUser") @PostMapping("/apply") @ResponseBody public AjaxResult apply(@RequestBody ProjectApply apply,HttpServletRequest request) { try { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return AjaxResult.error("权限认证失败,无法申请!"); } //List holeIdList = apply.getHoleIdList(); List applyHoles = apply.getApplyHoles(); if(applyHoles.size()> ApplyStatus.applyCount){ return AjaxResult.error("申请钻孔数量超过限制10个"); } String applyId ="P" + IdGenerate.nextId(); apply.setId(applyId); apply.setCreateTime(new Date()); apply.setStatus(ApplyStatus.under_review); projectApplyService.insertProjectApply(apply); ProjectApplyHole applyHole=null; for(ProjectApplyHole tmp : applyHoles){ applyHole=new ProjectApplyHole(); applyHole.setId(IdGenerate.nextId()); applyHole.setApplyId(applyId); applyHole.setHoleId(tmp.getHoleId()); if(tmp.getHoleType() !=null && tmp.getHoleType().equals(DrillType.DXS.getInfo())){ applyHole.setHoleType(DrillType.DXS.getInfo()); }else{ applyHole.setHoleType(DrillType.DZ.getInfo()); } applyHole.setUserId(apply.getCreateBy()); applyHole.setCreateTime(new Date()); applyHole.setStatus(ApplyStatus.under_review); projectApplyHoleService.insertProjectApplyHole(applyHole); } } catch (Exception e) { logger.info(e.toString()); return AjaxResult.error(); } return AjaxResult.success(); } /** * 用户申请记录 * @param userid * @return */ @UserAuth("frontUser") @PostMapping("/userApplyList") @ResponseBody public List userApply(String userid,HttpServletRequest request) { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } FrontUser user = (FrontUser) UserAuthCacheUtils.getCahce(token); if(!user.getUserName().equals(userid)){ return null; } ProjectApply apply= new ProjectApply(); apply.setCreateBy(userid); return projectApplyService.selectProjectApplyList(apply); } /** * 申请记录对应的钻孔 * @param applyId * @return */ @UserAuth("frontUser") @PostMapping("/userApplyHoleList") @ResponseBody public List userApplyHoleList(String applyId,HttpServletRequest request) { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } ProjectApplyHole projectApplyHole=new ProjectApplyHole(); projectApplyHole.setApplyId(applyId); List holes= projectApplyHoleService.selectProjectApplyHoleListJoinHoleInfo(projectApplyHole); return holes; } @UserAuth("frontUser") @PostMapping("/userApproveHoleList") @ResponseBody public AjaxResult userApproveHoleList(String holeId,String userId,HttpServletRequest request) { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } ProjectApplyHole projectApplyHole=new ProjectApplyHole(); projectApplyHole.setHoleId(holeId); projectApplyHole.setUserId(userId); projectApplyHole.setStatus(ApplyStatus.apply_approve); List list = projectApplyHoleService.selectProjectApplyHoleList(projectApplyHole); int count = StringUtils.isEmpty(list) ? 0 : 1; AjaxResult ajaxResult=new AjaxResult(); ajaxResult.put("count", count); return ajaxResult; } @PostMapping("/getGeocoding") @ResponseBody public AjaxResult getGeocoding() throws Exception { List list= projectInfoMapper.selectEmptyLnglat(); for(ProjectInfo info : list){ String address=info.getAddress(); List lnglat=TdtUtils.getGeocoding(address); info.setLat(Double.valueOf(lnglat.get(0))); info.setLng(Double.valueOf(lnglat.get(1))); projectInfoMapper.updateProjectInfo(info); } return AjaxResult.success(); } /** * 根据地名字查找 经纬度 * @param address * @return * @throws Exception */ @PostMapping("/findGeocodingByPlace") @ResponseBody public AjaxResult findGeocodingByPlace(String address) throws Exception { List lnglat = new ArrayList<>(); try { lnglat = TdtUtils.getGeocoding(address); } catch (Exception e) { } return AjaxResult.success(lnglat); } /** * 根据项目id找钻孔 * @param projectId * @return * @throws Exception */ @UserAuth("frontUser") @PostMapping("/findHoleByProject") @ResponseBody public List findHoleByProject(String projectId,HttpServletRequest request) throws Exception { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } HoleInfo holeInfo= new HoleInfo(); holeInfo.setProjNo(projectId); return holeInfoService.selectHoleInfoList(holeInfo); } @UserAuth("frontUser") @PostMapping("/findRecordByHole") @ResponseBody public List findRecordByHole(String holeId,HttpServletRequest request) throws Exception { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } HoleRecord holeRecord= new HoleRecord(); holeRecord.setDrillId(holeId); return holeRecordService.selectHoleRecordList(holeRecord); } @UserAuth("frontUser") @PostMapping("/findLayerByProjectAndHole") @ResponseBody public Map findLayerByProjectAndHole(String projId,String holeId,HttpServletRequest request) throws Exception { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } String projectNo=projectInfoService.selectProjectInfoById(projId).getProjectNo(); LayerInfo layerInfo=new LayerInfo(); layerInfo.setProjNo(projId); layerInfo.setHoleNo(holeId); int length=layerInfoService.selectLayerInfoList(layerInfo).size(); Map map=new HashMap(); map.put("projectNo", projectNo); map.put("length",length); return map; } /** * 获取钻孔信息 * @param holeId * @return * @throws Exception */ @UserAuth("frontUser") @PostMapping("/findHoleInfoByHoleId") @ResponseBody public Map findHoleInfoByHoleId(String holeId,HttpServletRequest request) throws Exception { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } HoleInfo holeInfo=holeInfoService.selectHoleInfoById(holeId); String projectId=holeInfo.getProjNo(); ProjectInfo projectInfo=projectInfoService.selectProjectInfoById(projectId); //孔深 LayerInfo layerInfo=new LayerInfo(); List listLayer=new ArrayList(); layerInfo.setHoleNo(holeId); listLayer.addAll(layerInfoService.selectLayerInfoList(layerInfo)); listLayer.sort((x, y) -> Double.compare(x.getBottomDepth(), y.getBottomDepth())); Double holeDepth=listLayer.get(listLayer.size()-1).getBottomDepth(); String holeInfo1=""; String holeInfo2=""; if(projectInfo.getProjectName()!=null&&!projectInfo.getProjectName().equals("")) { holeInfo1+="所属项目:"+projectInfo.getProjectName(); } if(holeDepth!=null&&!holeDepth.equals("")) { holeInfo1+="    孔深:"+holeDepth; } if(holeInfo.getStartDate()!=null&&!holeInfo.getStartDate().equals("")) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); holeInfo1+="    开始时间:"+sdf.format(holeInfo.getStartDate()); } if(projectInfo.getExprorationUnit()!=null&&!projectInfo.getExprorationUnit().equals("")) { holeInfo2+="勘察单位:"+projectInfo.getExprorationUnit(); } if(holeInfo.getHoleNo()!=null&&!holeInfo.getHoleNo().equals("")) { holeInfo2+="    钻孔编号:"+holeInfo.getHoleNo(); } if(holeInfo.getEndDate()!=null&&!holeInfo.getEndDate().equals("")) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); holeInfo2+="    结束时间:"+sdf.format(holeInfo.getEndDate()); } Map map=new HashMap(); map.put("holeInfo1", holeInfo1); map.put("holeInfo2", holeInfo2); return map; } /** * 绘制钻孔柱状图 * @param holeId * @return */ @UserAuth("frontUser") @RequestMapping(value = "drawHole") @ResponseBody public List> drawHole(String holeId,HttpServletRequest request) { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } List> mapList=new ArrayList<>(); //地层 LayerInfo layerInfo=new LayerInfo(); List listLayer=new ArrayList(); layerInfo.setHoleNo(holeId); listLayer.addAll(layerInfoService.selectLayerInfoList(layerInfo)); listLayer=listLayer.stream().filter(v->v.getTopdepth()!=null&&v.getBottomDepth()!=null).collect(Collectors.toList()); listLayer = listLayer.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(LayerInfo :: getBottomDepth))), ArrayList::new)); try { listLayer.sort((x, y) -> Double.compare(x.getBottomDepth(), y.getBottomDepth())); } catch(Exception e) { System.out.print(e); } for(LayerInfo layer:listLayer) { Map map=new HashMap(); map.put("id", layer.getId()); map.put("type", "岩土"); map.put("code", layer.getRecordNo()); map.put("typeName", layer.getRockType()+'-'+layer.getRockName()); map.put("layerName", layer.getRockName()); map.put("begin", layer.getTopdepth()); map.put("end", layer.getBottomDepth()); map.put("medias",new String[0]); String title=""; if(layer.getRockType()!=null&&!layer.getRockType().equals("")) { title+="岩土类型:"+layer.getRockType()+";"; } if(layer.getRockName()!=null&&!layer.getRockName().equals("")) { title+="岩土定名:"+layer.getRockName()+";"; } if(layer.getColour()!=null&&!layer.getColour().equals("")) { title+="颜色:"+layer.getColour()+";"; } if(layer.getDensity()!=null&&!layer.getDensity().equals("")) { title+="密实度:"+layer.getDensity()+";"; } if(layer.getHumidity()!=null&&!layer.getHumidity().equals("")) { title+="湿度:"+layer.getHumidity()+";"; } if(layer.getBlockDiameterRangeSmall()!=null&&!layer.getBlockDiameterRangeSmall().equals("")) { title+="一般粒径小:"+layer.getBlockDiameterRangeSmall()+";"; } if(layer.getBlockDiameterRangeBig()!=null&&!layer.getBlockDiameterRangeBig().equals("")) { title+="一般粒径大:"+layer.getBlockDiameterRangeBig()+";"; } if(layer.getBlockDiameterRangeMax()!=null&&!layer.getBlockDiameterRangeMax().equals("")) { title+="最大粒径:"+layer.getBlockDiameterRangeMax()+";"; } if(layer.getState()!=null&&!layer.getState().equals("")) { title+="状态:"+layer.getState()+";"; } if(layer.getIncluding()!=null&&!layer.getIncluding().equals("")) { title+="包含物:"+layer.getIncluding()+";"; } if(layer.getParticalShape()!=null&&!layer.getParticalShape().equals("")) { title+="颗粒形状:"+layer.getParticalShape()+";"; } if(layer.getParticalLine()!=null&&!layer.getParticalLine().equals("")) { title+="颗粒排列:"+layer.getParticalLine()+";"; } if(layer.getParticalSizeDistribution()!=null&&!layer.getParticalSizeDistribution().equals("")) { title+="颗粒级配:"+layer.getParticalSizeDistribution()+";"; } map.put("title", title); mapList.add(map); } //水位 StageInfo stageInfo=new StageInfo(); List listStage=new ArrayList(); stageInfo.setHoleNo(holeId); listStage.addAll(stageInfoService.selectStageInfoList(stageInfo)); listStage=listStage.stream().filter(v->v.getInitialWaterLevel()!=null&&v.getStaticWaterLevel()!=null).collect(Collectors.toList()); try { listStage.sort((x, y) -> Double.compare(x.getInitialWaterLevel(),y.getInitialWaterLevel())); } catch(Exception e) { System.out.print(e); } for(StageInfo stage:listStage) { Map map=new HashMap(); map.put("id", stage.getId()); map.put("type", "水位"); map.put("code", stage.getRecordNo()); map.put("typeName", "地下水"); map.put("begin", stage.getInitialWaterLevel()); map.put("end", stage.getStaticWaterLevel()); map.put("medias",new String[0]); String title=""; if(stage.getInitialWaterLevel()!=null&&!stage.getInitialWaterLevel().equals("")) { title+="初见水位:"+stage.getInitialWaterLevel()+";"; } if(stage.getStaticWaterLevel()!=null&&!stage.getStaticWaterLevel().equals("")) { title+="稳定水位:"+stage.getStaticWaterLevel()+";"; } map.put("title", title); mapList.add(map); } try { mapList.sort((x, y) -> Double.compare(Double.parseDouble(x.get("begin").toString()),Double.parseDouble(y.get("begin").toString()))); } catch(Exception e) { System.out.print(e); } //回次 ReturnInfo returnInfo=new ReturnInfo(); List listReturn=new ArrayList(); returnInfo.setHoleNo(holeId); listReturn.addAll(returnInfoService.selectReturnInfoList(returnInfo)); listReturn=listReturn.stream().filter(v->v.getStartDepth()!=null&&v.getEndDepth()!=null).collect(Collectors.toList()); try { listReturn.sort((x, y) -> Double.compare(x.getEndDepth(),y.getEndDepth())); } catch(Exception e) { System.out.print(e); } for(ReturnInfo return1:listReturn) { Map map=new HashMap(); map.put("id", return1.getId()); map.put("type", "回次"); map.put("code", return1.getRecordNo()); map.put("typeName", return1.getDrillMethod()+'-'+return1.getWallProtectMethod()); map.put("begin", return1.getStartDepth()); map.put("end", return1.getEndDepth()); map.put("medias",new String[0]); String title=""; if(return1.getDrillMethod()!=null&&!return1.getDrillMethod().equals("")) { title+="钻进方法:"+return1.getDrillMethod()+";"; } if(return1.getWallProtectMethod()!=null&&!return1.getWallProtectMethod().equals("")) { title+="护壁方法:"+return1.getWallProtectMethod()+";"; } if(return1.getBoreDiameter()!=null&&!return1.getBoreDiameter().equals("")) { title+="钻孔孔径:"+return1.getBoreDiameter()+";"; } if(return1.getStartDepth()!=null&&!return1.getStartDepth().equals("")) { title+="起始深度:"+return1.getStartDepth()+";"; } if(return1.getEndDepth()!=null&&!return1.getEndDepth().equals("")) { title+="终止深度:"+return1.getEndDepth()+";"; } map.put("title", title); mapList.add(map); } //取样 SampleInfo sampleInfo=new SampleInfo(); List listSample=new ArrayList(); sampleInfo.setHoleNo(holeId); listSample.addAll(sampleInfoService.selectSampleInfoList(sampleInfo)); listSample=listSample.stream().filter(v->v.getSampleStartDepth()!=null&&v.getSampleEndDepth()!=null).collect(Collectors.toList()); try { listSample.sort((x, y) -> Double.compare(x.getSampleEndDepth(),y.getSampleEndDepth())); } catch(Exception e) { System.out.print(e); } for(SampleInfo sample:listSample) { Map map=new HashMap(); map.put("id", sample.getId()); map.put("type", "取土"); map.put("code",sample.getRecordNo()); map.put("typeName", "取土"); map.put("begin", sample.getSampleStartDepth()); map.put("end", sample.getSampleEndDepth()); map.put("medias",new String[0]); String title=""; if(sample.getQualityLevel()!=null&&!sample.getQualityLevel().equals("")) { title+="土样质量等级:"+sample.getQualityLevel()+";"; } if(sample.getSamplingTool()!=null&&!sample.getSamplingTool().equals("")) { title+="取样工具和方法:"+sample.getSamplingTool()+";"; } map.put("title", title); mapList.add(map); } //测试 TestInfo testInfo=new TestInfo(); List listTest=new ArrayList(); testInfo.setHoleNo(holeId); listTest.addAll(testInfoService.selectTestInfoList(testInfo)); try { listTest.sort((x, y) -> Double.compare(x.getExpectDepthStart(),y.getExpectDepthStart())); } catch(Exception e) { System.out.print(e); } for(TestInfo test:listTest) { if(test.getExpectDepthStart()!=null&&!test.getExpectDepthStart().equals("")&&test.getExpectDepthStart()!=0) { Map map=new HashMap(); map.put("id", test.getId()); if(test.getRecordType().equals("JL001")) { map.put("type", "动探"); map.put("typeName", "动探"); } else if(test.getRecordType().equals("JL013")) { map.put("type", "标贯"); map.put("typeName", "标贯"); } map.put("code", test.getRecordNo()); map.put("begin", test.getExpectDepthStart()); Double endDepth=0.0; if(test.getThirdDepthEnd()!=null&&!test.getThirdDepthEnd().equals("")) { endDepth=test.getThirdDepthEnd(); } else if(test.getSecondDepthEnd()!=null&&!test.getSecondDepthEnd().equals("")) { endDepth=test.getSecondDepthEnd(); } else if(test.getFirstDepthEnd()!=null&&!test.getFirstDepthEnd().equals("")) { endDepth=test.getFirstDepthEnd(); } else if(test.getExpectDepthEnd()!=null&&!test.getExpectDepthEnd().equals("")) { endDepth=test.getExpectDepthEnd(); } map.put("end", endDepth); map.put("medias",new String[0]); String title=""; if(test.getPipeLenth()!=null&&!test.getPipeLenth().equals("")) { title+="钻杆长度:"+test.getPipeLenth()+";"; } if(test.getExpectDepthStart()!=null&&!test.getExpectDepthStart().equals("")&&test.getExpectHammerTimes()!=null&&!test.getExpectHammerTimes().equals("")&&test.getExpectHammerTimes()!=0) { title+="
预:"+test.getExpectDepthStart()+"m~"+test.getExpectDepthEnd()+"m="+test.getExpectHammerTimes()+";"; } if(test.getFirstDepthStart()!=null&&!test.getFirstDepthStart().equals("")&&test.getFirstHammerTimes()!=null&&!test.getFirstHammerTimes().equals("")&&test.getFirstHammerTimes()!=0) { title+="
1:"+test.getFirstDepthStart()+"m~"+test.getFirstDepthEnd()+"m="+test.getFirstHammerTimes()+";"; } if(test.getSecondDepthStart()!=null&&!test.getSecondDepthStart().equals("")&&test.getSecondHammerTimes()!=null&&!test.getSecondHammerTimes().equals("")&&test.getSecondHammerTimes()!=0) { title+="
2:"+test.getSecondDepthStart()+"m~"+test.getSecondDepthEnd()+"m="+test.getSecondHammerTimes()+";"; } if(test.getThirdDepthStart()!=null&&!test.getThirdDepthStart().equals("")&&test.getThirdHammerTimes()!=null&&!test.getThirdHammerTimes().equals("")&&test.getThirdHammerTimes()!=0) { title+="
3:"+test.getThirdDepthStart()+"m~"+test.getThirdDepthEnd()+"m="+test.getThirdHammerTimes()+";"; } map.put("title", title); mapList.add(map); } } return mapList; } @Autowired private LayerInfoMapper LayerInfoMapper; @PostMapping("/insertDepth") @ResponseBody public void insertDepth() throws Exception { HoleInfo holeInfo=new HoleInfo(); List holeList=holeInfoService.selectHoleInfoList(holeInfo); LayerInfo layerInfo=null; for(HoleInfo hole:holeList) { try { layerInfo=new LayerInfo(); layerInfo.setHoleNo(hole.getId()); Double max =LayerInfoMapper.findMaxHoleDepth(layerInfo); hole.setHoleDepth(max); holeInfoService.updateHoleInfo(hole); } catch(Exception e) { System.out.print(e); } } } @RequestMapping(value = "isTokenValid") @ResponseBody public Boolean isTokenValid(String userId,HttpServletRequest request) { String token =request.getParameter("token"); if(token!=null && UserAuthCacheUtils.userCaches.containsKey(token)){ FrontUser user = (FrontUser) UserAuthCacheUtils.getCahce(token); if(user.getUserName().equals(userId)){ return true; } else { return false; } } return false; } @Autowired private UserMsgMapper UserMsgMapper; /** * 消息列表 * @param userid * @param request * @return */ @UserAuth("frontUser") @PostMapping("/userMsgList") @ResponseBody public List userMsgList(String userid,HttpServletRequest request) { String token =request.getParameter("token"); if(token==null || !UserAuthCacheUtils.userCaches.containsKey(token)){ return null; } FrontUser user = (FrontUser) UserAuthCacheUtils.getCahce(token); if(!user.getUserName().equals(userid)){ return null; } UserMsg userMsg=new UserMsg(); userMsg.setUserName(userid); List msgs= UserMsgMapper.selectUserMsgList(userMsg) ; return msgs; } @Autowired private HydrologyHoleInfoMapper hydrologyHoleInfoMapper; /** * 水位数据列表 * @param userid * @param request * @return */ //@UserAuth("frontUser") @PostMapping("/hydrologyList") @ResponseBody public List hydrologyList(String userid,HttpServletRequest request) { List list = hydrologyHoleInfoMapper.selectSpecificFiledList(new HydrologyHoleInfo()); return list; } @Autowired private HydrologyHoleInfoServiceImpl hydrologyHoleInfoServiceImpl; /** *地下水 折线图 * @param userid * @param holeNum * @param request * @return */ @PostMapping("/hydrologyChart") @ResponseBody public AjaxResult hydrologyChart(String userid,String holeNum ,HttpServletRequest request) { AjaxResult result = hydrologyHoleInfoServiceImpl.hydrologyChart(holeNum); return result; } /** * 圆形查询 * @param lat * @param lng * @param radius * @return */ @PostMapping("/cicleQueryDxs") @ResponseBody public List cicleQueryDxs(Double lat,Double lng,Double radius) { List list = hydrologyHoleInfoMapper.selectByCircle(lat, lng, radius); return list; } }