package com.javaweb.geo.controller; import java.util.List; import cn.hutool.core.math.MathUtil; import cn.hutool.core.util.ObjectUtil; import com.javaweb.common.utils.Arith; 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.web.bind.annotation.*; import com.javaweb.common.annotation.Log; import com.javaweb.common.enums.BusinessType; import com.javaweb.geo.domain.Hole; import com.javaweb.geo.service.IHoleService; 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 org.springframework.web.multipart.MultipartFile; /** * 钻孔Controller * * @author zmk * @date 2022-10-20 */ @Controller @RequestMapping("/geo/hole") public class HoleController extends BaseController { private String prefix = "geo/hole"; @Autowired private IHoleService holeService; @RequiresPermissions("geo:hole:view") @GetMapping() public String hole(String id, ModelMap mmap) { mmap.put("projectId", id); return prefix + "/hole"; } /** * 查询钻孔列表 */ @RequiresPermissions("geo:hole:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(Hole hole) { startPage(); List list = holeService.selectHoleList(hole); return getDataTable(list); } /** * 导出钻孔列表 */ @RequiresPermissions("geo:hole:export") @Log(title = "钻孔", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(Hole hole) { List list = holeService.selectHoleList(hole); ExcelUtil util = new ExcelUtil(Hole.class); return util.exportExcel(list, "hole"); } /** * 新增钻孔 */ @GetMapping("/add") public String add(String projectId, ModelMap mmap) { mmap.put("projectId", projectId); return prefix + "/add"; } /** * 新增保存钻孔 */ @RequiresPermissions("geo:hole:add") @Log(title = "钻孔", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(Hole hole) { return toAjax(holeService.insertHole(hole)); } /** * 修改钻孔 */ @GetMapping("/edit/{ids}") public String edit(@PathVariable("ids") String ids, ModelMap mmap) { Hole hole = holeService.selectHoleById(ids); mmap.put("hole", hole); return prefix + "/edit"; } /** * 修改保存钻孔 */ @RequiresPermissions("geo:hole:edit") @Log(title = "钻孔", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(Hole hole) { if(isNotNull(hole.getFootage()) && isNotNull(hole.getFootageCpl())){ Double rate = Arith.div(hole.getFootageCpl(),hole.getFootage(),2) ; hole.setRate(rate); } return toAjax(holeService.updateHole(hole)); } private boolean isNotNull(Double val){ return val !=null && val !=0.0D; } /** * 删除钻孔 */ @RequiresPermissions("geo:hole:remove") @Log(title = "钻孔", businessType = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(holeService.deleteHoleByIds(ids)); } /** * 导入钻孔 */ @RequiresPermissions("geo:hole:import") @Log(title = "导入钻孔") @PostMapping( "/importHole/{projectId}") @ResponseBody public AjaxResult importHole(@PathVariable("projectId") String projectId, @RequestParam("file") MultipartFile file, boolean updateSupport){ String message = holeService.importHole(projectId,file,updateSupport); return AjaxResult.success(message); } }