package com.ruoyi.project.tr.riskEvaluationPlan.controller; import java.util.List; import com.ruoyi.common.utils.security.ShiroUtils; import com.ruoyi.project.enumerate.TrRiskTypeEnum; import com.ruoyi.project.system.user.domain.User; 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.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.ResponseBody; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.project.tr.riskEvaluationPlan.domain.RiskEvaluationPlan; import com.ruoyi.project.tr.riskEvaluationPlan.service.IRiskEvaluationPlanService; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.web.page.TableDataInfo; /** * 评价计划Controller * * @author wm * @date 2020-05-09 */ @Controller @RequestMapping("/tr/riskEvaluationPlan") public class RiskEvaluationPlanController extends BaseController { private String prefix = "tr/riskEvaluationPlan"; @Autowired private IRiskEvaluationPlanService riskEvaluationPlanService; @RequiresPermissions("tr:riskEvaluationPlan:view") @GetMapping() public String riskEvaluationPlan() { return prefix + "/riskEvaluationPlan"; } /** * 查询评价计划列表 */ @RequiresPermissions("tr:riskEvaluationPlan:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(RiskEvaluationPlan riskEvaluationPlan) { riskEvaluationPlan.setCompanyId(ShiroUtils.getSysUser().getCompanyId()); startPage(); List list = riskEvaluationPlanService.selectRiskEvaluationPlanList(riskEvaluationPlan); return getDataTable(list); } /** * 根据当前用户查询,评价计划列表 * @param riskEvaluationPlan * @return */ @PostMapping("/listByPlan") @ResponseBody public TableDataInfo listByPlan(RiskEvaluationPlan riskEvaluationPlan) { riskEvaluationPlan.setCompanyId(ShiroUtils.getSysUser().getCompanyId()); //根据计划发起人查询 riskEvaluationPlan.setPlanUserId(ShiroUtils.getUserId()); startPage(); List list = riskEvaluationPlanService.selectRiskEvaluationPlanList(riskEvaluationPlan); return getDataTable(list); } /** * 查询辨识列表 * @param riskEvaluationPlan * @return */ @PostMapping("/listByIdentify") @ResponseBody public TableDataInfo listByIdentify(RiskEvaluationPlan riskEvaluationPlan) { riskEvaluationPlan.setCompanyId(ShiroUtils.getSysUser().getCompanyId()); //根据计划发起人查询 riskEvaluationPlan.setIdentifyUserId(ShiroUtils.getUserId()); //查询已派发的 riskEvaluationPlan.setPlanStatus(2); startPage(); List list = riskEvaluationPlanService.selectRiskEvaluationPlanList(riskEvaluationPlan); return getDataTable(list); } /** * 导出评价计划列表 */ @RequiresPermissions("tr:riskEvaluationPlan:export") @Log(title = "评价计划", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(RiskEvaluationPlan riskEvaluationPlan) { List list = riskEvaluationPlanService.selectRiskEvaluationPlanList(riskEvaluationPlan); ExcelUtil util = new ExcelUtil(RiskEvaluationPlan.class); return util.exportExcel(list, "riskEvaluationPlan"); } /** * 新增评价计划 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存评价计划 */ @RequiresPermissions("tr:riskEvaluationPlan:add") @Log(title = "评价计划", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(RiskEvaluationPlan riskEvaluationPlan) { //辨识方法与 评价风险单元类型保持一致 if(riskEvaluationPlan.getEvaluationType().equals(TrRiskTypeEnum.DEVICE.getCode()) ||riskEvaluationPlan.getEvaluationType().equals(TrRiskTypeEnum.ROOM.getCode())){ riskEvaluationPlan.setRiskIdentifyMethod(TrRiskTypeEnum.DEVICE.getCode()); }else{ riskEvaluationPlan.setRiskIdentifyMethod(riskEvaluationPlan.getEvaluationType()); } riskEvaluationPlan.setCompanyId(ShiroUtils.getSysUser().getCompanyId()); riskEvaluationPlan.setPlanUserId(ShiroUtils.getUserId()); return toAjax(riskEvaluationPlanService.insertRiskEvaluationPlan(riskEvaluationPlan)); } /** * 修改评价计划 */ @GetMapping("/edit/{planId}") public String edit(@PathVariable("planId") Long planId, ModelMap mmap) { RiskEvaluationPlan riskEvaluationPlan = riskEvaluationPlanService.selectRiskEvaluationPlanById(planId); mmap.put("riskEvaluationPlan", riskEvaluationPlan); return prefix + "/edit"; } /** * 修改保存评价计划 */ @RequiresPermissions("tr:riskEvaluationPlan:edit") @Log(title = "评价计划", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(RiskEvaluationPlan riskEvaluationPlan) { //如果修改的辨识状态为已辨识,这计划阶段进入,评价阶段 if (riskEvaluationPlan.getIdentifyStatus()!=null){ if(riskEvaluationPlan.getIdentifyStatus() == 2){ riskEvaluationPlan.setStageStatus(3); } } return toAjax(riskEvaluationPlanService.updateRiskEvaluationPlan(riskEvaluationPlan)); } /** * 删除评价计划 */ @RequiresPermissions("tr:riskEvaluationPlan:remove") @Log(title = "评价计划", businessType = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(riskEvaluationPlanService.deleteRiskEvaluationPlanByIds(ids)); } /** * 发布计划 * @param riskEvaluationPlan * @return */ @PostMapping("/distributePlan") @ResponseBody public AjaxResult distributePlan(RiskEvaluationPlan riskEvaluationPlan) { //发布时,任务阶段进入辨识阶段 // 任务状态变更为已派发 riskEvaluationPlan.setStageStatus(2); riskEvaluationPlan.setPlanStatus(2); return toAjax(riskEvaluationPlanService.updateRiskEvaluationPlan(riskEvaluationPlan)); } /** * 获取该登录用户需要辨识的列表 * @return */ @GetMapping("/identify") public String getIdentifyList() { return prefix + "/getIdentifyList"; } /** * 返回用户辨识页面 * @param riskEvaluationPlan * @return */ @PostMapping("/getIdentifyList") @ResponseBody public TableDataInfo getIdentifyList(RiskEvaluationPlan riskEvaluationPlan){ User user = ShiroUtils.getSysUser(); //辨识人是该用户的 riskEvaluationPlan.setIdentifyUserId(user.getUserId()); riskEvaluationPlan.setCompanyId(user.getCompanyId()); startPage(); List list = riskEvaluationPlanService.selectRiskEvaluationPlanList(riskEvaluationPlan); return getDataTable(list); } /** * 辨识计划的修改页面 * @param planId * @param mmap * @return */ @GetMapping("/editByIdentify/{planId}") public String editByIdentify(@PathVariable("planId") Long planId, ModelMap mmap) { RiskEvaluationPlan riskEvaluationPlan = riskEvaluationPlanService.selectRiskEvaluationPlanById(planId); mmap.put("riskEvaluationPlan", riskEvaluationPlan); return prefix + "/editByIdentify"; } /** * 辨识计划的修改页面 * @param planId * @param mmap * @return */ @GetMapping("/detailByIdentify/{planId}") public String detailByIdentify(@PathVariable("planId") Long planId, ModelMap mmap){ RiskEvaluationPlan riskEvaluationPlan = riskEvaluationPlanService.selectRiskEvaluationPlanById(planId); mmap.put("riskEvaluationPlan", riskEvaluationPlan); return prefix + "/detailByIdentify"; } }