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<RiskSource> page = riskSourceService.findRiskSourceListByConditions(new Page<>(searchVo.getPageIndex(),searchVo.getPageSize()),searchVo);
|
if(page!=null && page.getRecords()!=null && page.getRecords().size()>0){
|
List<RiskSourceDto> 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<String,Object> 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<RiskSourceVo> 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;
|
//
|
}
|
|
}
|