package com.javaweb.platform.controller; import java.util.ArrayList; import java.util.List; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.javaweb.common.annotation.Log; import com.javaweb.common.enums.BusinessType; import com.javaweb.platform.domain.HoleInfo; import com.javaweb.platform.service.IHoleInfoService; import com.javaweb.platform.service.ILayerInfoService; 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.domain.LayerInfo; 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.common.core.controller.BaseController; import com.javaweb.common.core.domain.AjaxResult; import com.javaweb.common.utils.poi.ExcelUtil; import com.javaweb.common.core.page.TableDataInfo; /** * 钻孔信息Controller * * @author ruoyi * @date 2022-03-22 */ @Controller @RequestMapping("/platform/holeinfo") public class HoleInfoController extends BaseController { private String prefix = "platform/holeinfo"; @Autowired private IHoleInfoService holeInfoService; @Autowired private ILayerInfoService layerInfoService; @Autowired private ISampleInfoService sampleInfoService; @Autowired private ITestInfoService testInfoService; @Autowired private IStageInfoService stageInfoService; @Autowired private IReturnInfoService returnInfoService; @RequiresPermissions("platform:holeinfo:view") @GetMapping() public String holeinfo() { return prefix + "/holeinfo"; } /** * 查询钻孔信息列表 */ @RequiresPermissions("platform:holeinfo:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(HoleInfo holeInfo) { startPage(); List list = holeInfoService.selectHoleInfoList(holeInfo); return getDataTable(list); } /** * 导出钻孔信息列表 */ @RequiresPermissions("platform:holeinfo:export") @Log(title = "钻孔信息", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(HoleInfo holeInfo) { List list = holeInfoService.selectHoleInfoList(holeInfo); ExcelUtil util = new ExcelUtil(HoleInfo.class); return util.exportExcel(list, "holeinfo"); } /** * 新增钻孔信息 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存钻孔信息 */ @RequiresPermissions("platform:holeinfo:add") @Log(title = "钻孔信息", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(HoleInfo holeInfo) { return toAjax(holeInfoService.insertHoleInfo(holeInfo)); } /** * 修改钻孔信息 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") String id, ModelMap mmap) { HoleInfo holeInfo = holeInfoService.selectHoleInfoById(id); mmap.put("holeInfo", holeInfo); return prefix + "/edit"; } /** * 修改保存钻孔信息 */ @RequiresPermissions("platform:holeinfo:edit") @Log(title = "钻孔信息", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(HoleInfo holeInfo) { return toAjax(holeInfoService.updateHoleInfo(holeInfo)); } /** * 删除钻孔信息 */ @RequiresPermissions("platform:holeinfo:remove") @Log(title = "钻孔信息", businessType = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(holeInfoService.deleteHoleInfoByIds(ids)); } //绘制钻孔柱状图 //地层数据 @RequestMapping(value = "drawLayer") @ResponseBody public List drawLayer(HoleInfo holeInfo) { /*地层信息*/ LayerInfo layerInfo=new LayerInfo(); List listLayer=new ArrayList(); layerInfo.setProjNo(holeInfo.getProjNo()); layerInfo.setHoleNo(holeInfo.getHoleNo()); listLayer.addAll(layerInfoService.selectLayerInfoList(layerInfo)); for(int k=0;klistLayer.get(m+1).getBottomDepth()) { LayerInfo temp=listLayer.get(m+1); listLayer.set((m+1), listLayer.get(m)); listLayer.set(m, temp); } } } return listLayer; } @RequestMapping(value = "drawData") public String drawData(LayerInfo layerInfo,Model model,int index) { /*地层信息*/ LayerInfo info=new LayerInfo(); List listLayer=new ArrayList(); info.setProjNo(layerInfo.getProjNo()); info.setHoleNo(layerInfo.getHoleNo()); listLayer.addAll(layerInfoService.selectLayerInfoList(info)); /*取样信息*/ SampleInfo sampleInfo=new SampleInfo(); List listSample=new ArrayList(); //原位测试 TestInfo testInfo=new TestInfo(); List listTest=new ArrayList(); //水位测试 StageInfo stageInfo=new StageInfo(); List listStage=new ArrayList(); //回次信息 ReturnInfo returnInfo=new ReturnInfo(); List listReturn=new ArrayList(); //取样信息 sampleInfo.setProjNo(layerInfo.getProjNo()); sampleInfo.setHoleNo(layerInfo.getHoleNo()); listSample.addAll(sampleInfoService.selectSampleInfoList(sampleInfo)); //原位测试 testInfo.setProjNo(layerInfo.getProjNo()); testInfo.setHoleNo(layerInfo.getHoleNo()); listTest.addAll(testInfoService.selectTestInfoList(testInfo)); //水位测试 stageInfo.setProjNo(layerInfo.getProjNo()); stageInfo.setHoleNo(layerInfo.getHoleNo()); listStage.addAll(stageInfoService.selectStageInfoList(stageInfo)); //回次信息 returnInfo.setProjNo(layerInfo.getProjNo()); returnInfo.setHoleNo(layerInfo.getHoleNo()); listReturn.addAll(returnInfoService.selectReturnInfoList(returnInfo)); //排序 for(int k=0;klistReturn.get(m+1).getEndDepth()) { ReturnInfo temp=listReturn.get(m+1); listReturn.set((m+1), listReturn.get(m)); listReturn.set(m, temp); } } } for(int k=0;klistTest.get(m+1).getPipeLenth()) { TestInfo temp=listTest.get(m+1); listTest.set((m+1), listTest.get(m)); listTest.set(m, temp); } } } for(int k=0;klistSample.get(m+1).getSampleEndDepth()) { SampleInfo temp=listSample.get(m+1); listSample.set((m+1), listSample.get(m)); listSample.set(m, temp); } } } for(int k=0;klistStage.get(m+1).getStaticWaterLevel()) { StageInfo temp=listStage.get(m+1); listStage.set((m+1), listStage.get(m)); listStage.set(m, temp); } } } for(int k=0;klistLayer.get(m+1).getBottomDepth()) { LayerInfo temp=listLayer.get(m+1); listLayer.set((m+1), listLayer.get(m)); listLayer.set(m, temp); } } } //原位测试数据 List listLayerTest = new ArrayList(); for(int m=0;mlistLayer.get(index-1).getBottomDepth()&&listTest.get(m).getPipeLenth()<=listLayer.get(index).getBottomDepth()) listLayerTest.add(listTest.get(m)); } } // //取样信息数据 List listLayerSample =new ArrayList(); for(int m=0;mlistLayer.get(index-1).getBottomDepth()) listLayerSample.add(listSample.get(m)); } } // //钻进回次数据 List listLayerReturn =new ArrayList(); for(int m=0;mlistLayer.get(index-1).getBottomDepth()) listLayerReturn.add(listReturn.get(m)); } } // //水位信息 List listLayerStage =new ArrayList(); for(int m=0;mlistLayer.get(index-1).getBottomDepth()) listLayerStage.add(listStage.get(m)); } } model.addAttribute("layerInfo",listLayer.get(index)); model.addAttribute("listSample",listLayerSample); model.addAttribute("listStage",listLayerStage); model.addAttribute("listTest",listLayerTest); model.addAttribute("listReturn",listLayerReturn); return "modules/survey/drawModal"; } //取样信息 @RequestMapping(value = "drawSample") @ResponseBody public List drawSample(HoleInfo holeInfo) { /*地层信息*/ SampleInfo sampleInfo=new SampleInfo(); List listSample=new ArrayList(); sampleInfo.setProjNo(holeInfo.getProjNo()); sampleInfo.setHoleNo(holeInfo.getHoleNo()); listSample.addAll(sampleInfoService.selectSampleInfoList(sampleInfo)); for(int k=0;klistSample.get(m+1).getSampleEndDepth()) { SampleInfo temp=listSample.get(m+1); listSample.set((m+1), listSample.get(m)); listSample.set(m, temp); } } } return listSample; } //原位测试 @RequestMapping(value = "drawTest") @ResponseBody public List drawTest(HoleInfo holeInfo) { /*地层信息*/ TestInfo testInfo=new TestInfo(); List listTest=new ArrayList(); testInfo.setProjNo(holeInfo.getProjNo()); testInfo.setHoleNo(holeInfo.getHoleNo()); listTest.addAll(testInfoService.selectTestInfoList(testInfo)); for(int k=0;klistTest.get(m+1).getPipeLenth()) { TestInfo temp=listTest.get(m+1); listTest.set((m+1), listTest.get(m)); listTest.set(m, temp); } } } return listTest; } //水位信息 @RequestMapping(value = "drawStage") @ResponseBody public List drawStage(HoleInfo holeInfo) { /*地层信息*/ StageInfo stageInfo=new StageInfo(); List listStage=new ArrayList(); stageInfo.setProjNo(holeInfo.getProjNo()); stageInfo.setHoleNo(holeInfo.getHoleNo()); listStage.addAll(stageInfoService.selectStageInfoList(stageInfo)); for(int k=0;klistStage.get(m+1).getStaticWaterLevel()) { StageInfo temp=listStage.get(m+1); listStage.set((m+1), listStage.get(m)); listStage.set(m, temp); } } } return listStage; } }