package com.ruoyi.project.tr.riskList.controller;
|
|
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.security.ShiroUtils;
|
import com.ruoyi.doublePrevention.service.RiskService;
|
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.page.TableDataInfo;
|
import com.ruoyi.project.enumerate.TrRiskTypeEnum;
|
import com.ruoyi.project.system.user.domain.User;
|
import com.ruoyi.project.system.user.service.IUserService;
|
import com.ruoyi.project.tr.region.domain.Region;
|
import com.ruoyi.project.tr.region.service.IRegionService;
|
import com.ruoyi.project.tr.riskCheckPoint.domain.RiskCheckPoint;
|
import com.ruoyi.project.tr.riskCheckPoint.service.IRiskCheckPointService;
|
import com.ruoyi.project.tr.riskEvaluationPlan.domain.RiskEvaluationPlan;
|
import com.ruoyi.project.tr.riskEvaluationPlan.service.IRiskEvaluationPlanService;
|
import com.ruoyi.project.tr.riskList.domain.RiskList;
|
import com.ruoyi.project.tr.riskList.domain.RiskListByCrafts;
|
import com.ruoyi.project.tr.riskList.domain.RiskListByDevice;
|
import com.ruoyi.project.tr.riskList.domain.RiskListByWork;
|
import com.ruoyi.project.tr.riskList.service.IRiskListService;
|
import com.ruoyi.project.tr.riskType.domain.RiskType;
|
import com.ruoyi.project.tr.riskType.service.IRiskTypeService;
|
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 org.thymeleaf.spring5.processor.SpringErrorClassTagProcessor;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 风险清单Controller
|
*
|
* @author wm
|
* @date 2020-05-07
|
*/
|
@Controller
|
@RequestMapping("/tr/riskList")
|
public class RiskListController extends BaseController {
|
private String prefix = "tr/riskList";
|
|
@Autowired
|
private IRiskListService riskListService;
|
@Autowired
|
private IRiskTypeService riskTypeService;
|
@Autowired
|
private IUserService userService;
|
|
@Autowired
|
private IRiskEvaluationPlanService planService;
|
|
@Autowired
|
private IRiskCheckPointService checkPointService;
|
|
@Autowired
|
private IRegionService regionService;
|
|
@Autowired
|
private RiskService riskService;
|
|
@GetMapping("/{name}")
|
public String riskList(@PathVariable("name") String name, ModelMap mmap) {
|
Integer type = null;
|
switch (name) {
|
case "device_list":
|
type = 1;
|
break;
|
case "work_list":
|
type = 2;
|
break;
|
case "crafts_list":
|
type = 3;
|
break;
|
case "room_list":
|
type = 5;
|
break;
|
}
|
RiskType riskType = new RiskType();
|
List<RiskType> riskTypes = new ArrayList<>();
|
if (type != null){
|
riskTypes = getRiskTypes(type);
|
}
|
mmap.put("riskTypes", riskTypes);
|
|
//查询该公司所有区域
|
List<Region> regionList = regionService.selectRegionListByCompanyId(ShiroUtils.getSysUser().getCompanyId());
|
mmap.put("regionList", regionList);
|
|
return prefix + "/riskList_" + name;
|
}
|
|
/**
|
* 查询风险清单列表
|
*/
|
@PostMapping("/list/{id}")
|
@ResponseBody
|
public TableDataInfo list(@PathVariable("id") int id, RiskList riskList) {
|
startPage();
|
riskList.setRiskType(id);
|
User sysUser = getSysUser();
|
riskList.setCompanyId(sysUser.getCompanyId());
|
|
List<RiskList> list = riskListService.selectRiskListList(riskList);
|
//判断是否是作业活动,如果是,则再次查询工作频率类型
|
if (id == 2) {
|
RiskType riskType = new RiskType();
|
riskType.setRiskTypeType(4);
|
riskType.setCompanyId(sysUser.getCompanyId());
|
List<RiskType> riskTypes = riskTypeService.selectRiskTypeList(riskType);
|
//查询后遍历列表,取出类型名称赋值给list中的riskListWorkFrequency字段
|
list.forEach(ls -> {
|
riskTypes.forEach(rt -> {
|
if (ls.getRiskListWorkFrequency().equals(rt.getRiskTypeId())) {
|
ls.setRiskListWorkFrequencyName(rt.getRiskTypeName());
|
}
|
});
|
});
|
}
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出风险清单列表
|
*/
|
@Log(title = "风险清单", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
@ResponseBody
|
public AjaxResult export(RiskList riskList) {
|
User user = ShiroUtils.getSysUser();
|
//按公司导出系统风险清单
|
riskList.setCompanyId(user.getCompanyId());
|
if (TrRiskTypeEnum.DEVICE.getCode().equals(riskList.getRiskType())||TrRiskTypeEnum.ROOM.getCode().equals(riskList.getRiskType())){
|
List<RiskListByDevice> list = riskListService.selectRiskListByDevice(riskList);
|
ExcelUtil<RiskListByDevice> util = new ExcelUtil<RiskListByDevice>(RiskListByDevice.class);
|
return util.exportExcel(list, "riskList");
|
}else if (TrRiskTypeEnum.WORK.getCode().equals(riskList.getRiskType())){
|
List<RiskListByWork> list = riskListService.selectRiskListByWork(riskList);
|
ExcelUtil<RiskListByWork> util = new ExcelUtil<RiskListByWork>(RiskListByWork.class);
|
return util.exportExcel(list, "riskList");
|
}else if (TrRiskTypeEnum.CRAFTS.getCode().equals(riskList.getRiskType())){
|
List<RiskListByCrafts> list = riskListService.selectRiskListByCrafts(riskList);
|
ExcelUtil<RiskListByCrafts> util = new ExcelUtil<RiskListByCrafts>(RiskListByCrafts.class);
|
return util.exportExcel(list, "riskList");
|
}else{
|
return AjaxResult.error("未找到对应类型");
|
}
|
}
|
|
/**
|
* 新增风险清单
|
*/
|
@GetMapping("/add/{id}")
|
public String add(@PathVariable("id") int id, ModelMap mmap) {
|
//查询风险清单类型
|
List<RiskType> riskTypes = getRiskTypes(id);
|
//判断如果是作业活动,查询作业活动频率
|
if (id == 2) {
|
List riskTypes1 = getRiskTypes(4);
|
mmap.put("workFrequency", riskTypes1);
|
}
|
//根据公司id查询用户
|
List userListByCompanyId = getUserListByCompanyId();
|
mmap.put("riskTypes", riskTypes);
|
mmap.put("userList", userListByCompanyId);
|
String name = chooseName(id);
|
return prefix + "/add_" + name;
|
}
|
|
private List getUserListByCompanyId() {
|
User sysUser = getSysUser();
|
User user = new User();
|
user.setCompanyId(sysUser.getCompanyId());
|
List<User> users = userService.selectUserList(user);
|
return users;
|
}
|
|
/**
|
* 新增保存风险清单
|
*/
|
@Log(title = "风险清单", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
@ResponseBody
|
@Transactional
|
public AjaxResult addSave(RiskList riskList) {
|
//保存前获取用户名以及公司信息
|
User sysUser = getSysUser();
|
riskList.setCreateBy(sysUser.getUserName());
|
riskList.setUpdateBy(sysUser.getUserName());
|
Date nowDate = DateUtils.getNowDate();
|
riskList.setCreateTime(nowDate);
|
riskList.setUpdateTime(nowDate);
|
riskList.setCompanyId(sysUser.getCompanyId());
|
|
int result = riskListService.insertRiskList(riskList);
|
riskList.getRiskListId();
|
|
//新代码,为设施设备清单附属表添加uuid
|
int uuidResult = riskService.insertRiskUnitUuid(riskList.getRiskListId());
|
if (uuidResult < 0){
|
throw new RuntimeException("保存uuid对应关系失败");
|
}
|
|
return toAjax(result);
|
}
|
|
/**
|
* 修改风险清单
|
*/
|
@GetMapping("/edit/{riskListId}")
|
public String edit(@PathVariable("riskListId") Long riskListId, ModelMap mmap) {
|
RiskList riskList = riskListService.selectRiskListById(riskListId);
|
mmap.put("riskList", riskList);
|
//查询风险清单类型
|
List<RiskType> riskTypes = getRiskTypes(riskList.getRiskType());
|
mmap.put("riskTypes", riskTypes);
|
//判断如果是作业活动,查询作业活动频率
|
if (riskList.getRiskType() == 2) {
|
List riskTypes1 = getRiskTypes(4);
|
mmap.put("workFrequency", riskTypes1);
|
}
|
List userListByCompanyId = getUserListByCompanyId();
|
mmap.put("userList", userListByCompanyId);
|
Integer riskTypeId = riskList.getRiskType();
|
String name = chooseName(riskTypeId);
|
return prefix + "/edit_" + name;
|
}
|
|
//根据用户查询该用户的风险告知卡
|
@GetMapping("/detail/{riskListId}")
|
public String detail(@PathVariable("riskListId") Long riskListId, ModelMap mmap) {
|
//通用查询如下
|
//查询该风险单元
|
RiskList riskList = riskListService.selectRiskListById(riskListId);
|
mmap.put("riskList", riskList);
|
|
//查询该风险单元的负责用户
|
User user = userService.selectUserById(riskList.getUserId());
|
mmap.put("user",user);
|
|
//查询该风险单元,下,最近的一次计划
|
RiskEvaluationPlan plan = new RiskEvaluationPlan();
|
plan.setEvaluationRiskId(riskListId);
|
List<RiskEvaluationPlan> planList = planService.selectRiskEvaluationPlanList(plan);
|
RiskEvaluationPlan lastPlan = planList.get(0);
|
mmap.put("lastPlan", lastPlan);
|
|
//查询评价计划中,对应的检查计划
|
RiskCheckPoint checkPoint = new RiskCheckPoint();
|
checkPoint.setPlanId(lastPlan.getPlanId());
|
List<RiskCheckPoint> checkPointList = checkPointService.selectRiskCheckPointList(checkPoint);
|
mmap.put("checkPointList", checkPointList);
|
|
return prefix + "/detail";
|
}
|
|
|
|
//风险告知卡的二维码
|
@GetMapping("/qrCodeByDetail/{riskListId}")
|
public String qrCodeDetail(@PathVariable("riskListId") Long riskListId, ModelMap mmap) {
|
RiskList riskList = riskListService.selectRiskListById(Long.valueOf(riskListId));
|
mmap.put("riskListId",riskListId);
|
mmap.put("riskListName",riskList.getRiskListName());
|
return prefix + "/qrCodeByDetail";
|
}
|
|
/**
|
* 根据风险类型ID查询风险类型列表
|
*
|
* @param riskTypeId
|
* @return
|
*/
|
private List getRiskTypes(Integer riskTypeId) {
|
|
RiskType riskType = new RiskType();
|
if (riskTypeId==1||riskTypeId==5){
|
//此处设备设施和,区域类型风险单元,公用一种风险单元类型
|
riskType.setRiskTypeType(1);
|
}else{
|
riskType.setRiskTypeType(riskTypeId);
|
}
|
User sysUser = getSysUser();
|
riskType.setCompanyId(sysUser.getCompanyId());
|
List<RiskType> riskTypes = riskTypeService.selectRiskTypeList(riskType);
|
return riskTypes;
|
}
|
|
/**
|
* 修改保存风险清单
|
*/
|
@Log(title = "风险清单", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
@ResponseBody
|
public AjaxResult editSave(RiskList riskList) {
|
User sysUser = getSysUser();
|
riskList.setUpdateBy(sysUser.getUserName());
|
riskList.setUpdateTime(DateUtils.getNowDate());
|
return toAjax(riskListService.updateRiskList(riskList));
|
}
|
|
/**
|
* 删除风险清单
|
*/
|
@Log(title = "风险清单", businessType = BusinessType.DELETE)
|
@PostMapping("/remove")
|
@ResponseBody
|
public AjaxResult remove(String ids) {
|
//删除风险清单的同时,删除评价计划,
|
return toAjax(riskListService.deleteRiskListByIds(ids));
|
}
|
|
/**
|
* 设备设施风险清单
|
* @return
|
*/
|
@GetMapping("/riskListByDevice")
|
public String riskListByDevice() {
|
return prefix + "/riskListByDevice";
|
}
|
|
/**
|
* 新增风险清单
|
*/
|
@GetMapping("/addByDevice")
|
public String addByDevice() {
|
return prefix + "/addByDevice";
|
}
|
|
@GetMapping("/editByDevice/{riskListId}")
|
public String editByDevice(@PathVariable("riskListId") Long riskListId, ModelMap mmap) {
|
RiskList riskList = riskListService.selectRiskListById(riskListId);
|
mmap.put("riskList", riskList);
|
return prefix + "/editByDevice";
|
}
|
|
|
/**
|
* 工作风险清单
|
* @return
|
*/
|
@GetMapping("/riskListByWork")
|
public String riskListByWork() {
|
return prefix + "/riskListByWork";
|
}
|
|
/**
|
* 新增风险清单
|
*/
|
@GetMapping("/addByWork")
|
public String addByWork() {
|
return prefix + "/addByWork";
|
}
|
|
@GetMapping("/editByWork/{riskListId}")
|
public String editByWork(@PathVariable("riskListId") Long riskListId, ModelMap mmap) {
|
RiskList riskList = riskListService.selectRiskListById(riskListId);
|
mmap.put("riskList", riskList);
|
return prefix + "/editByWork";
|
}
|
|
|
/**
|
* 获取工艺风险列表
|
* @return
|
*/
|
@GetMapping("/riskListByCrafts")
|
public String riskListByCrafts() {
|
return prefix + "/riskListByCrafts";
|
}
|
|
/**
|
* 新增风险清单
|
*/
|
@GetMapping("/addByCrafts")
|
public String addByCrafts() {
|
return prefix + "/addByCrafts";
|
}
|
|
@GetMapping("/editByCrafts/{riskListId}")
|
public String editByCrafts(@PathVariable("riskListId") Long riskListId, ModelMap mmap) {
|
RiskList riskList = riskListService.selectRiskListById(riskListId);
|
mmap.put("riskList", riskList);
|
return prefix + "/editByCrafts";
|
}
|
|
/**
|
* 根据id选择需要拼接的名字
|
*/
|
private String chooseName(int riskType) {
|
String name = "";
|
switch (riskType) {
|
case 1:
|
name = "device_list";
|
break;
|
case 2:
|
name = "work_list";
|
break;
|
case 3:
|
name = "crafts_list";
|
break;
|
case 5:
|
name = "room_list";
|
break;
|
}
|
return name;
|
}
|
|
//跳转至风险单元选择页面
|
@GetMapping("/selectRiskList/{riskType}")
|
public String selectRiskList(@PathVariable("riskType") String riskType, ModelMap mmap) {
|
mmap.put("riskType", riskType);
|
mmap.put("companyId", ShiroUtils.getSysUser().getCompanyId());
|
return prefix + "/selectRiskList";
|
}
|
|
@PostMapping("/list")
|
@ResponseBody
|
public TableDataInfo list(RiskList riskList) {
|
startPage();
|
List<RiskList> list = riskListService.selectRiskListList(riskList);
|
return getDataTable(list);
|
}
|
|
|
|
|
|
//隐患上报-----跳转至风险单元选择页面
|
@GetMapping("/selectRiskListByDangerReport/{riskType}")
|
public String selectRiskListByDangerReport(@PathVariable("riskType") String riskType, ModelMap mmap) {
|
mmap.put("riskType", riskType);
|
mmap.put("companyId", ShiroUtils.getSysUser().getCompanyId());
|
return prefix + "/selectRiskListByDangerReport";
|
}
|
|
@PostMapping("/listByDangerReport")
|
@ResponseBody
|
public TableDataInfo listByDangerReport(RiskList riskList) {
|
riskList.setIsEvaluation(1);
|
List<RiskList> list = riskListService.selectRiskListList(riskList);
|
return getDataTable(list);
|
}
|
|
//隐患排查定时任务-----跳转至风险单元选择页面(多选)
|
@GetMapping("/selectRiskListByDangerReportMultiple")
|
public String selectRiskListByDangerReport(ModelMap mmap) {
|
mmap.put("companyId", ShiroUtils.getSysUser().getCompanyId());
|
return prefix + "/selectRiskListByDangerReportMultiple";
|
}
|
}
|