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.RiskSource; import com.gk.hotwork.Domain.UserInfo; import com.gk.hotwork.Domain.Utils.FileOptUtils; import com.gk.hotwork.Domain.Utils.JsonUtils; import com.gk.hotwork.Domain.Utils.Msg; import com.gk.hotwork.Domain.Vo.RiskEventExportVo; import com.gk.hotwork.Domain.Vo.RiskSourceSearchVo; import com.gk.hotwork.Domain.Vo.RiskSourceVo; import com.gk.hotwork.Domain.dto.RiskSourceDto; import com.gk.hotwork.Domain.dto.RiskSourceUpdateDto; import com.gk.hotwork.Service.ExcelExportService; import com.gk.hotwork.Service.RiskSourceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; 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.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.gk.hotwork.Domain.Utils.Properties.filePath; @Api(tags = "风险源管理") @RestController @RequestMapping("/riskSource") public class RiskSourceController extends BaseController { @Autowired private RiskSourceService riskSourceService; @Autowired private ExcelExportService excelExportService; @ApiOperation("新增风险源") @PostMapping("/new") @ApiImplicitParams({ @ApiImplicitParam(name = "name",value = "风险源名称"), @ApiImplicitParam(name = "type",value = "风险源类型,1-设施设备,2-作业活动"), @ApiImplicitParam(name = "level",value = "风险等级,1-低风险,2-一般风险,3-较大风险,4-重大风险"), @ApiImplicitParam(name = "accidentDesc",value = "可能导致的事故描述"), @ApiImplicitParam(name = "location",value = "区域位置"), @ApiImplicitParam(name = "depId",value = "所属部门ID"), }) public Msg createNew(@RequestBody RiskSourceDto riskSourceDto){ Msg msg = new Msg(); UserInfo userInfo = getUser(); if(userInfo!=null && userInfo.getId() > 0){ riskSourceDto.setCreateUid(userInfo.getId()); riskSourceDto.setCreateUname(userInfo.getRealname()); riskSourceDto.setEditUid(userInfo.getId()); riskSourceDto.setEditUname(userInfo.getRealname()); if(riskSourceService.insertOne(riskSourceDto)){ msg.setCode("200"); }else { msg.setCode(ErrorCode.ERROR_60001.getCode()); msg.setMessage("接口调用错误"); } }else { msg.setMessage("权限错误"); msg.setCode(ErrorCode.ERROR_20001.getCode()); } return msg; } @ApiOperation("ID查找风险源") @GetMapping("/find/id") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "风险源id"), }) public Msg getOneById(@RequestParam Long id){ Msg msg = new Msg(); RiskSource riskSource = riskSourceService.findById(id); if(riskSource!=null && riskSource.getId() > 0){ RiskSourceDto dto = new RiskSourceDto(); BeanUtils.copyProperties(riskSource,dto); msg.setCode("200"); msg.setResult(dto); }else { msg.setCode(ErrorCode.ERROR_50001.getCode()); msg.setMessage("未找到数据"); } return msg; } @ApiOperation("ID查找风险源") @ApiImplicitParams({ @ApiImplicitParam(name = "name",value = "风险源名称"), @ApiImplicitParam(name = "type",value = "风险源类型,1-设施设备,2-作业活动"), @ApiImplicitParam(name = "level",value = "风险等级,1-低风险,2-一般风险,3-较大风险,4-重大风险"), @ApiImplicitParam(name = "status",value = "状态,1-有效,2-无效,3-删除"), @ApiImplicitParam(name = "location",value = "区域位置"), @ApiImplicitParam(name = "depId",value = "所属部门ID"), @ApiImplicitParam(name = "depName",value = "所属部门名称"), @ApiImplicitParam(name = "startTime",value = "查询条件-创建时间-开始"), @ApiImplicitParam(name = "endTime",value = "查询条件-创建时间-结束"), @ApiImplicitParam(name = "pageIndex",value = "查询的页数"), @ApiImplicitParam(name = "pageSize",value = "分页条目数") }) // @PostMapping("/find/list") @RequestMapping(value = "/find/list",method = RequestMethod.POST) public Msg getListByConditions(@RequestBody RiskSourceSearchVo searchVo){ Msg msg = new Msg(); IPage page = riskSourceService.findRiskSourceListByConditions(new Page<>(searchVo.getPageIndex(),searchVo.getPageSize()),searchVo); if(page!=null && page.getRecords()!=null && page.getRecords().size()>0){ List dtoList = new ArrayList<>(); page.getRecords().forEach(riskSource -> { RiskSourceDto dto = new RiskSourceDto(); BeanUtils.copyProperties(riskSource,dto); dtoList.add(dto); }); msg.setCode("200"); msg.setResult(dtoList); Map pageInfo = new HashMap<>(); pageInfo.put("page",page.getPages()); pageInfo.put("pageSize",searchVo.getPageSize()); pageInfo.put("totalCount",page.getTotal()); msg.setMessage(JsonUtils.toJson(pageInfo)); }else { msg.setCode(ErrorCode.ERROR_50001.getCode()); msg.setMessage("未找到数据"); } return msg; } @ApiOperation("更新风险源信息") @PostMapping("/update/one") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "风险源ID",required = true), @ApiImplicitParam(name = "name",value = "风险源名称,不超过15个字符"), @ApiImplicitParam(name = "type",value = "风险源类型,1-设施设备,2-作业活动"), @ApiImplicitParam(name = "level",value = "风险等级,1-低风险,2-一般风险,3-较大风险,4-重大风险"), @ApiImplicitParam(name = "location",value = "区域位置,不超过30个字符"), @ApiImplicitParam(name = "depId",value = "所属部门ID"), @ApiImplicitParam(name = "accidentDesc",value = "可能导致的事故描述,不超过50个字符") }) public Msg updateOne(@RequestBody RiskSourceUpdateDto riskSourceUpdateDto){ Msg msg = new Msg(); riskSourceUpdateDto.setEditUid(getUser().getId()); if(riskSourceService.updateById(riskSourceUpdateDto)){ msg.setCode("200"); }else { msg.setCode(ErrorCode.ERROR_50002.getCode()); msg.setMessage("更新出错"); } return msg; } @ApiOperation("删除") @PostMapping("/del/one") public Msg delOne(@RequestBody JSONObject json) { Long id = json.getLong("id"); riskSourceService.delOne(id, getUser()); return success(); } @ApiOperation("风险源导出") @GetMapping("/export") @ApiImplicitParams({ @ApiImplicitParam(name = "filter.riskEventName",value = "{}"), @ApiImplicitParam(name = "filter.riskUnitName",value = "{}"), }) public Msg RiskSourceExport(HttpServletRequest request, HttpServletResponse response) throws Exception { Msg msg = new Msg(); msg.setCode("200"); msg.setMessage("success"); List riskSourceExport = riskSourceService.getRiskSourceExport(request, response); msg.setResult(riskSourceExport); 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.importRiskSourceExcel(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; // } }