双重预防项目-国泰新华二开定制版
16639036659
2024-04-25 eb00873dcebd67ea72a04becff928f983cb80ec6
基础风险清单+检查点导入
已修改7个文件
已添加1个文件
238 ■■■■■ 文件已修改
src/main/java/com/ruoyi/doublePrevention/entity/SPI/TroubleData.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/tr/riskList/controller/BaseRiskController.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/tr/riskList/domain/ImportDataRespBO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/tr/riskList/mapper/RiskListMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/tr/riskList/service/IRiskListService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/project/tr/riskList/service/impl/RiskListServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mybatis/tr/RiskListMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/doublePrevention/entity/SPI/TroubleData.java
@@ -7,6 +7,11 @@
    private String time;
    private Integer count;
    private Integer rectifyFinish;
    private Integer rectifyNotFinish;
    private Integer generalDanger;
    private Integer majorDanger;
    private Integer accept;
    public String getTime() {
        return time;
@@ -23,4 +28,44 @@
    public void setCount(Integer count) {
        this.count = count;
    }
    public Integer getGeneralDanger() {
        return generalDanger;
    }
    public void setGeneralDanger(Integer generalDanger) {
        this.generalDanger = generalDanger;
    }
    public Integer getMajorDanger() {
        return majorDanger;
    }
    public void setMajorDanger(Integer majorDanger) {
        this.majorDanger = majorDanger;
    }
    public Integer getRectifyFinish() {
        return rectifyFinish;
    }
    public void setRectifyFinish(Integer rectifyFinish) {
        this.rectifyFinish = rectifyFinish;
    }
    public Integer getRectifyNotFinish() {
        return rectifyNotFinish;
    }
    public void setRectifyNotFinish(Integer rectifyNotFinish) {
        this.rectifyNotFinish = rectifyNotFinish;
    }
    public Integer getAccept() {
        return accept;
    }
    public void setAccept(Integer accept) {
        this.accept = accept;
    }
}
src/main/java/com/ruoyi/project/tr/riskList/controller/BaseRiskController.java
@@ -1,8 +1,16 @@
package com.ruoyi.project.tr.riskList.controller;
import com.github.pagehelper.util.StringUtil;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.doublePrevention.entity.PreventRiskCheckUnit;
import com.ruoyi.doublePrevention.entity.PreventRiskControlMeasure;
import com.ruoyi.doublePrevention.repository.param.PreventPointAndMeasureParams;
import com.ruoyi.doublePrevention.service.RiskService;
import com.ruoyi.doublePrevention.service.baseService.PreventCJReportRiskControlMeasureService;
import com.ruoyi.doublePrevention.service.baseService.PreventRiskControlMeasureService;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
@@ -10,14 +18,22 @@
import com.ruoyi.framework.web.page.TableDataInfo;
import com.ruoyi.project.enumerate.TrRiskTypeEnum;
import com.ruoyi.project.system.user.domain.User;
import com.ruoyi.project.tr.baseCheckPoint.domain.BaseCheckPoint;
import com.ruoyi.project.tr.baseCheckPoint.service.IBaseCheckPointService;
import com.ruoyi.project.tr.riskCheckPoint.service.IRiskCheckPointService;
import com.ruoyi.project.tr.riskList.domain.ImportDataRespBO;
import com.ruoyi.project.tr.riskList.domain.RiskList;
import com.ruoyi.project.tr.riskList.service.IRiskListService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -33,6 +49,16 @@
    @Autowired
    private IRiskListService riskListService;
    @Autowired
    private IBaseCheckPointService baseCheckPointService;
    @Autowired
    private PreventRiskControlMeasureService riskControlMeasureService;
    @Autowired
    private RiskService riskService;
    /**
     * 查询基础清单列表
@@ -151,6 +177,116 @@
    }
    /**
     * 基础排查清单+检查点的导入 todo
     * @param file
     * @return
     * @throws Exception
     */
    @Log(title = "基础排查清单+检查点的导入", businessType = BusinessType.IMPORT)
    @PostMapping("/importData")
    @ResponseBody
    @Transactional
    public AjaxResult importData(MultipartFile file) throws Exception {
        if (file.isEmpty()){
            return AjaxResult.error("文件不能为空");
        }else {
            ExcelUtil<ImportDataRespBO> util = new ExcelUtil<ImportDataRespBO>(ImportDataRespBO.class);
            System.out.println(file.getInputStream());
            List<ImportDataRespBO> importDataList = util.importExcel(file.getInputStream());
            System.out.println(importDataList.size());
            Boolean judgeDataBlean = Boolean.TRUE;
            String errorMessage = "";
            for (int i = 0; i < importDataList.size(); i++) {
                ImportDataRespBO importData = importDataList.get(i);
                if (StringUtil.isEmpty(importData.getRiskListName())) {
                    judgeDataBlean = Boolean.FALSE;
                    errorMessage +=
                            StringUtils.isEmpty(errorMessage)?
                                    "第" + (i + 1) + "行,该[基础清单名称]不能为空" :"<br/> 第" + (i + 1) + "行,该[检查内容]不能为空";
                }
                if (StringUtil.isEmpty(importData.getCheckType())) {
                    judgeDataBlean = Boolean.FALSE;
                    errorMessage +=
                            StringUtils.isEmpty(errorMessage)?
                                    "第" + (i + 1) + "行,该[检查类别]不能为空" :"<br/> 第" + (i + 1) + "行,该[检查内容]不能为空";
                }
                if (StringUtil.isEmpty(importData.getCheckContent())) {
                    judgeDataBlean = Boolean.FALSE;
                    errorMessage +=
                            StringUtils.isEmpty(errorMessage)?
                                    "第" + (i + 1) + "行,该[检查内容]不能为空" :"<br/> 第" + (i + 1) + "行,该[检查内容]不能为空";
                }
                if (StringUtil.isEmpty(importData.getControlMeasureCode())) {
                    judgeDataBlean = Boolean.FALSE;
                    errorMessage +=
                            StringUtils.isEmpty(errorMessage)?
                                    "第" + (i + 1) + "行,该[管控措施编号]不能为空" :"<br/> 第" + (i + 1) + "行,该[检查内容]不能为空";
                }
            }
            if(!judgeDataBlean){
                return AjaxResult.error(errorMessage);
            }
//            List<RiskList> riskLists = new ArrayList<>(); 先不使用批量插入
//            List<BaseCheckPoint> baseCheckPoints = new ArrayList<>();
            for (int i = 0; i < importDataList.size(); i++) {
                ImportDataRespBO importData = importDataList.get(i);
                RiskList riskList = new RiskList();
                BaseCheckPoint baseCheckPoint = new BaseCheckPoint();
                PreventPointAndMeasureParams preventPointAndMeasureParams = new PreventPointAndMeasureParams();
                User sysUser = getSysUser();
                Date nowDate = DateUtils.getNowDate();
                //1.RiskList,拿到id -需要根据那么判断,是否已经存在
                RiskList infoByRiskListName = riskListService.getInfoByRiskListName(importData.getRiskListName());
                if (ObjectUtils.isEmpty(infoByRiskListName)){
                    riskList.setRiskListName(importData.getRiskListName());
                    riskList.setCreateBy(sysUser.getUserName());
                    riskList.setCreateTime(nowDate);
                    riskList.setRiskType(TrRiskTypeEnum.BASE.getCode());
                    riskList.setCompanyId(getSysUser().getCompanyId());
                    int resultRiskList = riskListService.insertRiskList(riskList);
                    if (resultRiskList < 1){ //todo 需要检查是否收到标题行影响
                        return AjaxResult.error("第" + i + "行基础清单插入错误,导入失败");
                    }
                }else {
                    riskList.setRiskListId(infoByRiskListName.getRiskListId());
                }
                //2.baseCheckPoint,拿到id
                baseCheckPoint.setRiskId(riskList.getRiskListId());
                baseCheckPoint.setCreateBy(sysUser.getUserName());
                baseCheckPoint.setCreateTime(nowDate);
                baseCheckPoint.setCheckContent(importData.getCheckContent());
                baseCheckPoint.setCheckType(importData.getCheckType());
                if (ObjectUtils.isEmpty(importData.getCheckResult())){
                    baseCheckPoint.setCheckResult(importData.getCheckResult());
                }
                int resultBaseCheckPoint = baseCheckPointService.insertBaseCheckPoint(baseCheckPoint);
                if (resultBaseCheckPoint < 1){
                    return AjaxResult.error("第" + i + "行风险点插入错误,导入失败");
                }
                //3.preventRiskCheckUnit
                PreventRiskControlMeasure controlMeasure =
                        riskControlMeasureService.getPreventRiskControlMeasureByControlMeasureCode(importData.getControlMeasureCode());
                if (ObjectUtils.isEmpty(controlMeasure)){
                    return AjaxResult.error("第" + i + "行管控措施不存在,导入失败");
                }
                preventPointAndMeasureParams.setRiskId(riskList.getRiskListId());
                preventPointAndMeasureParams.setBaseCheckPointId(baseCheckPoint.getCheckPointId());
                preventPointAndMeasureParams.setControlMeasureId(controlMeasure.getId());
                int result = riskService.insertPointAndMeasure(preventPointAndMeasureParams);
                if (ObjectUtils.isEmpty(controlMeasure)){
                    return AjaxResult.error("第" + i + "行风险点与管控措施关联关系保持出错,导入失败");
                }
            }
            return AjaxResult.success("导入成功!");
        }
    }
}
src/main/java/com/ruoyi/project/tr/riskList/domain/ImportDataRespBO.java
对比新文件
@@ -0,0 +1,33 @@
package com.ruoyi.project.tr.riskList.domain;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import lombok.Data;
/**
 * 风险清单对象 tr_risk_list
 *
 * @author wm
 * @date 2020-05-07
 */
