草稿功能各个页面开发
This commit is contained in:
@@ -406,7 +406,12 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
|||||||
userReportVOQueryWrapper.eq("data_type", userReportQueryParam.getDataType());
|
userReportVOQueryWrapper.eq("data_type", userReportQueryParam.getDataType());
|
||||||
}
|
}
|
||||||
userReportVOQueryWrapper.like(StringUtils.isNotBlank(userReportQueryParam.getProjectName()), "supervision_user_report.project_name", userReportQueryParam.getProjectName());
|
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");
|
userReportVOQueryWrapper.orderByDesc("supervision_user_report.create_time");
|
||||||
return this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);
|
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
|
@Override
|
||||||
public void downloadSensitiveUserTemplate() {
|
public void downloadSensitiveUserTemplate() {
|
||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams("敏感及重要用户数据模板(带*字段均是必填,请严格按照模板标准填入数据)", "敏感及重要用户数据信息");
|
||||||
exportParams.setSheetName("敏感及重要用户");
|
//所属地市
|
||||||
|
List<DictData> jiBeiArea = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.JIBEI_AREA.getCode()).getData();
|
||||||
|
//电压等级
|
||||||
List<DictData> devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.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> industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData();
|
||||||
|
//负荷级别
|
||||||
List<DictData> loadLevel = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LOAD_LEVEL.getCode()).getData();
|
List<DictData> loadLevel = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LOAD_LEVEL.getCode()).getData();
|
||||||
|
//供电电源情况
|
||||||
List<DictData> supplyCondition = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.SUPPLY_CONDITION.getCode()).getData();
|
List<DictData> supplyCondition = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.SUPPLY_CONDITION.getCode()).getData();
|
||||||
|
|
||||||
List<PullDown> pullDowns = new ArrayList<>();
|
List<PullDown> pullDowns = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
PullDown pullDown;
|
PullDown pullDown;
|
||||||
pullDown = new PullDown();
|
pullDown = new PullDown();
|
||||||
pullDown.setFirstCol(2);
|
pullDown.setFirstCol(1);
|
||||||
pullDown.setLastCol(2);
|
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()));
|
pullDown.setStrings(Stream.of("可研", "建设", "运行", "退运").collect(Collectors.toList()));
|
||||||
pullDowns.add(pullDown);
|
pullDowns.add(pullDown);
|
||||||
|
|
||||||
|
|
||||||
pullDown = new PullDown();
|
pullDown = new PullDown();
|
||||||
pullDown.setFirstCol(4);
|
pullDown.setFirstCol(6);
|
||||||
pullDown.setLastCol(4);
|
pullDown.setLastCol(6);
|
||||||
pullDown.setStrings(devVoltage.stream().map(DictData::getName).collect(Collectors.toList()));
|
pullDown.setStrings(devVoltage.stream().map(DictData::getName).collect(Collectors.toList()));
|
||||||
pullDowns.add(pullDown);
|
pullDowns.add(pullDown);
|
||||||
|
|
||||||
pullDown = new PullDown();
|
pullDown = new PullDown();
|
||||||
pullDown.setFirstCol(5);
|
pullDown.setFirstCol(7);
|
||||||
pullDown.setLastCol(5);
|
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()));
|
pullDown.setStrings(industryType.stream().map(DictData::getName).collect(Collectors.toList()));
|
||||||
pullDowns.add(pullDown);
|
pullDowns.add(pullDown);
|
||||||
|
|
||||||
pullDown = new PullDown();
|
pullDown = new PullDown();
|
||||||
pullDown.setFirstCol(8);
|
pullDown.setFirstCol(16);
|
||||||
pullDown.setLastCol(8);
|
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()));
|
pullDown.setStrings(devVoltage.stream().map(DictData::getName).collect(Collectors.toList()));
|
||||||
pullDowns.add(pullDown);
|
pullDowns.add(pullDown);
|
||||||
|
|
||||||
pullDown = new PullDown();
|
pullDown = new PullDown();
|
||||||
pullDown.setFirstCol(9);
|
pullDown.setFirstCol(21);
|
||||||
pullDown.setLastCol(9);
|
pullDown.setLastCol(21);
|
||||||
pullDown.setStrings(loadLevel.stream().map(DictData::getName).collect(Collectors.toList()));
|
pullDown.setStrings(loadLevel.stream().map(DictData::getName).collect(Collectors.toList()));
|
||||||
pullDowns.add(pullDown);
|
pullDowns.add(pullDown);
|
||||||
|
|
||||||
|
|
||||||
pullDown = new PullDown();
|
pullDown = new PullDown();
|
||||||
pullDown.setFirstCol(10);
|
pullDown.setFirstCol(10);
|
||||||
pullDown.setLastCol(10);
|
pullDown.setLastCol(10);
|
||||||
pullDown.setStrings(supplyCondition.stream().map(DictData::getName).collect(Collectors.toList()));
|
pullDown.setStrings(Stream.of("否", "是").collect(Collectors.toList()));
|
||||||
pullDowns.add(pullDown);
|
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) {
|
public String importSensitiveUserData(MultipartFile file, HttpServletResponse response) {
|
||||||
ImportParams params = new ImportParams();
|
ImportParams params = new ImportParams();
|
||||||
params.setHeadRows(1);//表头
|
params.setHeadRows(1);//表头
|
||||||
// params.setTitleRows(1);//标题
|
params.setTitleRows(1);//标题
|
||||||
params.setNeedVerify(true);
|
params.setNeedVerify(true);
|
||||||
params.setStartSheetIndex(0);
|
params.setStartSheetIndex(0);
|
||||||
params.setSheetNum(1);
|
params.setSheetNum(1);
|
||||||
List<SensitiveUserExcel> sensitiveUserExcels;
|
List<SensitiveUserSExcel> sensitiveUserExcels;
|
||||||
try {
|
try {
|
||||||
ExcelImportResult<SensitiveUserExcel> sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveUserExcel.class, params);
|
ExcelImportResult<SensitiveUserSExcel> sensitiveUserExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), SensitiveUserSExcel.class, params);
|
||||||
//如果存在非法数据,将不合格的数据导出
|
//如果存在非法数据,将不合格的数据导出
|
||||||
if (sensitiveUserExcelExcelImportResult.isVerifyFail()) {
|
if (sensitiveUserExcelExcelImportResult.isVerifyFail()) {
|
||||||
PoiUtil.exportFileByWorkbook(sensitiveUserExcelExcelImportResult.getFailWorkbook(), "非法用户数据.xlsx", response);
|
PoiUtil.exportFileByWorkbook(sensitiveUserExcelExcelImportResult.getFailWorkbook(), "非法用户数据.xlsx", response);
|
||||||
@@ -564,49 +622,51 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new BusinessException(SupervisionResponseEnum.IMPORT_SENSITIVE_USER_ERROR);
|
throw new BusinessException(SupervisionResponseEnum.IMPORT_SENSITIVE_USER_ERROR);
|
||||||
}
|
}
|
||||||
|
//电压等级
|
||||||
List<DictData> devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData();
|
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> industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData();
|
||||||
|
//负荷级别
|
||||||
List<DictData> loadLevel = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LOAD_LEVEL.getCode()).getData();
|
List<DictData> loadLevel = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LOAD_LEVEL.getCode()).getData();
|
||||||
|
//供电电源情况
|
||||||
List<DictData> supplyCondition = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.SUPPLY_CONDITION.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)) {
|
if (CollectionUtil.isNotEmpty(sensitiveUserExcels)) {
|
||||||
for (SensitiveUserExcel sensitiveUserExcel : sensitiveUserExcels) {
|
for (SensitiveUserSExcel userExcel : sensitiveUserExcels) {
|
||||||
//先判断当前用户是否已经存在
|
//先判断当前用户是否已经存在
|
||||||
LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
userReportPOLambdaQueryWrapper.eq(UserReportPO::getProjectName, sensitiveUserExcel.getProjectName())
|
userReportPOLambdaQueryWrapper.eq(UserReportPO::getProjectName, userExcel.getProjectName())
|
||||||
.eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode());
|
.eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode());
|
||||||
int count = this.count(userReportPOLambdaQueryWrapper);
|
int count = this.count(userReportPOLambdaQueryWrapper);
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
// if(sensitiveUserExcel.getOverlay() == 1){
|
|
||||||
//
|
|
||||||
// }else{
|
|
||||||
//该用户已经录入
|
//该用户已经录入
|
||||||
SensitiveUserExcel.SensitiveUserExcelMsg sensitiveUserExcelMsg = new SensitiveUserExcel.SensitiveUserExcelMsg();
|
SensitiveUserSExcel.SensitiveUserExcelMsg sensitiveUserExcelMsg = new SensitiveUserSExcel.SensitiveUserExcelMsg();
|
||||||
BeanUtils.copyProperties(sensitiveUserExcel, sensitiveUserExcelMsg);
|
BeanUtils.copyProperties(userExcel, sensitiveUserExcelMsg);
|
||||||
sensitiveUserExcelMsg.setMsg("该用户已录入!");
|
sensitiveUserExcelMsg.setMsg("该用户已录入!");
|
||||||
sensitiveUserExcelMsgs.add(sensitiveUserExcelMsg);
|
sensitiveUserExcelMsgs.add(sensitiveUserExcelMsg);
|
||||||
// }
|
}else{
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//处理通用信息
|
//处理通用信息
|
||||||
UserReportPO userReportPO = new UserReportPO();
|
UserReportPO userReportPO = new UserReportPO();
|
||||||
userReportPO.setReporter(RequestUtil.getUserIndex());
|
userReportPO.setReporter(RequestUtil.getUserIndex());
|
||||||
userReportPO.setReportDate(LocalDate.now());
|
userReportPO.setReportDate(LocalDate.now());
|
||||||
userReportPO.setOrgId(RequestUtil.getDeptIndex());
|
userReportPO.setOrgId(RequestUtil.getDeptIndex());
|
||||||
userReportPO.setCity(sensitiveUserExcel.getCity());
|
userReportPO.setExpectedProductionDate(userExcel.getExpectedProductionDate());
|
||||||
userReportPO.setUserType(UserNatureEnum.SENSITIVE_USER.getCode());
|
userReportPO.setUserType(UserNatureEnum.SENSITIVE_USER.getCode());
|
||||||
if(Objects.nonNull(sensitiveUserExcel.getUserStatus())){
|
//所属地市
|
||||||
userReportPO.setUserStatus(sensitiveUserExcel.getUserStatus());
|
userReportPO.setCity(userExcel.getCity());
|
||||||
}else{
|
userReportPO.setResponsibleDepartment(userExcel.getResponsibleDepartment());
|
||||||
userReportPO.setUserStatus(SupervisionUserStatusEnum.PRODUCT.getCode());
|
userReportPO.setUserStatus(userExcel.getUserStatus());
|
||||||
}
|
userReportPO.setSubstation(userExcel.getSubstation());
|
||||||
userReportPO.setSubstation(sensitiveUserExcel.getSubstation());
|
userReportPO.setVoltageLevel(PubUtil.getDicById(userExcel.getVoltageLevel(), devVoltage));
|
||||||
//电压等级需要特殊处理下
|
userReportPO.setProjectName(userExcel.getProjectName());
|
||||||
if (StrUtil.isNotBlank(sensitiveUserExcel.getVoltageLevel())) {
|
userReportPO.setEvaluationDept(userExcel.getEvaluationDept());
|
||||||
userReportPO.setVoltageLevel(PubUtil.getDicById(sensitiveUserExcel.getVoltageLevel(), devVoltage));
|
userReportPO.setEvaluationConclusion(userExcel.getEvaluationConclusion());
|
||||||
}
|
|
||||||
userReportPO.setProjectName(sensitiveUserExcel.getProjectName());
|
|
||||||
userReportPO.setDataType(1);
|
userReportPO.setDataType(1);
|
||||||
userReportPO.setStatus(2);
|
userReportPO.setStatus(2);
|
||||||
userReportPO.setState(DataStateEnum.ENABLE.getCode());
|
userReportPO.setState(DataStateEnum.ENABLE.getCode());
|
||||||
@@ -614,24 +674,250 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
|||||||
//处理敏感用户的信息
|
//处理敏感用户的信息
|
||||||
UserReportSensitivePO userReportSensitivePO = new UserReportSensitivePO();
|
UserReportSensitivePO userReportSensitivePO = new UserReportSensitivePO();
|
||||||
userReportSensitivePO.setId(userReportPO.getId());
|
userReportSensitivePO.setId(userReportPO.getId());
|
||||||
if (StrUtil.isNotBlank(sensitiveUserExcel.getIndustry())) {
|
userReportSensitivePO.setPccPoint(userExcel.getPccPoint());
|
||||||
userReportSensitivePO.setIndustry(PubUtil.getDicById(sensitiveUserExcel.getIndustry(), industryType));
|
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.setMaintenanceUnit(userExcel.getMaintenanceUnit());
|
||||||
userReportSensitivePO.setPowerSupply(sensitiveUserExcel.getPowerSupply());
|
userReportSensitivePO.setPowerSupply(userExcel.getPowerSupply());
|
||||||
if (StrUtil.isNotBlank(sensitiveUserExcel.getSupplyVoltageLevel())) {
|
if (StrUtil.isNotBlank(userExcel.getSupplyVoltageLevel())) {
|
||||||
userReportSensitivePO.setSupplyVoltageLevel(PubUtil.getDicById(sensitiveUserExcel.getSupplyVoltageLevel(), devVoltage));
|
userReportSensitivePO.setSupplyVoltageLevel(PubUtil.getDicById(userExcel.getSupplyVoltageLevel(), devVoltage));
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(sensitiveUserExcel.getLoadLevel())) {
|
if (StrUtil.isNotBlank(userExcel.getLoadLevel())) {
|
||||||
userReportSensitivePO.setLoadLevel(PubUtil.getDicById(sensitiveUserExcel.getLoadLevel(), loadLevel));
|
userReportSensitivePO.setLoadLevel(PubUtil.getDicById(userExcel.getLoadLevel(), loadLevel));
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(sensitiveUserExcel.getPowerSupplyInfo())) {
|
if (StrUtil.isNotBlank(userExcel.getPowerSupplyInfo())) {
|
||||||
userReportSensitivePO.setPowerSupplyInfo(PubUtil.getDicById(sensitiveUserExcel.getPowerSupplyInfo(), supplyCondition));
|
userReportSensitivePO.setPowerSupplyInfo(PubUtil.getDicById(userExcel.getPowerSupplyInfo(), supplyCondition));
|
||||||
}
|
}
|
||||||
userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode());
|
userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode());
|
||||||
userReportSensitivePOService.save(userReportSensitivePO);
|
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)) {
|
if (CollectionUtil.isNotEmpty(sensitiveUserExcelMsgs)) {
|
||||||
ExcelUtil.exportExcel("失败列表.xlsx", SensitiveUserExcel.SensitiveUserExcelMsg.class, sensitiveUserExcelMsgs);
|
ExcelUtil.exportExcel("失败列表.xlsx", SensitiveUserExcel.SensitiveUserExcelMsg.class, sensitiveUserExcelMsgs);
|
||||||
@@ -640,6 +926,20 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
|||||||
return CommonResponseEnum.SUCCESS.getCode();
|
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的属性名
|
* 获取所有字段为null的属性名
|
||||||
|
|||||||
Reference in New Issue
Block a user