package com.javaweb.geo.controller; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import com.javaweb.common.annotation.UserAuth; import com.javaweb.common.utils.DateUtils; import com.javaweb.geo.domain.Hole; import com.javaweb.geo.domain.HoleYantu; import com.javaweb.geo.service.IHoleQutuService; import com.javaweb.geo.service.IHoleService; import com.javaweb.geo.service.IProjectWorkService; import com.javaweb.geotdp.domain.ResponseResult; import com.javaweb.geotdp.enums.RecordType; import com.javaweb.platform.domain.*; import com.javaweb.platform.utils.UserAuthCacheUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.util.ObjectUtils; 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.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.javaweb.common.annotation.Log; import com.javaweb.common.enums.BusinessType; import com.javaweb.geo.domain.Project; import com.javaweb.geo.service.IProjectService; 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; import javax.servlet.http.HttpServletRequest; /** * 项目工作量Controller * * @author zmk * @date 2022-10-14 */ @Controller @RequestMapping("/geo/projectwork") public class ProjectWorkController extends BaseController { private String prefix = "geo/projectwork"; @Autowired private IProjectService projectService; @Autowired private IProjectWorkService projectWorkService; @Autowired private IHoleService holeService; @Autowired private IHoleQutuService holeQutuService; /** * 工作量统计 * * @return */ @GetMapping("/work") public String work(@RequestParam("id") String id, ModelMap mmap) { AjaxResult ajaxResult = projectWorkService.workloadAccount(id); mmap.put("work",ajaxResult.get("data")); return "geo/project/work"; } /** * 项目的地图模式 * * @param id * @param mmap * @return */ @GetMapping("/map") public String map(@RequestParam("id") String id, ModelMap mmap) { //查询项目 Project project =projectService.selectProjectById(id); mmap.put("project",project); //查询钻孔 Hole hole = new Hole(); hole.setProjectId(id); hole.setIsDeleted(false); List holes = holeService.selectHoleList(hole); mmap.put("holes",holes); return "geo/project/map"; } /** * 地图数据 * @param holeId * @return */ @GetMapping("/holedata") @ResponseBody public AjaxResult holedata(@RequestParam("holeId") String holeId) { AjaxResult ajaxResult = new AjaxResult(); ajaxResult= projectWorkService.holeRecordList(holeId); return ajaxResult; } /** * 地质钻孔的柱状图页面 */ @GetMapping("/histogram") public String histogram(@RequestParam("id") String id, ModelMap mmap) { mmap.put("holdId",id); return "geo/project/holehistogram"; } /** * 绘制钻孔柱状图 * @param holeId * @return */ @RequestMapping(value = "histogramJson") @ResponseBody public List> histogramJson(String holeId) { return projectWorkService.histogramJson(holeId); } /** * 获取钻孔信息 * @param holeId * @return */ @RequestMapping("/holeInfo") @ResponseBody public Map findHoleInfoByHoleId(String holeId){ String msg1 = ""; String msg2 = ""; Hole hole = holeService.selectHoleById(holeId); if (!ObjectUtils.isEmpty(hole)){ Project project = projectService.selectProjectById(hole.getProjectId()); if (!ObjectUtils.isEmpty(project)){ msg1 += "所属项目:"+ project.getFullName(); msg1 += "    勘察单位:"+project.getCompanyName(); msg2+="钻孔编号:"+hole.getCode(); msg2+="    孔深:"+hole.getDepth(); if (!ObjectUtils.isEmpty(project.getCreateTime())){ msg2+="    开始时间:"+ DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",project.getCreateTime()); }else { msg2+="    开始时间:"; } if (!ObjectUtils.isEmpty(project.getEndTime())){ msg2+="    结束时间:"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",project.getEndTime()); }else { msg2+="    结束时间:"; } }else { msg1 += "所属项目:"; msg1 += "    勘察单位:"; msg2+="钻孔编号:"+hole.getCode(); msg2+="    孔深:"; msg2+="    开始时间:"; msg2+="    结束时间:"; } } Map map = new HashMap<>(); map.put("msg1", msg1); map.put("msg2", msg2); return map; } }