package com.ruoyi.manage.controller; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.enums.CellExtraTypeEnum; import com.alibaba.excel.read.listener.PageReadListener; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.deepoove.poi.data.style.*; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.manage.pojo.ManageRiskAssessmentResults; import com.ruoyi.manage.service.ManageRiskAssessmentResultsService; import com.ruoyi.manage.vo.ManageRiskAssessmentResultsVo; import com.deepoove.poi.data.style.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.LocalDateTime; import java.util.Map; /** *

* 危险因素辨识与风险评价结果一览表 前端控制器 *

* * @author 芯导软件(江苏)有限公司 * @since 2024-11-15 02:58:51 */ @Api(tags = "危险因素辨识与风险评价结果一览表") @RestController @RequestMapping("/manageRiskAssessmentResults") public class ManageRiskAssessmentResultsController { @Resource private ManageRiskAssessmentResultsService manageRiskAssessmentResultsService; @ApiOperation(value = "分页查询") @GetMapping("/getPageResults") public Result> getPageResults(Page page) { IPage ipage = manageRiskAssessmentResultsService.getPageResults(page); return Result.success(ipage); } @ApiOperation(value = "批准") @PostMapping("/hazardIdentificationAndRiskApproval") public Result hazardIdentificationAndRiskApproval(@RequestBody Map param) { Integer approve = param.get("approve"); Integer status = param.get("status"); manageRiskAssessmentResultsService.update(Wrappers.lambdaUpdate() .set(ManageRiskAssessmentResults::getApprove, approve) .set(ManageRiskAssessmentResults::getApproveStatus, status) .set(ManageRiskAssessmentResults::getApproveDate, LocalDateTime.now())); return Result.success(); } @ApiOperation(value = "审批") @PostMapping("/dangerousRiskApproval") public Result dangerousRiskApproval(@RequestBody Map param) { Integer approval = param.get("approval"); Integer status = param.get("status"); manageRiskAssessmentResultsService.update(Wrappers.lambdaUpdate() .set(ManageRiskAssessmentResults::getApproval, approval) .set(ManageRiskAssessmentResults::getApprovalStatus, status) .set(ManageRiskAssessmentResults::getApprovalDate, LocalDateTime.now())); return Result.success(); } @ApiOperation(value = "导入") @PostMapping("/riskAssessmentImport") public void riskAssessmentImport(MultipartFile file) throws IOException { boolean excelFile = isExcelFile(file); if (!excelFile) { throw new ErrorException("请导入excel文件!"); } EasyExcel.read(file.getInputStream(), ManageRiskAssessmentResults.class, new PageReadListener(dataList -> { Integer userId = SecurityUtils.getUserId().intValue(); dataList.forEach(i -> { i.setEditor(userId); i.setEditorDate(LocalDateTime.now()); i.setApproveStatus(0); i.setApprovalStatus(0); }); manageRiskAssessmentResultsService.saveOrUpdateBatch(dataList); })).extraRead(CellExtraTypeEnum.MERGE).sheet().doRead(); } @ApiOperation(value = "新增") @PostMapping("/addNewRiskFactors") public void addNewRiskFactors(@RequestBody ManageRiskAssessmentResults manageRiskAssessmentResults) { Integer userId = SecurityUtils.getUserId().intValue(); manageRiskAssessmentResults.setEditor(userId); manageRiskAssessmentResults.setEditorDate(LocalDateTime.now()); manageRiskAssessmentResultsService.saveOrUpdate(manageRiskAssessmentResults); } @ApiOperation(value = "删除") @GetMapping("/removeRiskFactors") public void removeRiskFactors(Integer id) { manageRiskAssessmentResultsService.removeById(id); } @ApiOperation(value = "导出危险因素辨识与风险评价结果一览") @GetMapping("/exportHazardFactorIdentification") public void exportPersonTraining(HttpServletResponse response){ manageRiskAssessmentResultsService.exportPersonTraining(response); } public static boolean isExcelFile(MultipartFile file) { if (file.isEmpty()) { return false; } String originalFilename = file.getOriginalFilename(); if (originalFilename == null) { return false; } String[] parts = originalFilename.split("\\."); if (parts.length == 0) { return false; } String fileExtension = parts[parts.length - 1].toLowerCase(); return fileExtension.equals("xls") || fileExtension.equals("xlsx"); } }