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.RiskEvent; 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.RiskEventExportVo; import com.gk.hotwork.Service.ExcelExportService; import com.gk.hotwork.Service.RiskEventService; 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.File; import java.io.FileInputStream; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import static com.gk.hotwork.Domain.Utils.Properties.filePath; @Api(tags = "安全风险事件") @RestController @RequestMapping("/riskEvent") public class RiskEventController extends BaseController { @Autowired private RiskEventService riskEventService; @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 = "{}"), }) public Msg selectPage(@RequestBody FilterObject filterObject) { Integer pageIndex = filterObject.getPageIndex(); Integer pageSize = filterObject.getPageSize(); IPage page = riskEventService.selectPage(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); return success(page); } @ApiOperation("/新增") @PostMapping("/add") @ApiImplicitParams({ @ApiImplicitParam(name = "riskUnitId",value = "所属安全风险单元id"), @ApiImplicitParam(name = "riskEventName",value = "安全风险事件名称"), }) public Msg add(@RequestBody RiskEvent riskEventVo) { riskEventService.addOne(riskEventVo, getUser()); return success(); } @ApiOperation("/修改") @PostMapping("/mod") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "id"), @ApiImplicitParam(name = "riskUnitId",value = "所属安全风险单元id"), @ApiImplicitParam(name = "riskEventName",value = "安全风险事件名称"), }) public Msg mod(@RequestBody RiskEvent riskEventVo) { riskEventService.modOne(riskEventVo, getUser()); return success(); } @ApiOperation("/删除") @PostMapping("/del") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "id"), }) public Msg mod(@RequestBody JSONObject jsonObject) { Long id = jsonObject.getLong("id"); riskEventService.delOne(id, getUser()); return success(); } @ApiOperation("安全风险事件导出") @GetMapping("/export") @ApiImplicitParams({ @ApiImplicitParam(name = "filter.riskEventName",value = "{}"), @ApiImplicitParam(name = "filter.riskUnitName",value = "{}"), }) public Msg infoExport(HttpServletRequest request, HttpServletResponse response) throws Exception { Msg msg = new Msg(); msg.setCode("200"); msg.setMessage("success"); List riskEventList = riskEventService.getRiskEventList(request, response); msg.setResult(riskEventList); return msg; } @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.importRiskEventExcel(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; // } }