From eb00873dcebd67ea72a04becff928f983cb80ec6 Mon Sep 17 00:00:00 2001 From: 16639036659 <577530412@qq.com> Date: 星期四, 25 四月 2024 10:32:04 +0800 Subject: [PATCH] 基础风险清单+检查点导入 --- src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml | 7 + src/main/java/com/ruoyi/doublePrevention/entity/SPI/TroubleData.java | 45 +++++++++++ src/main/java/com/ruoyi/project/tr/riskList/service/IRiskListService.java | 2 src/main/java/com/ruoyi/project/tr/riskList/service/impl/RiskListServiceImpl.java | 5 + src/main/java/com/ruoyi/project/tr/riskList/domain/ImportDataRespBO.java | 33 ++++++++ src/main/java/com/ruoyi/project/tr/riskList/mapper/RiskListMapper.java | 2 src/main/java/com/ruoyi/project/tr/riskList/controller/BaseRiskController.java | 136 ++++++++++++++++++++++++++++++++++ src/main/resources/mybatis/tr/RiskListMapper.xml | 8 + 8 files changed, 236 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ruoyi/doublePrevention/entity/SPI/TroubleData.java b/src/main/java/com/ruoyi/doublePrevention/entity/SPI/TroubleData.java index 7ccbe4c..9eaf959 100644 --- a/src/main/java/com/ruoyi/doublePrevention/entity/SPI/TroubleData.java +++ b/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; + } } diff --git a/src/main/java/com/ruoyi/project/tr/riskList/controller/BaseRiskController.java b/src/main/java/com/ruoyi/project/tr/riskList/controller/BaseRiskController.java index fcb7d73..375e4d9 100644 --- a/src/main/java/com/ruoyi/project/tr/riskList/controller/BaseRiskController.java +++ b/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("导入成功!"); + } + + } } diff --git a/src/main/java/com/ruoyi/project/tr/riskList/domain/ImportDataRespBO.java b/src/main/java/com/ruoyi/project/tr/riskList/domain/ImportDataRespBO.java new file mode 100644 index 0000000..1fa413e --- /dev/null +++ b/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; + + +} diff --git a/src/main/java/com/ruoyi/project/tr/riskList/mapper/RiskListMapper.java b/src/main/java/com/ruoyi/project/tr/riskList/mapper/RiskListMapper.java index 0d24a10..1fedfc2 100644 --- a/src/main/java/com/ruoyi/project/tr/riskList/mapper/RiskListMapper.java +++ b/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); } diff --git a/src/main/java/com/ruoyi/project/tr/riskList/service/IRiskListService.java b/src/main/java/com/ruoyi/project/tr/riskList/service/IRiskListService.java index d8eec4a..d693949 100644 --- a/src/main/java/com/ruoyi/project/tr/riskList/service/IRiskListService.java +++ b/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); } diff --git a/src/main/java/com/ruoyi/project/tr/riskList/service/impl/RiskListServiceImpl.java b/src/main/java/com/ruoyi/project/tr/riskList/service/impl/RiskListServiceImpl.java index 3fdf876..d3a772f 100644 --- a/src/main/java/com/ruoyi/project/tr/riskList/service/impl/RiskListServiceImpl.java +++ b/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); + } } diff --git a/src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml b/src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml index 2050f7a..4a93fb7 100644 --- a/src/main/resources/mybatis/doublePrevention/TrHiddenDangerCheckPointMapper.xml +++ b/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 diff --git a/src/main/resources/mybatis/tr/RiskListMapper.xml b/src/main/resources/mybatis/tr/RiskListMapper.xml index b8d83dc..0235815 100644 --- a/src/main/resources/mybatis/tr/RiskListMapper.xml +++ b/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> -- Gitblit v1.9.2