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.RiskAnaUnit;
|
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.RiskAnaUintExoprtVo;
|
import com.gk.hotwork.Service.ExcelExportService;
|
import com.gk.hotwork.Service.RiskAnaUnitService;
|
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.util.Map;
|
import java.util.List;
|
|
import static com.gk.hotwork.Domain.Utils.Properties.filePath;
|
|
/**
|
* @author celin
|
* @date 2022/3/16 14:39
|
*/
|
@Api(tags = "风险分析单元")
|
@RestController
|
@RequestMapping("/riskAnaUnit")
|
public class RiskAnaUintController extends BaseController {
|
|
@Autowired
|
private RiskAnaUnitService riskAnaUnitService;
|
@Autowired
|
private ExcelExportService excelExportService;
|
|
@ApiOperation("分页")
|
@PostMapping("/page")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex", value = "当前页码"),
|
@ApiImplicitParam(name = "pageSize", value = "每页行数"),
|
@ApiImplicitParam(name = "filter.riskUnitName", value = "{}"),
|
@ApiImplicitParam(name = "filter.hazardDep", value = "{}"),
|
@ApiImplicitParam(name = "filter.riskUnitName", value = "{}"),
|
})
|
public Msg selectPage(@RequestBody FilterObject filterObject) {
|
Integer pageIndex = filterObject.getPageIndex();
|
Integer pageSize = filterObject.getPageSize();
|
IPage<RiskAnaUnit> page = riskAnaUnitService.selectPage(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser());
|
return success(page);
|
}
|
|
@ApiOperation("新增")
|
@PostMapping("/add")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "hazardDepId", value = "部门id"),
|
@ApiImplicitParam(name = "hazardLiablePersonId", value = "负责人"),
|
@ApiImplicitParam(name = "riskUnitName", value = "风险单元名称"),
|
})
|
public Msg add(@RequestBody RiskAnaUnit riskAnaUnitVo) {
|
riskAnaUnitService.addOne(riskAnaUnitVo, getUser());
|
return success();
|
}
|
|
|
@ApiOperation("修改")
|
@PostMapping("/mod")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "id"),
|
@ApiImplicitParam(name = "hazardDepId", value = "部门id"),
|
@ApiImplicitParam(name = "hazardLiablePerson", value = "负责人"),
|
@ApiImplicitParam(name = "hazardLiablePersonId", value = "负责人"),
|
@ApiImplicitParam(name = "riskUnitName", value = "风险单元名称"),
|
})
|
public Msg mod(@RequestBody RiskAnaUnit riskAnaUnit) {
|
riskAnaUnitService.modOne(riskAnaUnit, getUser());
|
return success();
|
}
|
|
@ApiOperation("删除")
|
@PostMapping("/del")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "id"),
|
})
|
public Msg del(@RequestBody JSONObject jsonObj) {
|
Long id = jsonObj.getLong("id");
|
riskAnaUnitService.delOne(id, getUser());
|
return success();
|
}
|
|
|
@ApiOperation("风险分析个数部门分布")
|
@PostMapping("/department-analysis")
|
public Msg analysis(){
|
List<Map> list = riskAnaUnitService.selectDepartmentAnalysis();
|
return success(list);
|
}
|
|
@ApiOperation("风险分析单元数据导出")
|
@GetMapping("/export")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "filter.riskUnitName", value = "{}"),
|
@ApiImplicitParam(name = "filter.hazardDep", 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<RiskAnaUintExoprtVo> listVo = riskAnaUnitService.getInfo(request, response);
|
msg.setResult(listVo);
|
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.importRiskAnaUnitExcel(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;
|
}
|
}
|