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<HoleInfo> 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<HoleInfo> list = holeInfoService.selectHoleInfoList(holeInfo);
|
ExcelUtil<HoleInfo> util = new ExcelUtil<HoleInfo>(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<LayerInfo> drawLayer(HoleInfo holeInfo) {
|
/*地层信息*/
|
LayerInfo layerInfo=new LayerInfo();
|
List<LayerInfo> listLayer=new ArrayList<LayerInfo>();
|
layerInfo.setProjNo(holeInfo.getProjNo());
|
layerInfo.setHoleNo(holeInfo.getHoleNo());
|
listLayer.addAll(layerInfoService.selectLayerInfoList(layerInfo));
|
for(int k=0;k<listLayer.size()-1;k++){
|
for(int m=0;m<listLayer.size()-1-k;m++){
|
if(listLayer.get(m).getBottomDepth()>listLayer.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<LayerInfo> listLayer=new ArrayList<LayerInfo>();
|
info.setProjNo(layerInfo.getProjNo());
|
info.setHoleNo(layerInfo.getHoleNo());
|
listLayer.addAll(layerInfoService.selectLayerInfoList(info));
|
/*取样信息*/
|
SampleInfo sampleInfo=new SampleInfo();
|
List<SampleInfo> listSample=new ArrayList<SampleInfo>();
|
//原位测试
|
TestInfo testInfo=new TestInfo();
|
List<TestInfo> listTest=new ArrayList<TestInfo>();
|
//水位测试
|
StageInfo stageInfo=new StageInfo();
|
List<StageInfo> listStage=new ArrayList<StageInfo>();
|
//回次信息
|
ReturnInfo returnInfo=new ReturnInfo();
|
List<ReturnInfo> listReturn=new ArrayList<ReturnInfo>();
|
//取样信息
|
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;k<listReturn.size()-1;k++){
|
for(int m=0;m<listReturn.size()-1-k;m++){
|
if(listReturn.get(m).getEndDepth()>listReturn.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;k<listTest.size()-1;k++){
|
for(int m=0;m<listTest.size()-1-k;m++){
|
if(listTest.get(m).getPipeLenth()>listTest.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;k<listSample.size()-1;k++){
|
for(int m=0;m<listSample.size()-1-k;m++){
|
if(listSample.get(m).getSampleEndDepth()>listSample.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;k<listStage.size()-1;k++){
|
for(int m=0;m<listStage.size()-1-k;m++){
|
if(listStage.get(m).getStaticWaterLevel()>listStage.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;k<listLayer.size()-1;k++){
|
for(int m=0;m<listLayer.size()-1-k;m++){
|
if(listLayer.get(m).getBottomDepth()>listLayer.get(m+1).getBottomDepth())
|
{
|
LayerInfo temp=listLayer.get(m+1);
|
listLayer.set((m+1), listLayer.get(m));
|
listLayer.set(m, temp);
|
}
|
}
|
}
|
//原位测试数据
|
List<TestInfo> listLayerTest = new ArrayList<TestInfo>();
|
for(int m=0;m<listTest.size();m++){
|
if(index==0){
|
if(listTest.get(m).getPipeLenth()<=listLayer.get(index).getBottomDepth())
|
listLayerTest.add(listTest.get(m));
|
}
|
else {
|
if(listTest.get(m).getPipeLenth()>listLayer.get(index-1).getBottomDepth()&&listTest.get(m).getPipeLenth()<=listLayer.get(index).getBottomDepth())
|
listLayerTest.add(listTest.get(m));
|
}
|
}
|
// //取样信息数据
|
List<SampleInfo> listLayerSample =new ArrayList<SampleInfo>();
|
for(int m=0;m<listSample.size();m++){
|
if(index==0){
|
if(listSample.get(m).getSampleEndDepth()<=listLayer.get(index).getBottomDepth())
|
listLayerSample.add(listSample.get(m));
|
}
|
else {
|
if(listSample.get(m).getSampleEndDepth()<=listLayer.get(index).getBottomDepth()&&listSample.get(m).getSampleEndDepth()>listLayer.get(index-1).getBottomDepth())
|
listLayerSample.add(listSample.get(m));
|
}
|
}
|
// //钻进回次数据
|
List<ReturnInfo> listLayerReturn =new ArrayList<ReturnInfo>();
|
for(int m=0;m<listReturn.size();m++){
|
if(index==0){
|
if(listReturn.get(m).getEndDepth()<=listLayer.get(index).getBottomDepth())
|
listLayerReturn.add(listReturn.get(m));
|
}
|
else{
|
if(listReturn.get(m).getEndDepth()<=listLayer.get(index).getBottomDepth()&&listReturn.get(m).getEndDepth()>listLayer.get(index-1).getBottomDepth())
|
listLayerReturn.add(listReturn.get(m));
|
}
|
}
|
// //水位信息
|
List<StageInfo> listLayerStage =new ArrayList<StageInfo>();
|
for(int m=0;m<listStage.size();m++){
|
if(index==0){
|
if(listStage.get(m).getStaticWaterLevel()<=listLayer.get(index).getBottomDepth())
|
listLayerStage.add(listStage.get(m));
|
}
|
else{
|
if(listStage.get(m).getStaticWaterLevel()<=listLayer.get(index).getBottomDepth()&&listStage.get(m).getStaticWaterLevel()>listLayer.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<SampleInfo> drawSample(HoleInfo holeInfo) {
|
/*地层信息*/
|
SampleInfo sampleInfo=new SampleInfo();
|
List<SampleInfo> listSample=new ArrayList<SampleInfo>();
|
sampleInfo.setProjNo(holeInfo.getProjNo());
|
sampleInfo.setHoleNo(holeInfo.getHoleNo());
|
listSample.addAll(sampleInfoService.selectSampleInfoList(sampleInfo));
|
for(int k=0;k<listSample.size()-1;k++){
|
for(int m=0;m<listSample.size()-1-k;m++){
|
if(listSample.get(m).getSampleEndDepth()>listSample.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<TestInfo> drawTest(HoleInfo holeInfo) {
|
/*地层信息*/
|
TestInfo testInfo=new TestInfo();
|
List<TestInfo> listTest=new ArrayList<TestInfo>();
|
testInfo.setProjNo(holeInfo.getProjNo());
|
testInfo.setHoleNo(holeInfo.getHoleNo());
|
listTest.addAll(testInfoService.selectTestInfoList(testInfo));
|
for(int k=0;k<listTest.size()-1;k++){
|
for(int m=0;m<listTest.size()-1-k;m++){
|
if(listTest.get(m).getPipeLenth()>listTest.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<StageInfo> drawStage(HoleInfo holeInfo) {
|
/*地层信息*/
|
StageInfo stageInfo=new StageInfo();
|
List<StageInfo> listStage=new ArrayList<StageInfo>();
|
stageInfo.setProjNo(holeInfo.getProjNo());
|
stageInfo.setHoleNo(holeInfo.getHoleNo());
|
listStage.addAll(stageInfoService.selectStageInfoList(stageInfo));
|
for(int k=0;k<listStage.size()-1;k++){
|
for(int m=0;m<listStage.size()-1-k;m++){
|
if(listStage.get(m).getStaticWaterLevel()>listStage.get(m+1).getStaticWaterLevel())
|
{
|
StageInfo temp=listStage.get(m+1);
|
listStage.set((m+1), listStage.get(m));
|
listStage.set(m, temp);
|
}
|
}
|
}
|
return listStage;
|
}
|
}
|