@Data
public class ImportDataRespBO extends BaseEntity
{
    @Excel(name = "基础清单")
    private String riskListName;
    @Excel(name = "检查类别")
    private String checkType;
    @Excel(name = "检查内容")
    private String checkContent;
    @Excel(name = "检查依据")
    private String checkResult;
    @Excel(name = "风险管控措施编号")
    private String controlMeasureCode;
}
src/main/java/com/ruoyi/project/tr/riskList/mapper/RiskListMapper.java
@@ -83,4 +83,6 @@
    RiskList getInfoByRiskListId(Long riskUnitId);
    List<RiskList> getRiskUnitLists();
    RiskList getInfoByRiskListName(String riskListName);
}
src/main/java/com/ruoyi/project/tr/riskList/service/IRiskListService.java
@@ -83,4 +83,6 @@
    RiskList getInfoByRiskListId(Long riskUnitId);
    List<RiskList> getRiskUnitLists();
    RiskList getInfoByRiskListName(String riskListName);
}
src/main/java/com/ruoyi/project/tr/riskList/service/impl/RiskListServiceImpl.java
@@ -162,4 +162,9 @@
    public List<RiskList> getRiskUnitLists() {
        return riskListMapper.getRiskUnitLists();
    }
    @Override
    public RiskList getInfoByRiskListName(String riskListName) {
        return riskListMapper.getInfoByRiskListName(riskListName);
    }
}
src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml
@@ -112,7 +112,12 @@
<!--    List<TroubleDataRespDTO> getSPIData(SPIDataReqBO spiDataReqBO);-->
    <select id="getSPIData" resultType="com.ruoyi.doublePrevention.entity.SPI.TroubleData">
        SELECT
            DATE_FORMAT(register_create_time, '%Y-%m') time, sum(1) count
            DATE_FORMAT(register_create_time, '%Y-%m') time, sum(1) count,
            sum(case when rectify_status = '1' then 1 else 0 end) rectifyFinish,
            sum(case when rectify_status = '0' then 1 else 0 end) rectifyNotFinish,
            sum(case when accept_result = '1' then 1 else 0 end) accept,
            sum(case when danger_level = '0' then 1 else 0 end) generalDanger,
            sum(case when danger_level = '1' then 1 else 0 end) majorDanger
        FROM tr_hidden_danger_check_point
        WHERE register_create_time >= #{spiDataReqBO.startTime} and #{spiDataReqBO.endTime} >= register_create_time and whether_danger = 1
        GROUP BY time
src/main/resources/mybatis/tr/RiskListMapper.xml
@@ -229,7 +229,7 @@
        <include refid="selectRiskListVo"/>
        where risk_list_id = #{riskListId}
    </select>
<!--        todo -->
    <insert id="insertRiskList" parameterType="RiskList" useGeneratedKeys="true" keyProperty="riskListId">
        insert into tr_risk_list
        <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -331,4 +331,10 @@
    <select id="getRiskUnitLists" parameterType="RiskList" resultMap="RiskListResult">
    select * from tr_risk_list
</select>
<!--    RiskList getInfoByRiskListName(String riskListName);-->
    <select id="getInfoByRiskListName" parameterType="RiskList" resultMap="RiskListResult">
        select * from tr_risk_list
        where risk_list_name = #{riskListName}
    </select>
</mapper>