From 9c3fbb31ddf8791e3476fd3aa809ef1cec138ea9 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Wed, 19 Jun 2024 16:01:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8D=89=E7=A8=BF=E5=8A=9F=E8=83=BD=E5=90=84?= =?UTF-8?q?=E4=B8=AA=E9=A1=B5=E9=9D=A2=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/impl/UserReportPOServiceImpl.java | 450 +++++++++++++++--- 1 file changed, 375 insertions(+), 75 deletions(-) diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java index d77f96334..67d704550 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java @@ -101,13 +101,13 @@ public class UserReportPOServiceImpl extends ServiceImpl(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper); @@ -430,7 +435,7 @@ public class UserReportPOServiceImpl extends ServiceImpluserStatus则不修改,如果将干扰源用户状态改为3退运,则必须其下的监测点都退运才能修改 @@ -490,55 +495,108 @@ public class UserReportPOServiceImpl extends ServiceImpl jiBeiArea = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.JIBEI_AREA.getCode()).getData(); + //电压等级 List devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData(); + //评估单位 + List evaluationDept; + evaluationDept = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_DEPT.getCode()).getData(); + //评估类型 + List evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData(); + //指标类型 + List indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData(); + //行业类型 List industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData(); + //负荷级别 List loadLevel = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LOAD_LEVEL.getCode()).getData(); + //供电电源情况 List supplyCondition = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.SUPPLY_CONDITION.getCode()).getData(); List pullDowns = new ArrayList<>(); + PullDown pullDown; pullDown = new PullDown(); - pullDown.setFirstCol(2); - pullDown.setLastCol(2); + pullDown.setFirstCol(1); + pullDown.setLastCol(1); + pullDown.setStrings(jiBeiArea.stream().filter(x -> !x.getName().equals("风光储")&&!x.getName().equals("超高压")).map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(3); + pullDown.setLastCol(3); pullDown.setStrings(Stream.of("可研", "建设", "运行", "退运").collect(Collectors.toList())); pullDowns.add(pullDown); - pullDown = new PullDown(); - pullDown.setFirstCol(4); - pullDown.setLastCol(4); + pullDown.setFirstCol(6); + pullDown.setLastCol(6); pullDown.setStrings(devVoltage.stream().map(DictData::getName).collect(Collectors.toList())); pullDowns.add(pullDown); pullDown = new PullDown(); - pullDown.setFirstCol(5); - pullDown.setLastCol(5); + pullDown.setFirstCol(7); + pullDown.setLastCol(7); + pullDown.setStrings(evaluationDept.stream().map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(12); + pullDown.setLastCol(12); + pullDown.setStrings(evaluationType.stream().map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(13); + pullDown.setLastCol(13); pullDown.setStrings(industryType.stream().map(DictData::getName).collect(Collectors.toList())); pullDowns.add(pullDown); pullDown = new PullDown(); - pullDown.setFirstCol(8); - pullDown.setLastCol(8); + pullDown.setFirstCol(16); + pullDown.setLastCol(16); + pullDown.setStrings(indicatorType.stream().map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(22); + pullDown.setLastCol(22); + pullDown.setStrings(supplyCondition.stream().map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(20); + pullDown.setLastCol(20); pullDown.setStrings(devVoltage.stream().map(DictData::getName).collect(Collectors.toList())); pullDowns.add(pullDown); pullDown = new PullDown(); - pullDown.setFirstCol(9); - pullDown.setLastCol(9); + pullDown.setFirstCol(21); + pullDown.setLastCol(21); pullDown.setStrings(loadLevel.stream().map(DictData::getName).collect(Collectors.toList())); pullDowns.add(pullDown); - pullDown = new PullDown(); pullDown.setFirstCol(10); pullDown.setLastCol(10); - pullDown.setStrings(supplyCondition.stream().map(DictData::getName).collect(Collectors.toList())); + pullDown.setStrings(Stream.of("否", "是").collect(Collectors.toList())); pullDowns.add(pullDown); - ExcelUtil.exportExcelPullDownOne(exportParams, "敏感及重要用户模板.xlsx", pullDowns, SensitiveUserExcel.class, new ArrayList<>()); + + pullDown = new PullDown(); + pullDown.setFirstCol(11); + pullDown.setLastCol(11); + pullDown.setStrings(Stream.of("否", "是").collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(17); + pullDown.setLastCol(17); + pullDown.setStrings(Stream.of("否", "是").collect(Collectors.toList())); + pullDowns.add(pullDown); + ExcelUtil.exportExcelPullDown(exportParams, "敏感及重要用户模板.xlsx", pullDowns, SensitiveUserSExcel.class, new ArrayList<>()); } @@ -547,13 +605,13 @@ public class UserReportPOServiceImpl extends ServiceImpl sensitiveUserExcels; + List sensitiveUserExcels; try { - ExcelImportResult sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveUserExcel.class, params); + ExcelImportResult sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveUserSExcel.class, params); //如果存在非法数据,将不合格的数据导出 if (sensitiveUserExcelExcelImportResult.isVerifyFail()) { PoiUtil.exportFileByWorkbook(sensitiveUserExcelExcelImportResult.getFailWorkbook(), "非法用户数据.xlsx", response); @@ -564,72 +622,300 @@ public class UserReportPOServiceImpl extends ServiceImpl devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData(); + //指标类型 + List indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData(); + //评估类型 + List evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData(); + //行业类型 List industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData(); + //负荷级别 List loadLevel = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LOAD_LEVEL.getCode()).getData(); + //供电电源情况 List supplyCondition = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.SUPPLY_CONDITION.getCode()).getData(); + //执行批量导入敏感及重要用户,入库过程中会进行数据校验 - List sensitiveUserExcelMsgs = new ArrayList<>(); + List sensitiveUserExcelMsgs = new ArrayList<>(); if (CollectionUtil.isNotEmpty(sensitiveUserExcels)) { - for (SensitiveUserExcel sensitiveUserExcel : sensitiveUserExcels) { + for (SensitiveUserSExcel userExcel : sensitiveUserExcels) { //先判断当前用户是否已经存在 LambdaQueryWrapper userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userReportPOLambdaQueryWrapper.eq(UserReportPO::getProjectName, sensitiveUserExcel.getProjectName()) + userReportPOLambdaQueryWrapper.eq(UserReportPO::getProjectName, userExcel.getProjectName()) .eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode()); int count = this.count(userReportPOLambdaQueryWrapper); if (count > 0) { -// if(sensitiveUserExcel.getOverlay() == 1){ -// -// }else{ //该用户已经录入 - SensitiveUserExcel.SensitiveUserExcelMsg sensitiveUserExcelMsg = new SensitiveUserExcel.SensitiveUserExcelMsg(); - BeanUtils.copyProperties(sensitiveUserExcel, sensitiveUserExcelMsg); + SensitiveUserSExcel.SensitiveUserExcelMsg sensitiveUserExcelMsg = new SensitiveUserSExcel.SensitiveUserExcelMsg(); + BeanUtils.copyProperties(userExcel, sensitiveUserExcelMsg); sensitiveUserExcelMsg.setMsg("该用户已录入!"); sensitiveUserExcelMsgs.add(sensitiveUserExcelMsg); -// } - continue; - } - //处理通用信息 - UserReportPO userReportPO = new UserReportPO(); - userReportPO.setReporter(RequestUtil.getUserIndex()); - userReportPO.setReportDate(LocalDate.now()); - userReportPO.setOrgId(RequestUtil.getDeptIndex()); - userReportPO.setCity(sensitiveUserExcel.getCity()); - userReportPO.setUserType(UserNatureEnum.SENSITIVE_USER.getCode()); - if(Objects.nonNull(sensitiveUserExcel.getUserStatus())){ - userReportPO.setUserStatus(sensitiveUserExcel.getUserStatus()); }else{ - userReportPO.setUserStatus(SupervisionUserStatusEnum.PRODUCT.getCode()); + //处理通用信息 + UserReportPO userReportPO = new UserReportPO(); + userReportPO.setReporter(RequestUtil.getUserIndex()); + userReportPO.setReportDate(LocalDate.now()); + userReportPO.setOrgId(RequestUtil.getDeptIndex()); + userReportPO.setExpectedProductionDate(userExcel.getExpectedProductionDate()); + userReportPO.setUserType(UserNatureEnum.SENSITIVE_USER.getCode()); + //所属地市 + userReportPO.setCity(userExcel.getCity()); + userReportPO.setResponsibleDepartment(userExcel.getResponsibleDepartment()); + userReportPO.setUserStatus(userExcel.getUserStatus()); + userReportPO.setSubstation(userExcel.getSubstation()); + userReportPO.setVoltageLevel(PubUtil.getDicById(userExcel.getVoltageLevel(), devVoltage)); + userReportPO.setProjectName(userExcel.getProjectName()); + userReportPO.setEvaluationDept(userExcel.getEvaluationDept()); + userReportPO.setEvaluationConclusion(userExcel.getEvaluationConclusion()); + userReportPO.setDataType(1); + userReportPO.setStatus(2); + userReportPO.setState(DataStateEnum.ENABLE.getCode()); + this.baseMapper.insert(userReportPO); + //处理敏感用户的信息 + UserReportSensitivePO userReportSensitivePO = new UserReportSensitivePO(); + userReportSensitivePO.setId(userReportPO.getId()); + userReportSensitivePO.setPccPoint(userExcel.getPccPoint()); + userReportSensitivePO.setDeviceName(userExcel.getDeviceName()); + userReportSensitivePO.setPowerSupplyCount(userExcel.getPowerSupplyCount()); + userReportSensitivePO.setEnergyQualityIndex(PubUtil.getDicById(userExcel.getEnergyQualityIndex(), indicatorType)); + userReportSensitivePO.setEvaluationType(PubUtil.getDicById(userExcel.getEvaluationType(), evaluationType)); + userReportSensitivePO.setAntiInterferenceTest(userExcel.getAntiInterferenceTest()+""); + userReportSensitivePO.setEvaluationChekDept(userExcel.getEvaluationChekDept()); + userReportSensitivePO.setNeedGovernance(userExcel.getNeedGovernance()); + userReportSensitivePO.setBackgroundTestPerformed(userExcel.getBackgroundTestPerformed()); +// userReportSensitivePO.setSubstationMainWiringDiagram(); +// userReportSensitivePO.setSensitiveDevices(); +// userReportSensitivePO.setAntiInterferenceReport(); +// userReportSensitivePO.setPowerQualityReport(); +// userReportSensitivePO.setFeasibilityReport(); +// userReportSensitivePO.setPreliminaryDesignDescription(); +// userReportSensitivePO.setPredictionEvaluationReport(); +// userReportSensitivePO.setPredictionEvaluationReviewOpinions(); +// userReportSensitivePO.setAdditionalAttachments(); + if (StrUtil.isNotBlank(userExcel.getIndustry())) { + userReportSensitivePO.setIndustry(PubUtil.getDicById(userExcel.getIndustry(), industryType)); + } + userReportSensitivePO.setMaintenanceUnit(userExcel.getMaintenanceUnit()); + userReportSensitivePO.setPowerSupply(userExcel.getPowerSupply()); + if (StrUtil.isNotBlank(userExcel.getSupplyVoltageLevel())) { + userReportSensitivePO.setSupplyVoltageLevel(PubUtil.getDicById(userExcel.getSupplyVoltageLevel(), devVoltage)); + } + if (StrUtil.isNotBlank(userExcel.getLoadLevel())) { + userReportSensitivePO.setLoadLevel(PubUtil.getDicById(userExcel.getLoadLevel(), loadLevel)); + } + if (StrUtil.isNotBlank(userExcel.getPowerSupplyInfo())) { + userReportSensitivePO.setPowerSupplyInfo(PubUtil.getDicById(userExcel.getPowerSupplyInfo(), supplyCondition)); + } + userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode()); + userReportSensitivePOService.save(userReportSensitivePO); } - userReportPO.setSubstation(sensitiveUserExcel.getSubstation()); - //电压等级需要特殊处理下 - if (StrUtil.isNotBlank(sensitiveUserExcel.getVoltageLevel())) { - userReportPO.setVoltageLevel(PubUtil.getDicById(sensitiveUserExcel.getVoltageLevel(), devVoltage)); + } + } + //判断有没有错误信息 + if (CollectionUtil.isNotEmpty(sensitiveUserExcelMsgs)) { + ExcelUtil.exportExcel("失败列表.xlsx", SensitiveUserSExcel.SensitiveUserExcelMsg.class, sensitiveUserExcelMsgs); + return null; + } + return CommonResponseEnum.SUCCESS.getCode(); + } + + @Override + public void downloadSensitiveReportTemplate() { + ExportParams exportParams = new ExportParams("干扰源用户数据模板(带*字段均是必填,请严格按照模板标准填入数据)", "干扰源用户数据信息"); + //所属地市 + List jiBeiArea = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.JIBEI_AREA.getCode()).getData(); + //主要非线性设备类型-冀北 + List treeVOS = dictTreeFeignClient.queryByCodeList(DicDataTypeEnum.Major_Nonlinear_Device.getCode()).getData(); + //电压等级 + List devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData(); + //评估单位 + List evaluationDept = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_DEPT.getCode()).getData(); + //评估类型 + List evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData(); + + Map treeString = getTreeString("", treeVOS.get(0).getChildren()); + + List pullDowns = new ArrayList<>(); + PullDown pullDown; + pullDown = new PullDown(); + pullDown.setFirstCol(1); + pullDown.setLastCol(1); + pullDown.setStrings(Stream.of("新建电网工程", "扩建电网工程", "新建非线性负荷用户", "扩建非线性负荷用户", "新建新能源发电站", "扩建新能源发电站").collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(2); + pullDown.setLastCol(2); + pullDown.setStrings(jiBeiArea.stream().filter(x -> !"风光储".equals(x.getName())&&!"超高压".equals(x.getName())).map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(4); + pullDown.setLastCol(4); + pullDown.setStrings(Stream.of("可研", "建设", "运行", "退运").collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(7); + pullDown.setLastCol(7); + pullDown.setStrings(devVoltage.stream().map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(8); + pullDown.setLastCol(8); + pullDown.setStrings(evaluationDept.stream().map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + + pullDown = new PullDown(); + pullDown.setFirstCol(15); + pullDown.setLastCol(15); + pullDown.setStrings(evaluationType.stream().map(DictData::getName).collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(16); + pullDown.setLastCol(16); + pullDown.setStrings(treeString.keySet().stream().collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(18); + pullDown.setLastCol(18); + pullDown.setStrings(Stream.of("否", "是").collect(Collectors.toList())); + pullDowns.add(pullDown); + + pullDown = new PullDown(); + pullDown.setFirstCol(19); + pullDown.setLastCol(19); + pullDown.setStrings(Stream.of("否", "是").collect(Collectors.toList())); + pullDowns.add(pullDown); + + ExcelUtil.exportExcelPullDown(exportParams, "干扰源用户用户模板.xlsx", pullDowns, SensitiveReportExcel.class, new ArrayList<>()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String importSensitiveReportData(MultipartFile file, HttpServletResponse response) { + ImportParams params = new ImportParams(); + params.setHeadRows(1);//表头 + params.setTitleRows(1);//标题 + params.setNeedVerify(true); + params.setStartSheetIndex(0); + params.setSheetNum(1); + List sensitiveUserExcels; + try { + ExcelImportResult sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveReportExcel.class, params); + //如果存在非法数据,将不合格的数据导出 + if (sensitiveUserExcelExcelImportResult.isVerifyFail()) { + PoiUtil.exportFileByWorkbook(sensitiveUserExcelExcelImportResult.getFailWorkbook(), "非法用户数据.xlsx", response); + return null; + } else { + sensitiveUserExcels = sensitiveUserExcelExcelImportResult.getList(); + } + } catch (Exception e) { + throw new BusinessException(SupervisionResponseEnum.IMPORT_SENSITIVE_USER_ERROR); + } + //主要非线性设备类型-冀北 + List treeVOS = dictTreeFeignClient.queryByCodeList(DicDataTypeEnum.Major_Nonlinear_Device.getCode()).getData(); + //电压等级 + List devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData(); + Map treeString = getTreeString("", treeVOS.get(0).getChildren()); + //评估类型 + List evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData(); + + //执行批量导入敏感及重要用户,入库过程中会进行数据校验 + List sensitiveUserExcelMsgs = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(sensitiveUserExcels)) { + for (SensitiveReportExcel reportExcel : sensitiveUserExcels) { + //先判断当前用户是否已经存在 + LambdaQueryWrapper userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>(); + userReportPOLambdaQueryWrapper.eq(UserReportPO::getProjectName, reportExcel.getProjectName()) + .eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode()); + int count = this.count(userReportPOLambdaQueryWrapper); + if (count > 0) { + //该用户已经录入 + SensitiveReportExcel.SensitiveReportExcelMsg sensitiveUserExcelMsg = new SensitiveReportExcel.SensitiveReportExcelMsg(); + BeanUtils.copyProperties(reportExcel, sensitiveUserExcelMsg); + sensitiveUserExcelMsg.setMsg("该用户已录入!"); + sensitiveUserExcelMsgs.add(sensitiveUserExcelMsg); + } else { + //处理通用信息 + UserReportPO userReportPO = new UserReportPO(); + userReportPO.setReporter(RequestUtil.getUserIndex()); + userReportPO.setReportDate(LocalDate.now()); + userReportPO.setOrgId(RequestUtil.getDeptIndex()); + userReportPO.setExpectedProductionDate(reportExcel.getExpectedProductionDate()); + userReportPO.setUserType(reportExcel.getUserType()); + //所属地市 + userReportPO.setCity(reportExcel.getCity()); + userReportPO.setResponsibleDepartment(reportExcel.getResponsibleDepartment()); + userReportPO.setUserStatus(reportExcel.getUserStatus()); + userReportPO.setSubstation(reportExcel.getSubstation()); + userReportPO.setVoltageLevel(PubUtil.getDicById(reportExcel.getVoltageLevel(), devVoltage)); + userReportPO.setProjectName(reportExcel.getProjectName()); + userReportPO.setEvaluationDept(reportExcel.getEvaluationDept()); + userReportPO.setEvaluationConclusion(reportExcel.getEvaluationConclusion()); + userReportPO.setDataType(1); + userReportPO.setStatus(2); + userReportPO.setState(DataStateEnum.ENABLE.getCode()); + this.baseMapper.insert(userReportPO); + if (CollectionUtil.newArrayList( + UserNatureEnum.BUILD_POWER_GRID.getCode(), + UserNatureEnum.EXTEND_POWER_GRID.getCode() + ).contains(userReportPO.getUserType())) { + //电网工程类用户额外数据 + UserReportProjectPO userReportProjectPO = new UserReportProjectPO(); + userReportProjectPO.setId(userReportPO.getId()); + if(ObjectUtil.isNotEmpty(reportExcel.getNonlinearLoadType())){ + userReportProjectPO.setAgreementCapacity(reportExcel.getUserAgreementCapacity().doubleValue()); + } + if(StrUtil.isNotBlank(reportExcel.getNonlinearLoadType())){ + userReportProjectPO.setNonlinearDeviceType(treeString.containsKey(reportExcel.getNonlinearLoadType()) ? treeString.get(reportExcel.getNonlinearLoadType()) : null); + } + + userReportProjectPO.setNeedGovernance(reportExcel.getNeedGovernance()); + userReportProjectPO.setBackgroundTestPerformed(reportExcel.getBackgroundTestPerformed()); +// userReportProjectPO.setFeasibilityReport(); +// userReportProjectPO.setPreliminaryDesignDescription(); +// userReportProjectPO.setPredictionEvaluationReport(); +// userReportProjectPO.setPredictionEvaluationReviewOpinions(); +// userReportProjectPO.setAdditionalAttachments(); + userReportProjectPO.setState(DataStateEnum.ENABLE.getCode()); + userReportProjectPOService.saveOrUpdate(userReportProjectPO); + } + if (CollectionUtil.newArrayList( + UserNatureEnum.BUILD_NON_LINEAR_LOAD.getCode(), + UserNatureEnum.EXTEND_NON_LINEAR_LOAD.getCode(), + UserNatureEnum.BUILD_NEW_ENERGY_POWER_STATION.getCode(), + UserNatureEnum.EXTEND_NEW_ENERGY_POWER_STATION.getCode() + ).contains(userReportPO.getUserType())) { + //非线性负荷用户 & 新能源发电站用户 + UserReportSubstationPO userReportSubstationPO = new UserReportSubstationPO(); + userReportSubstationPO.setId(userReportPO.getId()); + userReportSubstationPO.setPccPoint(reportExcel.getPccPoint()); + userReportSubstationPO.setBaseShortCircuitCapacity(reportExcel.getBaseShortCircuitCapacity()); + userReportSubstationPO.setMinShortCircuitCapacity(reportExcel.getMinShortCircuitCapacity()); + userReportSubstationPO.setPccEquipmentCapacity(reportExcel.getPccEquipmentCapacity()); + userReportSubstationPO.setUserAgreementCapacity(reportExcel.getUserAgreementCapacity()); + userReportSubstationPO.setEvaluationType(PubUtil.getDicById(reportExcel.getEvaluationType(), evaluationType)); + if(StrUtil.isNotBlank(reportExcel.getNonlinearLoadType())){ + userReportSubstationPO.setNonlinearLoadType(treeString.containsKey(reportExcel.getNonlinearLoadType()) ? treeString.get(reportExcel.getNonlinearLoadType()) : null); + } + userReportSubstationPO.setEvaluationChekDept(reportExcel.getEvaluationChekDept()); + userReportSubstationPO.setNeedGovernance(reportExcel.getNeedGovernance()); + userReportSubstationPO.setBackgroundTestPerformed(reportExcel.getBackgroundTestPerformed()); +// userReportSubstationPO.setSubstationMainWiringDiagram(); +// userReportSubstationPO.setFeasibilityReport(); +// userReportSubstationPO.setPreliminaryDesignDescription(); +// userReportSubstationPO.setPredictionEvaluationReport(); +// userReportSubstationPO.setPredictionEvaluationReviewOpinions(); +// userReportSubstationPO.setAdditionalAttachments(); + userReportSubstationPO.setState(DataStateEnum.ENABLE.getCode()); + userReportSubstationPOService.saveOrUpdate(userReportSubstationPO); + } } - userReportPO.setProjectName(sensitiveUserExcel.getProjectName()); - userReportPO.setDataType(1); - userReportPO.setStatus(2); - userReportPO.setState(DataStateEnum.ENABLE.getCode()); - this.baseMapper.insert(userReportPO); - //处理敏感用户的信息 - UserReportSensitivePO userReportSensitivePO = new UserReportSensitivePO(); - userReportSensitivePO.setId(userReportPO.getId()); - if (StrUtil.isNotBlank(sensitiveUserExcel.getIndustry())) { - userReportSensitivePO.setIndustry(PubUtil.getDicById(sensitiveUserExcel.getIndustry(), industryType)); - } - userReportSensitivePO.setMaintenanceUnit(sensitiveUserExcel.getMaintenanceUnit()); - userReportSensitivePO.setPowerSupply(sensitiveUserExcel.getPowerSupply()); - if (StrUtil.isNotBlank(sensitiveUserExcel.getSupplyVoltageLevel())) { - userReportSensitivePO.setSupplyVoltageLevel(PubUtil.getDicById(sensitiveUserExcel.getSupplyVoltageLevel(), devVoltage)); - } - if (StrUtil.isNotBlank(sensitiveUserExcel.getLoadLevel())) { - userReportSensitivePO.setLoadLevel(PubUtil.getDicById(sensitiveUserExcel.getLoadLevel(), loadLevel)); - } - if (StrUtil.isNotBlank(sensitiveUserExcel.getPowerSupplyInfo())) { - userReportSensitivePO.setPowerSupplyInfo(PubUtil.getDicById(sensitiveUserExcel.getPowerSupplyInfo(), supplyCondition)); - } - userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode()); - userReportSensitivePOService.save(userReportSensitivePO); } } //判断有没有错误信息 @@ -640,6 +926,20 @@ public class UserReportPOServiceImpl extends ServiceImpl getTreeString(String name, List treeVOS) { + Map info = new LinkedHashMap<>(); + for (SysDicTreePO sysMenuDtoChild : treeVOS) { + if (sysMenuDtoChild.getLevel() == 3) { + name = sysMenuDtoChild.getId()+"-"+sysMenuDtoChild.getName(); + } + if (CollUtil.isNotEmpty(sysMenuDtoChild.getChildren())) { + info.putAll(getTreeString(name, sysMenuDtoChild.getChildren())); + } else { + info.put(name.split("-")[1],name.split("-")[0]); + } + } + return info; + } /** * 获取所有字段为null的属性名