package com.ruoyi.project.tr.baseCheckPoint.controller; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.github.pagehelper.util.StringUtil; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.security.ShiroUtils; import com.ruoyi.project.enumerate.TrEvaluationMethodDetailsEnum; import com.ruoyi.project.enumerate.TrEvaluationMethodTypeEnum; import com.ruoyi.project.system.dept.domain.Dept; import com.ruoyi.project.system.user.domain.User; import com.ruoyi.project.system.user.service.IUserService; import com.ruoyi.project.tr.criterionDetail.domain.CriterionDetail; import com.ruoyi.project.tr.region.domain.Region; import com.ruoyi.project.tr.riskCheckPoint.domain.RiskCheckPoint; import com.ruoyi.project.tr.riskEvaluationPlan.domain.RiskEvaluationPlan; import com.ruoyi.project.tr.riskEvaluationPlan.domain.dto.RiskEvaluationDTO; import com.ruoyi.project.tr.riskList.domain.RiskList; import com.ruoyi.project.tr.riskType.domain.RiskType; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; 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.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.baseCheckPoint.domain.BaseCheckPoint; import com.ruoyi.project.tr.baseCheckPoint.service.IBaseCheckPointService; 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; import org.springframework.web.multipart.MultipartFile; /** * 基础清单检查点Controller * * @author wm * @date 2020-07-21 */ @Controller @RequestMapping("/tr/baseCheckPoint") public class BaseCheckPointController extends BaseController { private String prefix = "tr/baseCheckPoint"; @Autowired private IBaseCheckPointService baseCheckPointService; @Autowired private IUserService userService; @GetMapping("{riskId}") public String baseCheckPoint(@PathVariable("riskId")Long riskId,ModelMap modelMap) { modelMap.put("riskId",riskId); return prefix + "/baseCheckPoint"; } /** * 查询基础清单检查点列表 */ @PostMapping("/list") @ResponseBody public TableDataInfo list(BaseCheckPoint baseCheckPoint) { startPage(); List list = baseCheckPointService.selectBaseCheckPointList(baseCheckPoint); return getDataTable(list); } /** * 基础清单检查点的导入 * @param file * @return * @throws Exception */ @Log(title = "基础清单检查点导入", businessType = BusinessType.IMPORT) @PostMapping("/importData") @ResponseBody @Transactional public AjaxResult importData(MultipartFile file,String riskId) throws Exception { if(StringUtils.isEmpty(riskId)){ return AjaxResult.error("参数有误,基础清单不能为空!"); }else { ExcelUtil util = new ExcelUtil(BaseCheckPoint.class); List baseCheckPointList = util.importExcel(file.getInputStream()); Boolean judgeDataBlean = Boolean.TRUE; String errorMessage = ""; for (int i = 0; i < baseCheckPointList.size(); i++) { BaseCheckPoint baseCheckPoint = baseCheckPointList.get(i); if (StringUtil.isEmpty(baseCheckPoint.getCheckContent())) { judgeDataBlean = Boolean.FALSE; errorMessage += StringUtils.isEmpty(errorMessage)? "第" + (i + 1) + "行,该[检查内容]不能为空" :"
第" + (i + 1) + "行,该[检查内容]不能为空"; } } if(!judgeDataBlean){ return AjaxResult.error(errorMessage); } for (int i = 0; i < baseCheckPointList.size(); i++) { BaseCheckPoint baseCheckPoint = baseCheckPointList.get(i); baseCheckPoint.setRiskId(Long.valueOf(riskId)); baseCheckPoint.setCreateBy(ShiroUtils.getLoginName()); baseCheckPoint.setCreateTime(DateUtils.getNowDate()); baseCheckPointService.insertBaseCheckPoint(baseCheckPoint); } return AjaxResult.success("导入成功!"); } } /** * 导出基础清单检查点列表 */ @Log(title = "基础清单检查点", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody public AjaxResult export(BaseCheckPoint baseCheckPoint) { List list = baseCheckPointService.selectBaseCheckPointList(baseCheckPoint); ExcelUtil util = new ExcelUtil(BaseCheckPoint.class); return util.exportExcel(list, "baseCheckPoint"); } /** * 新增基础清单检查点 */ @GetMapping("/add/{riskId}") public String add(@PathVariable("riskId")Long riskId ,ModelMap modelMap) { modelMap.put("riksId",riskId); return prefix + "/add"; } /** * 新增保存基础清单检查点 */ @Log(title = "基础清单检查点", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(BaseCheckPoint baseCheckPoint) { return toAjax(baseCheckPointService.insertBaseCheckPoint(baseCheckPoint)); } /** * 修改基础清单检查点 */ @GetMapping("/edit/{checkPointId}") public String edit(@PathVariable("checkPointId") Long checkPointId, ModelMap mmap) { BaseCheckPoint baseCheckPoint = baseCheckPointService.selectBaseCheckPointById(checkPointId); mmap.put("baseCheckPoint", baseCheckPoint); return prefix + "/edit"; } /** * 修改保存基础清单检查点 */ @Log(title = "基础清单检查点", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(BaseCheckPoint baseCheckPoint) { return toAjax(baseCheckPointService.updateBaseCheckPoint(baseCheckPoint)); } /** * 删除基础清单检查点 */ @Log(title = "基础清单检查点", businessType = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { return toAjax(baseCheckPointService.deleteBaseCheckPointByIds(ids)); } }