package com.gk.hotwork.Controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gk.hotwork.Controller.Base.BaseController; import com.gk.hotwork.Domain.Enum.ErrorCode; import com.gk.hotwork.Domain.Exception.BusinessException; import com.gk.hotwork.Domain.RiskControlMeasure; import com.gk.hotwork.Domain.Utils.FileOptUtils; import com.gk.hotwork.Domain.Utils.FilterObject; import com.gk.hotwork.Domain.Utils.Msg; import com.gk.hotwork.Domain.Vo.RiskControlMeasureExportVo; import com.gk.hotwork.Service.ExcelExportService; import com.gk.hotwork.Service.RiskControlMeasureService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; 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.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.List; import static com.gk.hotwork.Domain.Utils.Properties.filePath; @Api(tags = "安全风险管控措施") @RestController @RequestMapping("/riskControlMeasure") public class RiskControlMeasureController extends BaseController { @Autowired private RiskControlMeasureService riskControlMeasureService; @Autowired private ExcelExportService excelExportService; @ApiOperation("分页") @PostMapping("/page") @ApiImplicitParams({ @ApiImplicitParam(name = "pageIndex",value = "当前页码"), @ApiImplicitParam(name = "pageSize",value = "每页行数"), @ApiImplicitParam(name = "filter.riskEventName",value = "{}"), @ApiImplicitParam(name = "filter.riskUnitName",value = "{}"), @ApiImplicitParam(name = "filter.dataSrc",value = "{}"), }) public Msg selectPage(@RequestBody FilterObject filterObject) { Integer pageIndex = filterObject.getPageIndex(); Integer pageSize = filterObject.getPageSize(); IPage page = riskControlMeasureService.selectPage(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); return success(page); } @ApiOperation("ID查找管控措施") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "管控措施ID") }) @GetMapping("/get/id") public Msg selectById(Long id){ Msg msg = new Msg(); RiskControlMeasure measure = riskControlMeasureService.getById(id); if(measure != null && measure.getId() > 0){ msg.setCode("200"); msg.setResult(measure); }else { msg.setCode(ErrorCode.ERROR_50001.getCode()); msg.setMessage(ErrorCode.ERROR_50001.getMsg()); } return msg; } @ApiOperation("新增") @PostMapping("/add") @ApiImplicitParams({ @ApiImplicitParam(name = "riskEventId",value = "所属安全事件id"), @ApiImplicitParam(name = "dataSrc",value = "自动化监控:1;隐患排查2 (数据字典)"), @ApiImplicitParam(name = "riskMeasureDesc",value = "管控措施描述"), @ApiImplicitParam(name = "classify1",value = "分类1"), @ApiImplicitParam(name = "classify2",value = "分类2"), @ApiImplicitParam(name = "classify3",value = "企业自定义分类"), @ApiImplicitParam(name = "troubleshootContent",value = "隐患排查内容"), }) public Msg add(@RequestBody RiskControlMeasure riskControlMeasureVo) { riskControlMeasureService.addOne(riskControlMeasureVo, getUser()); return success(); } @ApiOperation("修改") @PostMapping("/mod") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "id"), @ApiImplicitParam(name = "riskEventId",value = "所属安全事件id"), @ApiImplicitParam(name = "dataSrc",value = "自动化监控:1;隐患排查2 (数据字典)"), @ApiImplicitParam(name = "riskMeasureDesc",value = "管控措施描述"), @ApiImplicitParam(name = "classify1",value = "分类1"), @ApiImplicitParam(name = "classify3",value = "企业自定义分类"), @ApiImplicitParam(name = "troubleshootContent",value = "隐患排查内容"), }) public Msg mod(@RequestBody RiskControlMeasure riskControlMeasureVo) { riskControlMeasureService.modOne(riskControlMeasureVo, getUser()); return success(); } @ApiOperation("删除") @PostMapping("/del") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "id"), }) public Msg del(@RequestBody JSONObject jsonObject) { Long id = jsonObject.getLong("id"); riskControlMeasureService.delOne(id, getUser()); return success(); } @ApiOperation("安全风险管控措施数据导出") @GetMapping("/export") @ApiImplicitParams({ @ApiImplicitParam(name = "filter.riskEventName",value = "{}"), @ApiImplicitParam(name = "filter.dataSrc",value = "{}"), }) public Msg infoExport(HttpServletRequest request, HttpServletResponse response) throws Exception { Msg msg = new Msg(); msg.setCode("200"); msg.setMessage("success"); List list = riskControlMeasureService.getRiskControlMeasureList(request, response); msg.setResult(list); return msg; } //List list = riskControlMeasureService.getRiskControlMeasureList(); @ApiOperation("安全风险管控措施数据导入") @PostMapping("/import") public Msg infoImport(MultipartFile file) { Msg msg = new Msg(); msg.setCode("200"); msg.setMessage("success"); String filesave =""; try { if (file == null) { msg.setCode("404"); msg.setMessage("上传文件未找到"); return msg; } long size = file.getSize(); if(0 == size) { msg.setCode("404"); msg.setMessage("上传文件大小为空"); return msg; } if (!FileOptUtils.isDirExists(filePath)) { msg.setCode(ErrorCode.ERROR_10004.getCode()); msg.setMessage("发生错误或不为目录"); return msg; } if (!FileOptUtils.isDirExists(filePath)) { msg.setCode(ErrorCode.ERROR_10004.getCode()); msg.setMessage("发生错误或不为目录"); return msg; } filesave = filePath + getUser().getRealname() + "_" + ".xlsx"; file.transferTo(new File(filesave)); InputStream in = new FileInputStream(filesave); String name = file.getOriginalFilename(); Boolean isExcel2007 = name.substring(name.lastIndexOf(".") + 1).endsWith("xlsx") ? true : false; //riskEventService.importRiskEventData(param, getUser()); excelExportService.importRiskControlMeasureExcel(in, getUser().getRealname(), isExcel2007); } catch (BusinessException e) { e.printStackTrace(); msg.setCode(ErrorCode.ERROR_10004.getCode()); msg.setMessage(e.getMessage()); } catch (Exception e) { e.printStackTrace(); msg.setCode(ErrorCode.ERROR_10004.getCode()); msg.setMessage("导入发生错误"); } return msg; } }