package com.ruoyi.project.system.company.controller;
|
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.security.ShiroUtils;
|
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
import com.ruoyi.framework.web.controller.BaseController;
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import com.ruoyi.framework.web.domain.Ztree;
|
import com.ruoyi.framework.web.page.TableDataInfo;
|
import com.ruoyi.project.system.company.domain.Company;
|
import com.ruoyi.project.system.company.service.ICompanyService;
|
import com.ruoyi.project.system.dept.domain.Dept;
|
import com.ruoyi.project.system.dept.service.IDeptService;
|
import com.ruoyi.project.tr.region.domain.Region;
|
import com.ruoyi.project.tr.region.service.IRegionService;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.ui.ModelMap;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 公司信息Controller
|
*
|
* @author ruoyi
|
* @date 2020-05-04
|
*/
|
@Controller
|
@RequestMapping("/system/company")
|
public class CompanyController extends BaseController {
|
private String prefix = "system/company";
|
|
@Autowired
|
private ICompanyService companyService;
|
|
@Autowired
|
private IRegionService regionService;
|
|
@Autowired
|
private IDeptService deptService;
|
|
@RequiresPermissions("system:company:view")
|
@GetMapping()
|
public String company() {
|
return prefix + "/company";
|
}
|
|
@GetMapping("/selectCompanyList")
|
public String selectCompanyList() {
|
return prefix + "/selectCompanyList";
|
}
|
|
/**
|
* 查询公司信息列表
|
*/
|
@RequiresPermissions("system:company:list")
|
@PostMapping("/list")
|
@ResponseBody
|
public TableDataInfo list(Company company) {
|
startPage();
|
List<Company> list = companyService.selectCompanyList(company);
|
return getDataTable(list);
|
}
|
|
|
/**
|
* 查询公司信息列表
|
*/
|
@RequiresPermissions("system:company:list")
|
@PostMapping("/treeList")
|
@ResponseBody
|
public List<Company> treeList(Company company) {
|
List<Company> list = companyService.selectCompanyList(company);
|
return list;
|
}
|
|
|
/**
|
* 导出公司信息列表
|
*/
|
@RequiresPermissions("system:company:export")
|
@Log(title = "公司信息", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
@ResponseBody
|
public AjaxResult export(Company company) {
|
List<Company> list = companyService.selectCompanyList(company);
|
ExcelUtil<Company> util = new ExcelUtil<Company>(Company.class);
|
return util.exportExcel(list, "company");
|
}
|
|
/**
|
* 新增公司信息
|
*/
|
@GetMapping(value = {"/add/{companyId}", "/add"})
|
public String add(@PathVariable(value = "companyId", required = false) Long companyId, ModelMap mmap) {
|
if (StringUtils.isNotNull(companyId)) {
|
mmap.put("company", companyService.selectCompanyById(companyId));
|
}
|
return prefix + "/add";
|
}
|
|
/**
|
* 新增保存公司信息
|
*/
|
@RequiresPermissions("system:company:add")
|
@Log(title = "公司信息", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
@ResponseBody
|
@Transactional
|
public AjaxResult addSave(Company company) {
|
|
int num = companyService.insertCompany(company);
|
//根据公司id 增加一个顶级的部门
|
Long companyId = company.getCompanyId();
|
//增加一个顶级的区域
|
Region region = new Region();
|
region.setParentId(0L);
|
region.setAncestors("0");
|
region.setRegionName(company.getCompanyName());
|
region.setOrderNum("0");
|
region.setCreateBy(ShiroUtils.getSysUser().getUserName());
|
region.setCompanyId(companyId);
|
regionService.insertRegion(region);
|
|
//增加一个顶级的部门
|
Dept dept = new Dept();
|
dept.setParentId(0L);
|
dept.setAncestors("0");
|
dept.setDeptName(company.getCompanyName());
|
dept.setOrderNum("0");
|
dept.setCreateBy(ShiroUtils.getSysUser().getUserName());
|
dept.setCompanyId(companyId);
|
deptService.insertDept(dept);
|
|
return toAjax(num);
|
}
|
|
|
/**
|
* 查询当前用户所属的公司信息
|
*
|
* @param mmap
|
* @return
|
*/
|
@GetMapping("/editByCompanyId")
|
public String edit(ModelMap mmap) {
|
Company company = companyService.selectCompanyById(ShiroUtils.getSysUser().getCompanyId());
|
mmap.put("company", company);
|
return prefix + "/editByCompanyId";
|
}
|
|
|
/**
|
* 修改公司信息
|
*/
|
@GetMapping("/edit/{companyId}")
|
public String edit(@PathVariable("companyId") Long companyId, ModelMap mmap) {
|
Company company = companyService.selectCompanyById(companyId);
|
mmap.put("company", company);
|
return prefix + "/edit";
|
}
|
|
/**
|
* 修改保存公司信息
|
*/
|
@RequiresPermissions("system:company:edit")
|
@Log(title = "公司信息", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
@ResponseBody
|
public AjaxResult editSave(Company company) {
|
return toAjax(companyService.updateCompany(company));
|
}
|
|
/**
|
* 删除公司信息
|
*/
|
@RequiresPermissions("system:company:remove")
|
@Log(title = "公司信息", businessType = BusinessType.DELETE)
|
@PostMapping("/remove")
|
@ResponseBody
|
public AjaxResult remove(String ids) {
|
return toAjax(companyService.deleteCompanyByIds(ids));
|
}
|
|
|
/**
|
* 删除
|
*/
|
@Log(title = "公司管理", businessType = BusinessType.DELETE)
|
@RequiresPermissions("system:company:remove")
|
@GetMapping("/remove/{companyId}")
|
@ResponseBody
|
public AjaxResult remove(@PathVariable("companyId") Long companyId) {
|
if (companyService.selectCompanyCount(companyId) > 0) {
|
return AjaxResult.warn("存在下级公司,不允许删除");
|
}
|
return toAjax(companyService.deleteCompanyById(companyId));
|
}
|
|
/**
|
* 选择公司信息树
|
*/
|
@GetMapping(value = {"/selectCompanyTree/{companyId}", "/selectCompanyTree/"})
|
public String selectCompanyTree(@PathVariable(value = "companyId", required = false) Long companyId, ModelMap mmap) {
|
if (StringUtils.isNotNull(companyId)) {
|
mmap.put("company", companyService.selectCompanyById(companyId));
|
}
|
return prefix + "/tree";
|
}
|
|
/**
|
* 加载公司信息树列表
|
*/
|
@GetMapping("/treeData")
|
@ResponseBody
|
public List<Ztree> treeData() {
|
List<Ztree> ztrees = companyService.selectCompanyTree();
|
return ztrees;
|
}
|
|
|
/**
|
* 查看公司信息
|
*/
|
@GetMapping("/detail/{companyId}")
|
public String detail(@PathVariable("companyId") Long companyId, ModelMap mmap) {
|
Company company = companyService.selectCompanyById(companyId);
|
mmap.put("company", company);
|
return prefix + "/detail";
|
}
|
|
|
/**
|
* 公司四色平面图
|
*/
|
@GetMapping("/detailCompanyFourColorMap/{companyId}")
|
public String detailCompanyFourColorMap(@PathVariable("companyId") Long companyId, ModelMap mmap) {
|
Company company = companyService.selectCompanyById(companyId);
|
mmap.put("company", company);
|
return prefix + "/detailCompanyFourColorMap";
|
}
|
|
|
/**
|
* 岗位安全风险柱状图
|
*/
|
@GetMapping("/detailPostSafetyRiskBarChartUrl/{companyId}")
|
public String detailPostSafetyRiskBarChartUrl(@PathVariable("companyId") Long companyId, ModelMap mmap) {
|
Company company = companyService.selectCompanyById(companyId);
|
mmap.put("company", company);
|
return prefix + "/detailPostSafetyRiskBarChartUrl";
|
}
|
|
}
|