Commit 85266c1a authored by 鲁鸿波's avatar 鲁鸿波

危险源台账以及风险风级台账导入bug修改

parent 06703467
...@@ -181,6 +181,9 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -181,6 +181,9 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
StringBuilder sbMsg = new StringBuilder(); StringBuilder sbMsg = new StringBuilder();
// key: orgId_name value: riskSourceDTO
Map<String, TSafeRiskSourceDTO> sourceListMap = new HashMap<>();
try { try {
inputStream = file.getInputStream(); inputStream = file.getInputStream();
// 读取Excel⽂件⼯作表 // 读取Excel⽂件⼯作表
...@@ -258,8 +261,11 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -258,8 +261,11 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
return baseResponse; return baseResponse;
} }
// key: orgId_name value: riskSourceDTO /*// key: orgId_name value: riskSourceDTO
Map<String, TSafeRiskSourceDTO> sourceListMap = new HashMap<>(); Map<String, TSafeRiskSourceDTO> sourceListMap = new HashMap<>();*/
// 预处理:检查是否有重复的 当前登录人组织机构id + 风险点名称
Set<Map.Entry<String, String>> duplicateStudents = new HashSet<>();
for (Map<Integer, Object> rowData : dataList) { for (Map<Integer, Object> rowData : dataList) {
index++; index++;
...@@ -333,6 +339,14 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -333,6 +339,14 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
continue; continue;
} }
// 使用 Map.Entry 作为复合键(避免自定义类)
Map.Entry<String, String> key = new AbstractMap.SimpleEntry<>(curUserOrgId, name);
if (duplicateStudents.contains(key)) {
sbMsg.append("第" + index + "条数据,危险源名称[" + name + "]表格中有重复数据,请删除重复数据后重复导入;\n");
continue;
}
duplicateStudents.add(key);
// 根据 departmentName 、 orgId 获取部门 信息 // 根据 departmentName 、 orgId 获取部门 信息
// 组装 组织结构全路径 // 组装 组织结构全路径
SysOrg departmentObj; SysOrg departmentObj;
...@@ -589,7 +603,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -589,7 +603,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
} }
} }
for (Map.Entry<String, TSafeRiskSourceDTO> entry : sourceListMap.entrySet()) { /*for (Map.Entry<String, TSafeRiskSourceDTO> entry : sourceListMap.entrySet()) {
TSafeRiskSourceDTO sourceDTO = entry.getValue(); TSafeRiskSourceDTO sourceDTO = entry.getValue();
List<TSafeRiskOwnerDTO> ownerDTOList = sourceDTO.getRiskOwnerList(); List<TSafeRiskOwnerDTO> ownerDTOList = sourceDTO.getRiskOwnerList();
...@@ -602,7 +616,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -602,7 +616,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
riskOwnerManageService.save(owner); riskOwnerManageService.save(owner);
} }
} }*/
} catch (Exception e) { } catch (Exception e) {
logger.error("批量导入危险源异常:"+e.getMessage(),e); logger.error("批量导入危险源异常:"+e.getMessage(),e);
...@@ -617,6 +631,44 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -617,6 +631,44 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
workbook.close(); workbook.close();
} }
} }
try{
if (sbMsg.length() == 0) {
for (Map.Entry<String, TSafeRiskSourceDTO> entry : sourceListMap.entrySet()) {
TSafeRiskSourceDTO sourceDTO = entry.getValue();
List<TSafeRiskOwnerDTO> ownerDTOList = sourceDTO.getRiskOwnerList();
sourceDTO = riskSourceManageService.save(sourceDTO);
if (StrUtil.isBlank(sourceDTO.getId())) {
throw new BusinessException("导入失败");
}
for (TSafeRiskOwnerDTO owner : ownerDTOList) {
owner.setRiskId(sourceDTO.getId());
riskOwnerManageService.save(owner);
}
}
}else{
baseResponse.setCode(BaseStatusEnum.UNKNOWN.code());
baseResponse.setMsg(sbMsg.toString());
return baseResponse;
}
}catch (Exception e) {
logger.error("批量导入危险源异常:"+e.getMessage(),e);
baseResponse.setCode(BaseStatusEnum.UNKNOWN.code());
baseResponse.setData(e.getMessage());
return baseResponse;
} finally {
if (inputStream != null) {
inputStream.close();
}
if (workbook != null) {
workbook.close();
}
}
baseResponse.setData(sbMsg == null ? "导入成功" : sbMsg.toString()); baseResponse.setData(sbMsg == null ? "导入成功" : sbMsg.toString());
return baseResponse; return baseResponse;
} }
...@@ -675,6 +727,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -675,6 +727,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
Workbook workbook = null; Workbook workbook = null;
StringBuilder sbMsg = new StringBuilder(); StringBuilder sbMsg = new StringBuilder();
Map<String, TSafeRiskPointDTO> pointListMap = new HashMap<>();
try { try {
inputStream = file.getInputStream(); inputStream = file.getInputStream();
...@@ -718,8 +771,11 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -718,8 +771,11 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
return baseResponse; return baseResponse;
} }
// key: orgId_name value: riskPointDTO /*// key: orgId_name value: riskPointDTO
Map<String, TSafeRiskPointDTO> pointListMap = new HashMap<>(); Map<String, TSafeRiskPointDTO> pointListMap = new HashMap<>();*/
// 预处理:检查是否有重复的 当前登录人组织机构id + 风险点名称
Set<Map.Entry<String, String>> duplicateStudents = new HashSet<>();
for (Map<Integer, Object> rowData : dataList) { for (Map<Integer, Object> rowData : dataList) {
index++; index++;
...@@ -757,6 +813,14 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -757,6 +813,14 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
//*关联设备/空间(编号) //*关联设备/空间(编号)
String equipmentSpaceCode = rowData.get(12).toString(); String equipmentSpaceCode = rowData.get(12).toString();
// 使用 Map.Entry 作为复合键(避免自定义类)
Map.Entry<String, String> key = new AbstractMap.SimpleEntry<>(curUserOrgId, name);
if (duplicateStudents.contains(key)) {
sbMsg.append("第" + index + "条数据,风险点名称[" + name + "]表格中有重复数据,请删除重复数据后重复导入;\n");
continue;
}
duplicateStudents.add(key);
if (StrUtil.isBlank(orgCode)) { if (StrUtil.isBlank(orgCode)) {
orgCode = curUserOrgCode; orgCode = curUserOrgCode;
} }
...@@ -961,7 +1025,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -961,7 +1025,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
} }
} }
for (Map.Entry<String, TSafeRiskPointDTO> entry : pointListMap.entrySet()) { /*for (Map.Entry<String, TSafeRiskPointDTO> entry : pointListMap.entrySet()) {
TSafeRiskPointDTO pointDTO = entry.getValue(); TSafeRiskPointDTO pointDTO = entry.getValue();
List<TSafeRiskOwnerDTO> ownerDTOList = pointDTO.getRiskOwnerList(); List<TSafeRiskOwnerDTO> ownerDTOList = pointDTO.getRiskOwnerList();
pointDTO = riskPointManageService.save(pointDTO); pointDTO = riskPointManageService.save(pointDTO);
...@@ -973,7 +1037,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -973,7 +1037,7 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
riskOwnerManageService.save(owner); riskOwnerManageService.save(owner);
} }
} }*/
} catch (Exception e) { } catch (Exception e) {
logger.error("导入风控点处理异常:" + e.getMessage(), e); logger.error("导入风控点处理异常:" + e.getMessage(), e);
...@@ -988,6 +1052,43 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ ...@@ -988,6 +1052,43 @@ public class RiskStatisticsManageServiceImpl implements RiskStatisticsManageServ
workbook.close(); workbook.close();
} }
} }
try{
if (sbMsg.length() == 0) {
for (Map.Entry<String, TSafeRiskPointDTO> entry : pointListMap.entrySet()) {
TSafeRiskPointDTO pointDTO = entry.getValue();
List<TSafeRiskOwnerDTO> ownerDTOList = pointDTO.getRiskOwnerList();
pointDTO = riskPointManageService.save(pointDTO);
if (StrUtil.isBlank(pointDTO.getId())) {
throw new BusinessException("导入失败");
}
for (TSafeRiskOwnerDTO owner : ownerDTOList) {
owner.setRiskId(pointDTO.getId());
riskOwnerManageService.save(owner);
}
}
}else{
baseResponse.setCode(BaseStatusEnum.UNKNOWN.code());
baseResponse.setMsg(sbMsg.toString());
return baseResponse;
}
}catch (Exception e) {
logger.error("导入风控点处理异常:" + e.getMessage(), e);
baseResponse.setCode(BaseStatusEnum.UNKNOWN.code());
baseResponse.setData(e.getMessage());
return baseResponse;
} finally {
if (inputStream != null) {
inputStream.close();
}
if (workbook != null) {
workbook.close();
}
}
baseResponse.setData(sbMsg == null ? "导入成功" : sbMsg.toString()); baseResponse.setData(sbMsg == null ? "导入成功" : sbMsg.toString());
return baseResponse; return baseResponse;
} }
......
...@@ -164,7 +164,7 @@ public class DownloadRiskTemplateUtil { ...@@ -164,7 +164,7 @@ public class DownloadRiskTemplateUtil {
} }
String fileDownName = fileList.get(0).getFileDowName();*/ String fileDownName = fileList.get(0).getFileDowName();*/
InputStream in = this.getClass().getClassLoader().getResourceAsStream("excel/fxddrmb_old_20250424.xlsx");; InputStream in = this.getClass().getClassLoader().getResourceAsStream("excel/fxddrmb.xlsx");;
String fileName2 = URLEncoder.encode(fileName, "UTF-8"); String fileName2 = URLEncoder.encode(fileName, "UTF-8");
response.setContentType("application/vnd.ms-excel"); response.setContentType("application/vnd.ms-excel");
......
...@@ -2,7 +2,6 @@ package com.testor.module.hazard.service.impl; ...@@ -2,7 +2,6 @@ package com.testor.module.hazard.service.impl;
import cn.afterturn.easypoi.word.entity.MyXWPFDocument; import cn.afterturn.easypoi.word.entity.MyXWPFDocument;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.testor.StartupApplication;
import com.testor.module.train.course.model.dto.TTrainCourseParam; import com.testor.module.train.course.model.dto.TTrainCourseParam;
import com.tongtech.tfw.backend.common.biz.models.BaseResponse; import com.tongtech.tfw.backend.common.biz.models.BaseResponse;
import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFDocument;
......
package com.testor.module.train.myManagement.service; package com.testor.module.train.myManagement.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.testor.StartupApplication;
import com.testor.module.train.course.model.dto.TTrainCourseParam; import com.testor.module.train.course.model.dto.TTrainCourseParam;
import com.tongtech.tfw.backend.common.biz.models.BaseResponse; import com.tongtech.tfw.backend.common.biz.models.BaseResponse;
import com.tongtech.tfw.backend.common.exception.BusinessException; import com.tongtech.tfw.backend.common.exception.BusinessException;
......
...@@ -3,7 +3,6 @@ package com.testor.module.train.myManagement.service; ...@@ -3,7 +3,6 @@ package com.testor.module.train.myManagement.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.testor.StartupApplication;
import com.testor.module.train.exam.model.domain.TTrainTestQuestions; import com.testor.module.train.exam.model.domain.TTrainTestQuestions;
import com.testor.module.train.exam.service.TTrainTestQuestionsService; import com.testor.module.train.exam.service.TTrainTestQuestionsService;
import com.testor.module.train.myManagement.controller.TTrainMyManagementController; import com.testor.module.train.myManagement.controller.TTrainMyManagementController;
......
package com.testor.module.train.project.service; package com.testor.module.train.project.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.testor.StartupApplication;
import com.testor.module.train.project.model.dto.TTrainProjectParam; import com.testor.module.train.project.model.dto.TTrainProjectParam;
import com.tongtech.tfw.backend.common.biz.models.BaseResponse; import com.tongtech.tfw.backend.common.biz.models.BaseResponse;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
......
package com.testor.module.train.project.service; package com.testor.module.train.project.service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.testor.StartupApplication;
import com.testor.module.train.project.model.stat.ProjectStatTotalVo; import com.testor.module.train.project.model.stat.ProjectStatTotalVo;
import com.tongtech.tfw.backend.common.context.ContextUtils; import com.tongtech.tfw.backend.common.context.ContextUtils;
import com.tongtech.tfw.backend.common.models.sys.UserInfo; import com.tongtech.tfw.backend.common.models.sys.UserInfo;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment