package com.ruoyi.project.tr.riskCheckPoint.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.page.TableDataInfo; import com.ruoyi.project.enumerate.TrEvaluationMajorEnum; import com.ruoyi.project.enumerate.TrEvaluationMethodTypeEnum; import com.ruoyi.project.enumerate.TrEvaluationStatusEnum; import com.ruoyi.project.enumerate.TrReviewStatusEnum; import com.ruoyi.project.system.role.service.IRoleService; import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.tr.hiddenDangerCheckPoint.domain.HiddenDangerCheckPoint; import com.ruoyi.project.tr.hiddenDangerCheckPoint.service.IHiddenDangerCheckPointService; 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 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 java.util.Date; import java.util.List; import java.util.Set; /** * 检查点及评价Controller * * @author wm * @date 2020-05-09 */ @Controller @RequestMapping("/tr/riskCheckPoint") public class RiskCheckPointController extends BaseController { private String prefix = "tr/riskCheckPoint"; @Autowired private IRiskCheckPointService riskCheckPointService; @Autowired private IRiskEvaluationPlanService riskEvaluationPlanService; @Autowired private IRoleService roleService; @Autowired private IHiddenDangerCheckPointService hiddenDangerCheckPointService; @Autowired private IRegionService regionService; @GetMapping() public String riskCheckPoint() { return prefix + "/riskCheckPoint"; } /** * 查询检查点及评价列表 */ @PostMapping("/list") @ResponseBody public TableDataInfo list(RiskCheckPoint riskCheckPoint) { startPage(); List list = riskCheckPointService.selectRiskCheckPointList(riskCheckPoint); return getDataTable(list); } /** * 导出检查点及评价列表 */ @Log(title = "检查点及评价", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(RiskCheckPoint riskCheckPoint) { List list = riskCheckPointService.selectRiskCheckPointList(riskCheckPoint); ExcelUtil util = new ExcelUtil(RiskCheckPoint.class); return util.exportExcel(list, "riskCheckPoint"); } /** * 新增检查点及评价 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存检查点及评价 */ @Log(title = "检查点及评价", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(RiskCheckPoint riskCheckPoint) { User user = ShiroUtils.getSysUser(); riskCheckPoint.setCompanyId(user.getCompanyId()); return toAjax(riskCheckPointService.insertRiskCheckPoint(riskCheckPoint)); } /** * 修改检查点及评价 */ @GetMapping("/edit/{checkPointId}") public String edit(@PathVariable("checkPointId") Long checkPointId, ModelMap mmap) { RiskCheckPoint riskCheckPoint = riskCheckPointService.selectRiskCheckPointById(checkPointId); mmap.put("riskCheckPoint", riskCheckPoint); return prefix + "/edit"; } /** * 修改保存检查点及评价 */ @Log(title = "检查点及评价", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(RiskCheckPoint riskCheckPoint) { return toAjax(riskCheckPointService.updateRiskCheckPoint(riskCheckPoint)); } /** * 修改保存检查点及评价 */ @Log(title = "检查点及评价", businessType = BusinessType.UPDATE) @PostMapping("/editByEvaluation") @ResponseBody public AjaxResult editSaveByEvaluation(RiskCheckPoint riskCheckPoint) { RiskCheckPoint oldRiskCheckPoint = riskCheckPointService.selectRiskCheckPointById(riskCheckPoint.getCheckPointId()); //判断是是否为已评价 if(TrEvaluationStatusEnum.EVALUATION.getCode().equals(riskCheckPoint.getEvaluationStatus())){ //获取风险单元负责人为其审核人 riskCheckPoint.setReviewUserId(oldRiskCheckPoint.getPlan().getRisk().getUserId()); //检查该项目是否还有未评价的检查点, RiskCheckPoint r = new RiskCheckPoint(); r.setPlan(riskCheckPoint.getPlan()); r.setCheckPointId(riskCheckPoint.getCheckPointId()); List rList = riskCheckPointService.selectRiskCheckPointListByNoEvaluation(r); if (rList.size()<=0){ //如果没有,阶段状态进入审核阶段 RiskEvaluationPlan plan = new RiskEvaluationPlan(); plan.setPlanId(riskCheckPoint.getPlanId()); plan.setStageStatus(4); riskEvaluationPlanService.updateRiskEvaluationPlan(plan); } //评审时判断其是否是已经审核过一次的,如果是,则重置其审核信息 if(!TrReviewStatusEnum.NO_REVIEW.getCode().equals(oldRiskCheckPoint.getReviewStatus())){ riskCheckPoint.setReviewStatus(TrReviewStatusEnum.NO_REVIEW.getCode()); riskCheckPoint.setReviewOpinion(" "); riskCheckPoint.setReviewTime(null); } } int i = riskCheckPointService.updateRiskCheckPoint(riskCheckPoint); hiddenDangerCheckPointService.getTaskCountTotal(getSysUser().getUserId());//查询未执行任务总数量并推送 return toAjax(i); } @Log(title = "检查点及评价", businessType = BusinessType.UPDATE) @PostMapping("/editByReview") @ResponseBody public AjaxResult editSaveByReview(RiskCheckPoint riskCheckPoint) { if(TrReviewStatusEnum.REVIEW_PASS.getCode().equals(riskCheckPoint.getReviewStatus())){ riskCheckPoint.setReviewTime(new Date()); } //如果是审核驳回,这将此条信息从已评价,改为待评价 if(TrReviewStatusEnum.REVIEW_NOT_PASS.getCode().equals(riskCheckPoint.getReviewStatus())){ riskCheckPoint.setEvaluationStatus(TrEvaluationStatusEnum.NOT_EVALUATION.getCode()); } int i = riskCheckPointService.updateRiskCheckPoint(riskCheckPoint); hiddenDangerCheckPointService.getTaskCountTotal(getSysUser().getUserId());//查询未执行任务总数量并推送 return toAjax(i); } /** * 删除检查点及评价 */ @Log(title = "检查点及评价", businessType = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(riskCheckPointService.deleteRiskCheckPointByIds(ids)); } /** * 新增检查点及评价 */ @GetMapping("/addIdentify/{identifyMethod}/{planId}") public String addIdentify(@PathVariable("identifyMethod")String identifyMethod,@PathVariable("planId") Long planId,ModelMap mmap){ mmap.put("planId",planId); return prefix + "/addIdentify"+identifyMethod; } /** * 根据不同的辨识类型,跳转至不同的编辑页面 * @param identifyMethod * @param checkPointId * @param mmap * @return */ @GetMapping("/editIdentify/{identifyMethod}/{checkPointId}") public String editIdentify(@PathVariable("identifyMethod")String identifyMethod, @PathVariable("checkPointId") Long checkPointId, ModelMap mmap) { RiskCheckPoint riskCheckPoint = riskCheckPointService.selectRiskCheckPointById(checkPointId); mmap.put("riskCheckPoint", riskCheckPoint); return prefix + "/editIdentify" +identifyMethod; } /** * 跳转至评价页面 * @return */ @GetMapping("/evaluation") public String listByEvaluation(){ return prefix + "/riskCheckPointByEvaluation"; } /** * 根据不同的评价类型,跳转至不同的评价页面 * @param checkPointId * @param mmap * @return */ @GetMapping("/editEvaluation/{checkPointId}") public String editEvaluation(@PathVariable("checkPointId") Long checkPointId, ModelMap mmap){ RiskCheckPoint riskCheckPoint = riskCheckPointService.selectRiskCheckPointById(checkPointId); mmap.put("riskCheckPoint", riskCheckPoint); //查出该检查点,选用的评价方法 Integer evaluationMethodType = riskCheckPoint.getEvaluationMethodType(); if(TrEvaluationMethodTypeEnum.LS.getMethodId().equals(evaluationMethodType)){ return prefix + "/editEvaluation" +TrEvaluationMethodTypeEnum.LS.getUrl(); }else if(TrEvaluationMethodTypeEnum.LEC.getMethodId().equals(evaluationMethodType)){ return prefix + "/editEvaluation" +TrEvaluationMethodTypeEnum.LEC.getUrl(); }else if(TrEvaluationMethodTypeEnum.MES.getMethodId().equals(evaluationMethodType)){ return prefix + "/editEvaluation" +TrEvaluationMethodTypeEnum.MES.getUrl(); }else if(TrEvaluationMethodTypeEnum.RS.getMethodId().equals(evaluationMethodType)){ return prefix + "/editEvaluation" +TrEvaluationMethodTypeEnum.RS.getUrl(); }else{ return "/error/404"; } } @PostMapping("/listByEvaluation") @ResponseBody public TableDataInfo listByEvaluation(RiskCheckPoint riskCheckPoint) { //查询评价人为当前用户的列表 riskCheckPoint.setEvaluationUserId(ShiroUtils.getUserId()); startPage(); List list = riskCheckPointService.selectRiskCheckPointList(riskCheckPoint); return getDataTable(list); } /** * 跳转至审核页面 * @return */ @GetMapping("/review") public String listByReview() { return prefix + "/riskCheckPointByReview"; } /** * 审核页面的列表内容查询 */ @PostMapping("/listByReview") @ResponseBody public TableDataInfo listByReview(RiskCheckPoint riskCheckPoint){ //查询审核人为当前用户的, riskCheckPoint.setReviewUserId(ShiroUtils.getUserId()); startPage(); List list = riskCheckPointService.selectRiskCheckPointList(riskCheckPoint); return getDataTable(list); } /** * 跳转至审核的编辑页面 * @param checkPointId * @param mmap * @return */ @GetMapping("/editReview/{checkPointId}") public String editReview(@PathVariable("checkPointId") Long checkPointId, ModelMap mmap){ RiskCheckPoint riskCheckPoint = riskCheckPointService.selectRiskCheckPointById(checkPointId); mmap.put("riskCheckPoint", riskCheckPoint); //查出该检查点,选用的评价方法 Integer evaluationMethodType = riskCheckPoint.getEvaluationMethodType(); if(TrEvaluationMethodTypeEnum.LS.getMethodId().equals(evaluationMethodType)){ return prefix + "/editReview" +TrEvaluationMethodTypeEnum.LS.getUrl(); }else if(TrEvaluationMethodTypeEnum.LEC.getMethodId().equals(evaluationMethodType)){ return prefix + "/editReview" +TrEvaluationMethodTypeEnum.LEC.getUrl(); }else if(TrEvaluationMethodTypeEnum.MES.getMethodId().equals(evaluationMethodType)){ return prefix + "/editReview" +TrEvaluationMethodTypeEnum.MES.getUrl(); }else{ return null; } } /** * 查询检查点详情 * @param checkPointId * @param mmap * @return */ @GetMapping("/detail/{checkPointId}") public String detail(@PathVariable("checkPointId") Long checkPointId, ModelMap mmap){ RiskCheckPoint riskCheckPoint = riskCheckPointService.selectRiskCheckPointById(checkPointId); mmap.put("riskCheckPoint", riskCheckPoint); //查出该检查点,选用的评价方法 Integer evaluationMethodType = riskCheckPoint.getEvaluationMethodType(); if(TrEvaluationMethodTypeEnum.LS.getMethodId().equals(evaluationMethodType)){ return prefix + "/detail" +TrEvaluationMethodTypeEnum.LS.getUrl(); }else if(TrEvaluationMethodTypeEnum.LEC.getMethodId().equals(evaluationMethodType)){ return prefix + "/detail" +TrEvaluationMethodTypeEnum.LEC.getUrl(); }else if(TrEvaluationMethodTypeEnum.MES.getMethodId().equals(evaluationMethodType)){ return prefix + "/detail" +TrEvaluationMethodTypeEnum.MES.getUrl(); }else if(TrEvaluationMethodTypeEnum.RS.getMethodId().equals(evaluationMethodType)){ return prefix + "/detail" +TrEvaluationMethodTypeEnum.RS.getUrl(); }else{ return "/error/404"; } } /** * 用于记录风险清单台账 * @return */ @GetMapping("/ledger") public String ledger(ModelMap modelMap){ User user = getSysUser(); Long companyId = user.getCompanyId(); Set stringSet = roleService.selectRoleKeys(user.getUserId()); if (stringSet.contains("common")){ modelMap.put("common", "common"); }else{ } //查询该公司所有区域 List regionList = regionService.selectRegionListByCompanyId(companyId); modelMap.put("regionList", regionList); modelMap.put("companyId",companyId); return prefix + "/ledger"; } /** * 用于记录风险清单台账 * @return */ @GetMapping("/ledger/{companyId}/{level}") public String ledgerByCompanyIdAndRiskLevel(ModelMap modelMap, @PathVariable("companyId") Long companyId,@PathVariable("level") String level){ //查询该公司所有区域 List regionList = regionService.selectRegionListByCompanyId(companyId); modelMap.put("regionList", regionList); modelMap.put("companyId",companyId); if("major".equals(level)){ //重大风险 modelMap.put("level","重大"); }else if("larger".equals(level)){ //较大风险 modelMap.put("level","较大"); }else if("general".equals(level)){ //一般风险 modelMap.put("level","一般"); }else if("low".equals(level)){ modelMap.put("level","低"); } return prefix + "/ledgerByCompanyIdAndRiskLevel"; } /** * 删除风险台账 */ @Log(title = "删除风险台账", businessType = BusinessType.DELETE) @PostMapping("/removeRiskCheckPointLedger") @ResponseBody public AjaxResult removeRiskCheckPointLedger(String ids) { if(StringUtils.isEmpty(ids)){ return AjaxResult.error("id不能为空"); } RiskCheckPoint rcp = riskCheckPointService.selectRiskCheckPointById(Long.valueOf(ids)); if(rcp.getCheckPointId()!=null){ riskCheckPointService.deleteRiskCheckPointById(rcp.getCheckPointId()); return AjaxResult.success(); } return AjaxResult.error("数据有误"); } /** * 根据指定公司id,跳转至该公司台账页面 * @param modelMap * @param companyId * @return */ @GetMapping("/ledger/{companyId}") public String ledgerByCompanyId(ModelMap modelMap, @PathVariable("companyId") String companyId){ //查询该公司所有区域 List regionList = regionService.selectRegionListByCompanyId(Long.valueOf(companyId)); modelMap.put("regionList", regionList); modelMap.put("companyId",companyId); return prefix + "/ledger"; } //判定为重大风险 @Log(title = "检查点判断为重大", businessType = BusinessType.UPDATE) @PostMapping("/major") @ResponseBody public AjaxResult distributePlan(RiskCheckPoint checkPoint) { RiskCheckPoint oldRiskCheckPoint = riskCheckPointService.selectRiskCheckPointById(checkPoint.getCheckPointId()); //检查该项目是否还有未评价的检查点, RiskCheckPoint r = new RiskCheckPoint(); r.setPlan(checkPoint.getPlan()); r.setCheckPointId(checkPoint.getCheckPointId()); List rList = riskCheckPointService.selectRiskCheckPointListByNoEvaluation(r); if (rList.size()<=0){ //如果没有,阶段状态进入审核阶段 RiskEvaluationPlan plan = new RiskEvaluationPlan(); plan.setPlanId(checkPoint.getPlanId()); plan.setStageStatus(4); riskEvaluationPlanService.updateRiskEvaluationPlan(plan); } //评审时判断其是否是已经审核过一次的,如果是,则重置其审核信息 if(!TrReviewStatusEnum.NO_REVIEW.getCode().equals(oldRiskCheckPoint.getReviewStatus())){ checkPoint.setReviewStatus(TrReviewStatusEnum.NO_REVIEW.getCode()); checkPoint.setReviewOpinion(" "); checkPoint.setReviewTime(null); } if(TrEvaluationMajorEnum.LS.getMethodId().equals(oldRiskCheckPoint.getEvaluationMethodType())){ checkPoint.setEvaluationNowFengxianzhi(TrEvaluationMajorEnum.LS.getFengxianzhi()); checkPoint.setEvaluationNowJibie(TrEvaluationMajorEnum.LS.getJibie()); checkPoint.setEvaluationNowFengxianJibie(TrEvaluationMajorEnum.LS.getFengxianJibie()); checkPoint.setEvaluationNowFengxianse(TrEvaluationMajorEnum.LS.getFengxianse()); checkPoint.setEvaluationNowGuankongCengji(TrEvaluationMajorEnum.LS.getGuankongCengji()); checkPoint.setEvaluationAfterFengxianzhi(TrEvaluationMajorEnum.LS.getFengxianzhi()); checkPoint.setEvaluationAfterJibie(TrEvaluationMajorEnum.LS.getJibie()); checkPoint.setEvaluationAfterFengxianJibie(TrEvaluationMajorEnum.LS.getFengxianJibie()); checkPoint.setEvaluationAfterFengxianse(TrEvaluationMajorEnum.LS.getFengxianse()); checkPoint.setEvaluationAfterGuankongCengji(TrEvaluationMajorEnum.LS.getGuankongCengji()); }else if(TrEvaluationMajorEnum.LEC.getMethodId().equals(oldRiskCheckPoint.getEvaluationMethodType())){ checkPoint.setEvaluationNowFengxianzhi(TrEvaluationMajorEnum.LEC.getFengxianzhi()); checkPoint.setEvaluationNowJibie(TrEvaluationMajorEnum.LEC.getJibie()); checkPoint.setEvaluationNowFengxianJibie(TrEvaluationMajorEnum.LEC.getFengxianJibie()); checkPoint.setEvaluationNowFengxianse(TrEvaluationMajorEnum.LEC.getFengxianse()); checkPoint.setEvaluationNowGuankongCengji(TrEvaluationMajorEnum.LEC.getGuankongCengji()); checkPoint.setEvaluationAfterFengxianzhi(TrEvaluationMajorEnum.LEC.getFengxianzhi()); checkPoint.setEvaluationAfterJibie(TrEvaluationMajorEnum.LEC.getJibie()); checkPoint.setEvaluationAfterFengxianJibie(TrEvaluationMajorEnum.LEC.getFengxianJibie()); checkPoint.setEvaluationAfterFengxianse(TrEvaluationMajorEnum.LEC.getFengxianse()); checkPoint.setEvaluationAfterGuankongCengji(TrEvaluationMajorEnum.LEC.getGuankongCengji()); }else if(TrEvaluationMajorEnum.MES.getMethodId().equals(oldRiskCheckPoint.getEvaluationMethodType())){ checkPoint.setEvaluationNowFengxianzhi(TrEvaluationMajorEnum.MES.getFengxianzhi()); checkPoint.setEvaluationNowJibie(TrEvaluationMajorEnum.MES.getJibie()); checkPoint.setEvaluationNowFengxianJibie(TrEvaluationMajorEnum.MES.getFengxianJibie()); checkPoint.setEvaluationNowFengxianse(TrEvaluationMajorEnum.MES.getFengxianse()); checkPoint.setEvaluationNowGuankongCengji(TrEvaluationMajorEnum.MES.getGuankongCengji()); checkPoint.setEvaluationAfterFengxianzhi(TrEvaluationMajorEnum.MES.getFengxianzhi()); checkPoint.setEvaluationAfterJibie(TrEvaluationMajorEnum.MES.getJibie()); checkPoint.setEvaluationAfterFengxianJibie(TrEvaluationMajorEnum.MES.getFengxianJibie()); checkPoint.setEvaluationAfterFengxianse(TrEvaluationMajorEnum.MES.getFengxianse()); checkPoint.setEvaluationAfterGuankongCengji(TrEvaluationMajorEnum.MES.getGuankongCengji()); }else if(TrEvaluationMajorEnum.RS.getMethodId().equals(oldRiskCheckPoint.getEvaluationMethodType())){ checkPoint.setEvaluationNowFengxianzhi(TrEvaluationMajorEnum.RS.getFengxianzhi()); checkPoint.setEvaluationNowJibie(TrEvaluationMajorEnum.RS.getJibie()); checkPoint.setEvaluationNowFengxianJibie(TrEvaluationMajorEnum.RS.getFengxianJibie()); checkPoint.setEvaluationNowFengxianse(TrEvaluationMajorEnum.RS.getFengxianse()); checkPoint.setEvaluationNowGuankongCengji(TrEvaluationMajorEnum.RS.getGuankongCengji()); checkPoint.setEvaluationAfterFengxianzhi(TrEvaluationMajorEnum.RS.getFengxianzhi()); checkPoint.setEvaluationAfterJibie(TrEvaluationMajorEnum.RS.getJibie()); checkPoint.setEvaluationAfterFengxianJibie(TrEvaluationMajorEnum.RS.getFengxianJibie()); checkPoint.setEvaluationAfterFengxianse(TrEvaluationMajorEnum.RS.getFengxianse()); checkPoint.setEvaluationAfterGuankongCengji(TrEvaluationMajorEnum.RS.getGuankongCengji()); } //风险单元直接为已评价 checkPoint.setEvaluationStatus(TrEvaluationStatusEnum.EVALUATION.getCode()); //获取风险单元负责人为其审核人 checkPoint.setReviewUserId(oldRiskCheckPoint.getPlan().getRisk().getUserId()); int i = riskCheckPointService.updateRiskCheckPoint(checkPoint); hiddenDangerCheckPointService.getTaskCountTotal(getSysUser().getUserId());//查询未执行任务总数量并推送 return toAjax(i); } }