package com.gk.hotwork.Service.ServiceImpl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gk.hotwork.Domain.Exception.BusinessException;
|
import com.gk.hotwork.Domain.RiskControlMeasure;
|
import com.gk.hotwork.Domain.RiskEvent;
|
import com.gk.hotwork.Domain.UserInfo;
|
import com.gk.hotwork.Domain.Utils.BeanUtils;
|
import com.gk.hotwork.Domain.Utils.StringUtils;
|
import com.gk.hotwork.Domain.Vo.RiskControlMeasureExportVo;
|
import com.gk.hotwork.Mapper.RiskControlMeasureMapper;
|
import com.gk.hotwork.Service.RiskControlMeasureService;
|
import com.gk.hotwork.Service.RiskEventService;
|
import org.apache.commons.beanutils.DynaBean;
|
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.poi.hssf.usermodel.*;
|
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
import org.checkerframework.checker.units.qual.A;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.*;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
/**
|
* @author celin
|
*/
|
@Service("riskControlMeasure")
|
public class RiskControlMeasureServiceImpl extends ServiceImpl<RiskControlMeasureMapper, RiskControlMeasure> implements RiskControlMeasureService {
|
|
@Autowired
|
private RiskControlMeasureMapper riskControlMeasureMapper;
|
@Autowired
|
private RiskEventService riskEventService;
|
|
/**
|
* @Description: 分页
|
*/
|
@Override
|
public IPage<RiskControlMeasure> selectPage(Page<RiskControlMeasure> page, Map<String, Object> filter, UserInfo user) {
|
return riskControlMeasureMapper.selectPages(page,filter);
|
}
|
|
|
/**
|
* @Description: 新增
|
*/
|
@Override
|
public void addOne(RiskControlMeasure riskControlMeasureVo,UserInfo userInfo) {
|
if (StringUtils.isBlank(riskControlMeasureVo.getClassify1()) ||
|
StringUtils.isBlank(riskControlMeasureVo.getClassify2()) ||
|
StringUtils.isBlank(riskControlMeasureVo.getDataSrc()))
|
throw new BusinessException("请填写分类");
|
if (riskControlMeasureVo.getRiskEventId() == null) throw new BusinessException("请选择风险事件");
|
|
int count = riskEventService.count(new LambdaQueryWrapper<RiskEvent>()
|
.eq(RiskEvent::getId, riskControlMeasureVo.getRiskEventId())
|
.eq(RiskEvent::getValidFlag, Boolean.TRUE));
|
if (count < 1) throw new BusinessException("风险事件不存在");
|
|
String username = userInfo.getRealname();
|
Date date = new Date();
|
riskControlMeasureVo.setCreateBy(username);
|
riskControlMeasureVo.setUpdateBy(username);
|
riskControlMeasureVo.setCreateTime(date);
|
riskControlMeasureVo.setUpdateTime(date);
|
riskControlMeasureVo.setValidFlag(Boolean.TRUE);
|
this.save(riskControlMeasureVo);
|
|
}
|
|
/**
|
* @Description: 修改
|
* @date 2022/3/17 14:32
|
*/
|
@Override
|
public void modOne(RiskControlMeasure riskControlMeasureVo, UserInfo user) {
|
if (riskControlMeasureVo.getId() == null) throw new BusinessException("id参数传递为空");
|
int measureCount = this.count(new LambdaQueryWrapper<RiskControlMeasure>().eq(RiskControlMeasure::getId, riskControlMeasureVo.getId()));
|
if (measureCount < 1) throw new BusinessException("找不到相应实体");
|
if (StringUtils.isBlank(riskControlMeasureVo.getClassify1()) ||
|
StringUtils.isBlank(riskControlMeasureVo.getClassify2()) ||
|
StringUtils.isBlank(riskControlMeasureVo.getDataSrc()))
|
throw new BusinessException("请填写分类");
|
|
if (riskControlMeasureVo.getRiskEventId() == null) throw new BusinessException("请选择风险事件");
|
int eventCount = riskEventService.count(new LambdaQueryWrapper<RiskEvent>()
|
.eq(RiskEvent::getId, riskControlMeasureVo.getRiskEventId())
|
.eq(RiskEvent::getValidFlag, Boolean.TRUE));
|
if (eventCount < 1) throw new BusinessException("风险事件不存在");
|
|
riskControlMeasureVo.setUpdateTime(new Date());
|
riskControlMeasureVo.setUpdateBy(user.getRealname());
|
this.updateById(riskControlMeasureVo);
|
}
|
|
|
/**
|
* @Description: 删除
|
*/
|
@Override
|
public void delOne(Long id, UserInfo user) {
|
if (id == null) throw new BusinessException("id参数传递为空");
|
int count = this.count(new LambdaQueryWrapper<RiskControlMeasure>().eq(RiskControlMeasure::getId, id));
|
if (count < 1) throw new BusinessException("找不到相应实体");
|
RiskControlMeasure delOne = new RiskControlMeasure();
|
delOne.setUpdateTime(new Date());
|
delOne.setUpdateBy(user.getRealname());
|
delOne.setValidFlag(Boolean.FALSE);
|
delOne.setId(id);
|
this.updateById(delOne);
|
}
|
/**
|
* @Description:
|
*/
|
@Override
|
public List<RiskControlMeasureExportVo> getRiskControlMeasureList(HttpServletRequest request, HttpServletResponse response) throws IOException {
|
|
List<RiskControlMeasure> riskMeasureList = riskControlMeasureMapper.getRiskControlMeasureList();
|
List<RiskControlMeasureExportVo> list = new ArrayList<>();
|
for (RiskControlMeasure riskControlMeasure : riskMeasureList) {
|
RiskControlMeasureExportVo copy = BeanUtils.copy(riskControlMeasure, RiskControlMeasureExportVo.class);
|
RiskEvent byId = riskEventService.getById(riskControlMeasure.getRiskEventId());
|
copy.setRiskEventName(byId.getRiskEventName());
|
list.add(copy);
|
}
|
return list;
|
// // RiskControlMeasureExportVo copy = BeanUtils.copy(riskMeasureList, RiskControlMeasureExportVo.class);
|
// //第一步创建一个webbook,对应一个Excel文件
|
// HSSFWorkbook wb=new HSSFWorkbook();
|
// //第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
|
// HSSFSheet sheet=wb.createSheet("管控措施");
|
// //第三步,在sheet中添加表头第0行
|
// HSSFRow row = sheet.createRow(0);
|
// //第四步,创建单元格,并设置表头居中
|
// HSSFCellStyle style = wb.createCellStyle();
|
// style.setAlignment(HorizontalAlignment.CENTER);//居中格式
|
//
|
// HSSFCell cell = row.createCell(0);
|
// cell.setCellValue("安全风险事件名称");
|
// cell.setCellStyle(style);
|
//
|
// cell=row.createCell((short)1);
|
// cell.setCellValue("管控方式");
|
// cell.setCellStyle(style);
|
//
|
// cell=row.createCell((short)2);
|
// cell.setCellValue("管控方式描述");
|
// cell.setCellStyle(style);
|
//
|
// cell=row.createCell((short)3);
|
// cell.setCellValue("管控措施分类1");
|
// cell.setCellStyle(style);
|
//
|
// cell=row.createCell((short)4);
|
// cell.setCellValue("管控措施分类2");
|
//
|
// cell.setCellStyle(style);
|
// cell=row.createCell((short)5);
|
// cell.setCellValue("管控措施分类3");
|
// cell.setCellStyle(style);
|
//
|
// cell=row.createCell((short)6);
|
// cell.setCellValue("隐患排查内容");
|
// cell.setCellStyle(style);
|
//
|
// cell=row.createCell((short)7);
|
// cell.setCellValue("周期");
|
// cell.setCellStyle(style);
|
//
|
// cell=row.createCell((short)8);
|
// cell.setCellValue("单位");
|
// cell.setCellStyle(style);
|
//
|
// for (int i = 0; i < list.size(); i++) {
|
// //创建单元格,并赋值
|
// row=sheet.createRow(i+1);
|
// RiskControlMeasureExportVo riskVo = list.get(i);
|
//
|
// row.createCell((short) 0).setCellValue(riskVo.getRiskEventName());
|
// row.createCell((short)1).setCellValue(riskVo.getDataSrc());
|
// row.createCell((short)2).setCellValue(riskVo.getRiskMeasureDesc());
|
// row.createCell((short)3).setCellValue(riskVo.getClassify1());
|
// row.createCell((short)4).setCellValue(riskVo.getClassify2());
|
// row.createCell((short)5).setCellValue(riskVo.getClassify3());
|
// row.createCell((short)6).setCellValue(riskVo.getTroubleshootContent());
|
// row.createCell((short)7).setCellValue(riskVo.getTimeEffect());
|
// row.createCell((short)8).setCellValue(riskVo.getTimeUnit());
|
// }
|
// //第六步,下载Excel
|
// FileOutputStream fileOutputStream = new FileOutputStream(new File("D:\\管控措施.xls"));
|
// wb.write(fileOutputStream);
|
|
|
}
|
@Transactional
|
@Override
|
public void importRiskControlMeasure(List<RiskControlMeasureExportVo> param, UserInfo user) {
|
|
if (CollectionUtils.isEmpty(param)){
|
throw new BusinessException("文件不能为空");
|
}
|
|
for (RiskControlMeasureExportVo riskControlMeasureVo : param) {
|
/**传入字段
|
* 安全风险事件名称(使用id) 管控方式dataSrc 管控方式描述riskMeasureDesc
|
* 管控措施分类1classify1 管控措施分类2classify2 管控措施分类3classify3 隐患排查内容troubleshootContent
|
* 补充字段
|
* 创建时间,修改时间,创建人,修改人,有效状态
|
* */
|
RiskEvent riskEventByName = riskEventService.getByRiskEventName(riskControlMeasureVo.getRiskEventName());
|
if (ObjectUtils.isEmpty(riskEventByName)){
|
throw new BusinessException("风险事件不存在");
|
}
|
|
if (riskControlMeasureVo.getDataSrc() == null ){
|
throw new BusinessException("请检查是否正确填写管控方式");
|
}
|
|
if (riskControlMeasureVo.getRiskMeasureDesc() == null ){
|
throw new BusinessException("请检查是否正确填写管控方式描述");
|
}
|
|
if (riskControlMeasureVo.getTroubleshootContent() == null ){
|
throw new BusinessException("请检查是否正确填写隐患排查内容");
|
}
|
|
if (riskControlMeasureVo.getClassify1() == null && riskControlMeasureVo.getClassify2() == null && riskControlMeasureVo.getClassify3() == null){
|
throw new BusinessException("请检查是否正确填写管控措施分类");
|
}
|
|
RiskControlMeasure riskControlMeasure = new RiskControlMeasure();
|
|
riskControlMeasure.setRiskEventId(riskEventByName.getId());
|
riskControlMeasure.setDataSrc(riskControlMeasure.getDataSrc());
|
riskControlMeasure.setRiskMeasureDesc(riskControlMeasureVo.getRiskMeasureDesc());
|
riskControlMeasure.setClassify1(riskControlMeasureVo.getClassify1());
|
riskControlMeasure.setClassify2(riskControlMeasureVo.getClassify2());
|
riskControlMeasure.setClassify3(riskControlMeasureVo.getClassify3());
|
riskControlMeasure.setTroubleshootContent(riskControlMeasureVo.getTroubleshootContent());
|
riskControlMeasure.setCreateBy(user.getRealname());
|
riskControlMeasure.setUpdateBy(user.getRealname());
|
riskControlMeasure.setCreateTime(new Date());
|
riskControlMeasure.setUpdateTime(new Date());
|
|
this.save(riskControlMeasure);
|
}
|
|
}
|
|
@Override
|
public String getByDataSrc(String trim) {
|
RiskControlMeasure byDataSrc = riskControlMeasureMapper.getByDataSrc(trim);
|
|
return byDataSrc.getDataSrc();
|
}
|
}
|