草稿功能各个页面开发

This commit is contained in:
hzj
2024-06-19 16:01:18 +08:00
parent 22f5538c13
commit 9c3fbb31dd

View File

@@ -406,7 +406,12 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
userReportVOQueryWrapper.eq("data_type", userReportQueryParam.getDataType());
}
userReportVOQueryWrapper.like(StringUtils.isNotBlank(userReportQueryParam.getProjectName()), "supervision_user_report.project_name", userReportQueryParam.getProjectName());
if(StrUtil.isNotBlank(userReportQueryParam.getSearchBeginTime())&&StrUtil.isNotBlank(userReportQueryParam.getSearchEndTime())){
userReportVOQueryWrapper.between("supervision_user_report.expected_production_date",
DateUtil.beginOfDay(DateUtil.parse(userReportQueryParam.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(userReportQueryParam.getSearchEndTime())));
}
userReportVOQueryWrapper.orderByDesc("supervision_user_report.Update_Time");
}
userReportVOQueryWrapper.orderByDesc("supervision_user_report.create_time");
return this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);
@@ -490,55 +495,108 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
@Override
public void downloadSensitiveUserTemplate() {
ExportParams exportParams = new ExportParams();
exportParams.setSheetName("敏感及重要用户");
ExportParams exportParams = new ExportParams("敏感及重要用户数据模板(带*字段均是必填,请严格按照模板标准填入数据)", "敏感及重要用户数据信息");
//所属地市
List<DictData> jiBeiArea = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.JIBEI_AREA.getCode()).getData();
//电压等级
List<DictData> devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData();
//评估单位
List<DictData> evaluationDept;
evaluationDept = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_DEPT.getCode()).getData();
//评估类型
List<DictData> evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData();
//指标类型
List<DictData> indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData();
//行业类型
List<DictData> industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData();
//负荷级别
List<DictData> loadLevel = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LOAD_LEVEL.getCode()).getData();
//供电电源情况
List<DictData> supplyCondition = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.SUPPLY_CONDITION.getCode()).getData();
List<PullDown> 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<UserReportPOMapper, Use
public String importSensitiveUserData(MultipartFile file, HttpServletResponse response) {
ImportParams params = new ImportParams();
params.setHeadRows(1);//表头
// params.setTitleRows(1);//标题
params.setTitleRows(1);//标题
params.setNeedVerify(true);
params.setStartSheetIndex(0);
params.setSheetNum(1);
List<SensitiveUserExcel> sensitiveUserExcels;
List<SensitiveUserSExcel> sensitiveUserExcels;
try {
ExcelImportResult<SensitiveUserExcel> sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveUserExcel.class, params);
ExcelImportResult<SensitiveUserSExcel> sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveUserSExcel.class, params);
//如果存在非法数据,将不合格的数据导出
if (sensitiveUserExcelExcelImportResult.isVerifyFail()) {
PoiUtil.exportFileByWorkbook(sensitiveUserExcelExcelImportResult.getFailWorkbook(), "非法用户数据.xlsx", response);
@@ -564,49 +622,51 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
} catch (Exception e) {
throw new BusinessException(SupervisionResponseEnum.IMPORT_SENSITIVE_USER_ERROR);
}
//电压等级
List<DictData> devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData();
//指标类型
List<DictData> indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData();
//评估类型
List<DictData> evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData();
//行业类型
List<DictData> industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData();
//负荷级别
List<DictData> loadLevel = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LOAD_LEVEL.getCode()).getData();
//供电电源情况
List<DictData> supplyCondition = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.SUPPLY_CONDITION.getCode()).getData();
//执行批量导入敏感及重要用户,入库过程中会进行数据校验
List<SensitiveUserExcel.SensitiveUserExcelMsg> sensitiveUserExcelMsgs = new ArrayList<>();
List<SensitiveUserSExcel.SensitiveUserExcelMsg> sensitiveUserExcelMsgs = new ArrayList<>();
if (CollectionUtil.isNotEmpty(sensitiveUserExcels)) {
for (SensitiveUserExcel sensitiveUserExcel : sensitiveUserExcels) {
for (SensitiveUserSExcel userExcel : sensitiveUserExcels) {
//先判断当前用户是否已经存在
LambdaQueryWrapper<UserReportPO> 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;
}
}else{
//处理通用信息
UserReportPO userReportPO = new UserReportPO();
userReportPO.setReporter(RequestUtil.getUserIndex());
userReportPO.setReportDate(LocalDate.now());
userReportPO.setOrgId(RequestUtil.getDeptIndex());
userReportPO.setCity(sensitiveUserExcel.getCity());
userReportPO.setExpectedProductionDate(userExcel.getExpectedProductionDate());
userReportPO.setUserType(UserNatureEnum.SENSITIVE_USER.getCode());
if(Objects.nonNull(sensitiveUserExcel.getUserStatus())){
userReportPO.setUserStatus(sensitiveUserExcel.getUserStatus());
}else{
userReportPO.setUserStatus(SupervisionUserStatusEnum.PRODUCT.getCode());
}
userReportPO.setSubstation(sensitiveUserExcel.getSubstation());
//电压等级需要特殊处理下
if (StrUtil.isNotBlank(sensitiveUserExcel.getVoltageLevel())) {
userReportPO.setVoltageLevel(PubUtil.getDicById(sensitiveUserExcel.getVoltageLevel(), devVoltage));
}
userReportPO.setProjectName(sensitiveUserExcel.getProjectName());
//所属地市
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());
@@ -614,24 +674,250 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
//处理敏感用户的信息
UserReportSensitivePO userReportSensitivePO = new UserReportSensitivePO();
userReportSensitivePO.setId(userReportPO.getId());
if (StrUtil.isNotBlank(sensitiveUserExcel.getIndustry())) {
userReportSensitivePO.setIndustry(PubUtil.getDicById(sensitiveUserExcel.getIndustry(), industryType));
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(sensitiveUserExcel.getMaintenanceUnit());
userReportSensitivePO.setPowerSupply(sensitiveUserExcel.getPowerSupply());
if (StrUtil.isNotBlank(sensitiveUserExcel.getSupplyVoltageLevel())) {
userReportSensitivePO.setSupplyVoltageLevel(PubUtil.getDicById(sensitiveUserExcel.getSupplyVoltageLevel(), devVoltage));
userReportSensitivePO.setMaintenanceUnit(userExcel.getMaintenanceUnit());
userReportSensitivePO.setPowerSupply(userExcel.getPowerSupply());
if (StrUtil.isNotBlank(userExcel.getSupplyVoltageLevel())) {
userReportSensitivePO.setSupplyVoltageLevel(PubUtil.getDicById(userExcel.getSupplyVoltageLevel(), devVoltage));
}
if (StrUtil.isNotBlank(sensitiveUserExcel.getLoadLevel())) {
userReportSensitivePO.setLoadLevel(PubUtil.getDicById(sensitiveUserExcel.getLoadLevel(), loadLevel));
if (StrUtil.isNotBlank(userExcel.getLoadLevel())) {
userReportSensitivePO.setLoadLevel(PubUtil.getDicById(userExcel.getLoadLevel(), loadLevel));
}
if (StrUtil.isNotBlank(sensitiveUserExcel.getPowerSupplyInfo())) {
userReportSensitivePO.setPowerSupplyInfo(PubUtil.getDicById(sensitiveUserExcel.getPowerSupplyInfo(), supplyCondition));
if (StrUtil.isNotBlank(userExcel.getPowerSupplyInfo())) {
userReportSensitivePO.setPowerSupplyInfo(PubUtil.getDicById(userExcel.getPowerSupplyInfo(), supplyCondition));
}
userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode());
userReportSensitivePOService.save(userReportSensitivePO);
}
}
}
//判断有没有错误信息
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<DictData> jiBeiArea = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.JIBEI_AREA.getCode()).getData();
//主要非线性设备类型-冀北
List<SysDicTreePO> treeVOS = dictTreeFeignClient.queryByCodeList(DicDataTypeEnum.Major_Nonlinear_Device.getCode()).getData();
//电压等级
List<DictData> devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData();
//评估单位
List<DictData> evaluationDept = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_DEPT.getCode()).getData();
//评估类型
List<DictData> evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData();
Map<String, String> treeString = getTreeString("", treeVOS.get(0).getChildren());
List<PullDown> 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<SensitiveReportExcel> sensitiveUserExcels;
try {
ExcelImportResult<SensitiveReportExcel> 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<SysDicTreePO> treeVOS = dictTreeFeignClient.queryByCodeList(DicDataTypeEnum.Major_Nonlinear_Device.getCode()).getData();
//电压等级
List<DictData> devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData();
Map<String, String> treeString = getTreeString("", treeVOS.get(0).getChildren());
//评估类型
List<DictData> evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData();
//执行批量导入敏感及重要用户,入库过程中会进行数据校验
List<SensitiveReportExcel.SensitiveReportExcelMsg> sensitiveUserExcelMsgs = new ArrayList<>();
if (CollectionUtil.isNotEmpty(sensitiveUserExcels)) {
for (SensitiveReportExcel reportExcel : sensitiveUserExcels) {
//先判断当前用户是否已经存在
LambdaQueryWrapper<UserReportPO> 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);
}
}
}
}
//判断有没有错误信息
if (CollectionUtil.isNotEmpty(sensitiveUserExcelMsgs)) {
ExcelUtil.exportExcel("失败列表.xlsx", SensitiveUserExcel.SensitiveUserExcelMsg.class, sensitiveUserExcelMsgs);
@@ -640,6 +926,20 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
return CommonResponseEnum.SUCCESS.getCode();
}
public Map<String,String> getTreeString(String name, List<SysDicTreePO> treeVOS) {
Map<String,String> 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的属性名