package com.javaweb.geo.controller;
|
|
import java.util.List;
|
|
import com.javaweb.geo.domain.CompanyUser;
|
import com.javaweb.geo.mapper.HoleMapper;
|
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.Company;
|
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;
|
|
/**
|
* 项目Controller
|
*
|
* @author zmk
|
* @date 2022-10-14
|
*/
|
@Controller
|
@RequestMapping("/geo/project")
|
public class ProjectController extends BaseController
|
{
|
private String prefix = "geo/project";
|
|
@Autowired
|
private IProjectService projectService;
|
|
@Autowired
|
private HoleMapper holeMapper;
|
|
|
@RequiresPermissions("geo:project:view")
|
@GetMapping()
|
public String project()
|
{
|
return prefix + "/project";
|
}
|
|
|
/**
|
* 查询项目列表
|
*/
|
@RequiresPermissions("geo:project:list")
|
@PostMapping("/list")
|
@ResponseBody
|
public TableDataInfo list(Project project)
|
{
|
startPage();
|
List<Project> list = projectService.selectProjectList(project);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出项目列表
|
*/
|
@RequiresPermissions("geo:project:export")
|
@Log(title = "项目", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
@ResponseBody
|
public AjaxResult export(Project project)
|
{
|
List<Project> list = projectService.selectProjectList(project);
|
ExcelUtil<Project> util = new ExcelUtil<Project>(Project.class);
|
return util.exportExcel(list, "project");
|
}
|
|
/**
|
* 新增项目
|
*/
|
@GetMapping("/add")
|
public String add()
|
{
|
return prefix + "/add";
|
}
|
|
/**
|
* 跳转
|
* @return
|
*/
|
@GetMapping("/navigate")
|
public String navigate(@RequestParam("ids") String ids, ModelMap mmap)
|
{
|
Project project = projectService.selectProjectById(ids);
|
mmap.put("project", project);
|
return prefix + "/navigate";
|
}
|
|
|
@GetMapping("/info")
|
public String info(@RequestParam("id") String id, ModelMap mmap){
|
|
Project project = projectService.selectProjectById(id);
|
|
String cname = "";
|
String lname = "";
|
|
|
project.setCompanyName(cname);
|
project.setLeaderName(lname);
|
|
int count = holeMapper.selectHoleNumByProjectId(id);
|
//设置钻孔数量
|
project.setHoleNum(count);
|
|
mmap.put("project", project);
|
mmap.put("projectId", id);
|
return prefix + "/info";
|
}
|
|
|
|
/**
|
* 新增保存项目
|
*/
|
@RequiresPermissions("geo:project:add")
|
@Log(title = "项目", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
@ResponseBody
|
public AjaxResult addSave(Project project)
|
{
|
return toAjax(projectService.insertProject(project));
|
}
|
|
/**
|
* 修改项目
|
*/
|
@GetMapping("/edit/{ids}")
|
public String edit(@PathVariable("ids") String ids, ModelMap mmap)
|
{
|
Project project = projectService.selectProjectById(ids);
|
mmap.put("project", project);
|
return prefix + "/edit";
|
}
|
|
/**
|
* 修改保存项目
|
*/
|
@RequiresPermissions("geo:project:edit")
|
@Log(title = "项目", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
@ResponseBody
|
public AjaxResult editSave(Project project)
|
{
|
return toAjax(projectService.updateProject(project));
|
}
|
|
/**
|
* 删除项目
|
*/
|
@RequiresPermissions("geo:project:remove")
|
@Log(title = "项目", businessType = BusinessType.DELETE)
|
@PostMapping( "/remove")
|
@ResponseBody
|
public AjaxResult remove(String ids)
|
{
|
return toAjax(projectService.deleteProjectByIds(ids));
|
}
|
|
|
}
|