diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/AbnormalParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/AbnormalParam.java index d675899e0..57cae98f9 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/AbnormalParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/AbnormalParam.java @@ -24,9 +24,13 @@ public class AbnormalParam extends IssuesParam { @NotNull(message = "发现异常时间不可为空") private String abnormalDevTime; - @ApiModelProperty(name = "abnormalTarget",value = "异常指标") - @NotNull(message = "异常指标不可为空") - private String abnormalTarget; + @ApiModelProperty(name = "steadyState",value = "稳态指标") + @NotNull(message = "稳态指标不可为空") + private String[] steadyState; + + @ApiModelProperty(name = "transientIndicators",value = "暂态指标") + @NotNull(message = "暂态指标不可为空") + private String[] transientIndicators; @ApiModelProperty(name = "eventDescription",value = "事件描述") @NotNull(message = "事件描述不可为空") diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/ComplaintParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/ComplaintParam.java index 204fabad9..d446bb0ec 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/ComplaintParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/ComplaintParam.java @@ -36,9 +36,13 @@ public class ComplaintParam extends IssuesParam { @NotNull(message = "投诉时间不可为空") private String complaintTime; - @ApiModelProperty(name = "abnormalTarget",value = "异常指标") - @NotNull(message = "异常指标不可为空") - private String abnormalTarget; + @ApiModelProperty(name = "steadyState",value = "稳态指标") + @NotNull(message = "稳态指标不可为空") + private String[] steadyState; + + @ApiModelProperty(name = "transientIndicators",value = "暂态指标") + @NotNull(message = "暂态指标不可为空") + private String[] transientIndicators; @ApiModelProperty(name = "electricityType",value = "用电类别") @NotNull(message = "用电类别不可为空") diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java index 1f3613fd0..15bc8ad88 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java @@ -24,10 +24,6 @@ public class ExcessiveParam extends IssuesParam { @NotNull(message = "告警原因不可为空") private String warnReason; - @ApiModelProperty(name = "substationId",value = "变电站ID") - @NotNull(message = "变电站ID不可为空") - private String substationId; - @ApiModelProperty(name = "measurementPointId",value = "监测点ID") @NotNull(message = "监测点ID不可为空") private String measurementPointId; diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/GeneralSurveyParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/GeneralSurveyParam.java index 906154184..5d0433819 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/GeneralSurveyParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/GeneralSurveyParam.java @@ -28,9 +28,13 @@ public class GeneralSurveyParam extends IssuesParam { @NotNull(message = "监测点ID不可为空") private String measurementPointId; - @ApiModelProperty(name = "overLimitTarget",value = "超标指标") - @NotNull(message = "超标指标不可为空") - private String overLimitTarget; + @ApiModelProperty(name = "steadyState",value = "稳态指标") + @NotNull(message = "稳态指标不可为空") + private String[] steadyState; + + @ApiModelProperty(name = "transientIndicators",value = "暂态指标") + @NotNull(message = "暂态指标不可为空") + private String[] transientIndicators; @ApiModelProperty(name = "planName",value = "普测计划名称") @NotNull(message = "普测计划名称不可为空") diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/IssuesParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/IssuesParam.java index eeca60840..a698dcab9 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/IssuesParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/IssuesParam.java @@ -18,9 +18,9 @@ public class IssuesParam { @NotNull(message = "单位不可为空") private String orgNo; - @ApiModelProperty(name = "powerQualityProblemNo",value = "电能质量问题编号") - @NotNull(message = "电能质量问题编号不可为空") - private String powerQualityProblemNo; + @ApiModelProperty(name = "orgName",value = "单位名称") + @NotNull(message = "单位名称不可为空") + private String orgName; @ApiModelProperty(name = "problemName",value = "问题名称") @NotNull(message = "问题名称不可为空") diff --git a/process-api/src/main/java/com/njcn/process/pojo/param/ProcessParam.java b/process-api/src/main/java/com/njcn/process/pojo/param/ProcessParam.java index 6988804a8..47c41ca7a 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/param/ProcessParam.java +++ b/process-api/src/main/java/com/njcn/process/pojo/param/ProcessParam.java @@ -18,16 +18,16 @@ public class ProcessParam { private String powerQualityProblemNo; @ApiModelProperty(name = "reportProcessContentYyfx",value = "电网侧原因") - private String reportProcessContentYyfx; + private String[] reportProcessContentYyfx; @ApiModelProperty(name = "userReportProcessContentYyfx",value = "用户侧原因") - private String userReportProcessContentYyfx; + private String[] userReportProcessContentYyfx; @ApiModelProperty(name = "powerGridAffectDev",value = "电网侧受影响设备") - private String powerGridAffectDev; + private String[] powerGridAffectDev; @ApiModelProperty(name = "userAffectDev",value = "用户侧受影响设备") - private String userAffectDev; + private String[] userAffectDev; @ApiModelProperty(name = "eventDescriptionYyfx",value = "事件描述") private String eventDescriptionYyfx; @@ -39,10 +39,10 @@ public class ProcessParam { private String filePathYyfx; @ApiModelProperty(name = "reportProcessContentYyfx",value = "电网侧整改治理措施") - private String reportProcessContentJhzg; + private String[] reportProcessContentJhzg; @ApiModelProperty(name = "userReportProcessContentJhzg",value = "用户侧整改治理措施") - private String userReportProcessContentJhzg; + private String[] userReportProcessContentJhzg; @ApiModelProperty(name = "fileNameJhzg",value = "计划整改文件名称") private String fileNameJhzg; @@ -51,10 +51,10 @@ public class ProcessParam { private String filePathJhzg; @ApiModelProperty(name = "reportProcessContentSjcq",value = "电网侧实际采取措施") - private String reportProcessContentSjcq; + private String[] reportProcessContentSjcq; @ApiModelProperty(name = "userReportProcessContentSjcq",value = "用户侧实际采取措施") - private String userReportProcessContentSjcq; + private String[] userReportProcessContentSjcq; @ApiModelProperty(name = "fileNameSjcq",value = "实际采取措施报告文件名称") private String fileNameSjcq; diff --git a/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java b/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java index d07257bea..1d5d22b09 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java +++ b/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + import java.io.Serializable; /** @@ -14,6 +16,7 @@ import java.io.Serializable; * @author xiaoyao * @since 2022-11-14 */ +@Data @TableName("r_mp_online_monitor_overproof_problem") public class RMpOnlineMonitorOverproofProblem implements Serializable { @@ -53,67 +56,4 @@ public class RMpOnlineMonitorOverproofProblem implements Serializable { * 告警持续时间 */ private String warnLastTime; - - public String getPowerQualityProblemNo() { - return powerQualityProblemNo; - } - - public void setPowerQualityProblemNo(String powerQualityProblemNo) { - this.powerQualityProblemNo = powerQualityProblemNo; - } - public String getWarnTarget() { - return warnTarget; - } - - public void setWarnTarget(String warnTarget) { - this.warnTarget = warnTarget; - } - public String getWarnReason() { - return warnReason; - } - - public void setWarnReason(String warnReason) { - this.warnReason = warnReason; - } - public String getSubstationId() { - return substationId; - } - - public void setSubstationId(String substationId) { - this.substationId = substationId; - } - public String getMeasurementPointId() { - return measurementPointId; - } - - public void setMeasurementPointId(String measurementPointId) { - this.measurementPointId = measurementPointId; - } - public LocalDateTime getDataDate() { - return dataDate; - } - - public void setDataDate(LocalDateTime dataDate) { - this.dataDate = dataDate; - } - public String getWarnLastTime() { - return warnLastTime; - } - - public void setWarnLastTime(String warnLastTime) { - this.warnLastTime = warnLastTime; - } - - @Override - public String toString() { - return "RMpOnlineMonitorOverproofProblem{" + - "powerQualityProblemNo=" + powerQualityProblemNo + - ", warnTarget=" + warnTarget + - ", warnReason=" + warnReason + - ", substationId=" + substationId + - ", measurementPointId=" + measurementPointId + - ", dataDate=" + dataDate + - ", warnLastTime=" + warnLastTime + - "}"; - } } diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/AbnormalVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/AbnormalVO.java index bb9beb9ef..a25a3f95b 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/vo/AbnormalVO.java +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/AbnormalVO.java @@ -34,10 +34,10 @@ public class AbnormalVO extends ProcessVO implements Serializable { /** * 稳态指标 */ - private String steadyIndicator; + private String[] steadyIndicator; /** * 暂态指标 */ - private String transientIndicators; + private String[] transientIndicators; } diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/ComplaintVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/ComplaintVO.java index 25ce71db6..c0cc56635 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/vo/ComplaintVO.java +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/ComplaintVO.java @@ -39,11 +39,11 @@ public class ComplaintVO extends ProcessVO implements Serializable { /** * 稳态指标 */ - private String steadyIndicator; + private String[] steadyIndicator; /** * 暂态指标 */ - private String transientIndicators; + private String[] transientIndicators; } diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/GeneralSurveyVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/GeneralSurveyVO.java index 281322465..363ac8e4c 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/vo/GeneralSurveyVO.java +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/GeneralSurveyVO.java @@ -44,10 +44,10 @@ public class GeneralSurveyVO extends ProcessVO implements Serializable { /** * 稳态指标 */ - private String steadyIndicator; + private String[] steadyIndicator; /** * 暂态指标 */ - private String transientIndicators; + private String[] transientIndicators; } diff --git a/process-api/src/main/java/com/njcn/process/pojo/vo/ProcessVO.java b/process-api/src/main/java/com/njcn/process/pojo/vo/ProcessVO.java index 6e64e9c15..aefc3ef75 100644 --- a/process-api/src/main/java/com/njcn/process/pojo/vo/ProcessVO.java +++ b/process-api/src/main/java/com/njcn/process/pojo/vo/ProcessVO.java @@ -47,22 +47,22 @@ public class ProcessVO implements Serializable { /** * 电网侧原因 */ - private String reportProcessContentYyfx; + private String[] reportProcessContentYyfx; /** * 用户侧原因 */ - private String userReportProcessContentYyfx; + private String[] userReportProcessContentYyfx; /** * 电网侧受影响设备 */ - private String powerGridAffectDev; + private String[] powerGridAffectDev; /** * 用户侧受影响设备 */ - private String userAffectDev; + private String[] userAffectDev; /** * 事件描述 @@ -82,12 +82,12 @@ public class ProcessVO implements Serializable { /** * 电网侧整改治理措施 */ - private String reportProcessContentJhzg; + private String[] reportProcessContentJhzg; /** * 用户侧整改治理措施 */ - private String userReportProcessContentJhzg; + private String[] userReportProcessContentJhzg; /** * 计划整改文件名称 @@ -102,12 +102,12 @@ public class ProcessVO implements Serializable { /** * 电网侧实际采取措施 */ - private String reportProcessContentSjcq; + private String[] reportProcessContentSjcq; /** * 用户侧实际采取措施 */ - private String userReportProcessContentSjcq; + private String[] userReportProcessContentSjcq; /** * 实际采取措施报告文件名称 diff --git a/process-boot/pom.xml b/process-boot/pom.xml index 8e86b5678..3a8227bf2 100644 --- a/process-boot/pom.xml +++ b/process-boot/pom.xml @@ -97,6 +97,11 @@ 1.5.1-RELEASE compile + + com.belerweb + pinyin4j + 2.5.1 + diff --git a/process-boot/src/main/java/com/njcn/process/mapper/RStatElectricQualityProblemFlowMapper.java b/process-boot/src/main/java/com/njcn/process/mapper/RStatElectricQualityProblemFlowMapper.java index 7f94c7891..413daba31 100644 --- a/process-boot/src/main/java/com/njcn/process/mapper/RStatElectricQualityProblemFlowMapper.java +++ b/process-boot/src/main/java/com/njcn/process/mapper/RStatElectricQualityProblemFlowMapper.java @@ -8,6 +8,8 @@ import com.njcn.process.pojo.po.RStatElectricQualityProblemFlow; import com.njcn.process.pojo.vo.IssuesVO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 电能质量问题流程表 Mapper 接口 @@ -18,5 +20,5 @@ import org.apache.ibatis.annotations.Param; */ public interface RStatElectricQualityProblemFlowMapper extends BaseMapper { - Page getIssues(IPage page, @Param("param") QueryIssuesParam param, @Param("dateBegin") String dateBegin, @Param("dateEnd") String dateEnd); + List getIssues(@Param("param") QueryIssuesParam param, @Param("dateBegin") String dateBegin, @Param("dateEnd") String dateEnd); } diff --git a/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java b/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java index 572079412..341da8564 100644 --- a/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java +++ b/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java @@ -3,8 +3,11 @@ package com.njcn.process.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.pinyin.PinyinUtil; +import com.alibaba.nacos.shaded.com.google.common.collect.Lists; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.exception.BusinessException; @@ -25,6 +28,7 @@ import com.njcn.user.api.DeptFeignClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; @@ -68,10 +72,11 @@ public class IssuesServiceImpl implements IssuesService { /** * 新增电能质量问题流程表信息 */ - private LocalDateTime addIssues(IssuesParam issuesParam){ + private LocalDateTime addIssues(IssuesParam issuesParam,String powerQualityProblemNo){ RStatElectricQualityProblemFlow issues = new RStatElectricQualityProblemFlow(); LocalDateTime local = LocalDateTimeUtil.now(); BeanUtil.copyProperties(issuesParam,issues); + issues.setPowerQualityProblemNo(powerQualityProblemNo); issues.setDataDate(local); issues.setStartTime(null); issues.setUpdateTime(null); @@ -81,6 +86,33 @@ public class IssuesServiceImpl implements IssuesService { return local; } + /** + * 生成问题编号 + */ + private String getPowerQualityProblemNo(IssuesParam issuesParam){ + StringBuilder powerQualityProblemNo = new StringBuilder(); + powerQualityProblemNo.append(PinyinUtil.getFirstLetter(issuesParam.getOrgName(),"").toUpperCase()).append("-"); + if (DicDataEnum.ONLINE.getCode().equals(issuesParam.getProblemSources())){ + powerQualityProblemNo.append("ZXJC"); + }else if (DicDataEnum.GENERAL.getCode().equals(issuesParam.getProblemSources())){ + powerQualityProblemNo.append("PCCB"); + }else if (DicDataEnum.USER_COMPLAINTS.getCode().equals(issuesParam.getProblemSources())){ + powerQualityProblemNo.append("YHTS"); + }else if (DicDataEnum.DEV_EXCEPTION.getCode().equals(issuesParam.getProblemSources())){ + powerQualityProblemNo.append("YWYC"); + } + String nowDate = DateUtil.format(new Date(), "yyyyMMdd"); + String processDate = DateUtil.format(new Date(), "yyyy-MM-dd"); + powerQualityProblemNo.append(nowDate); + LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); + LocalDateTime local = LocalDateTimeUtil.parse(processDate + "T00:00:00"); + LocalDateTime localEnd = LocalDateTimeUtil.parse(processDate + "T23:59:59"); + issuesQuery.ge(RStatElectricQualityProblemFlow::getDataDate, local).le(RStatElectricQualityProblemFlow::getDataDate,localEnd); + Integer count = issuesMapper.selectCount(issuesQuery); + powerQualityProblemNo.append(StrUtil.padPre(String.valueOf(count + 1),5, '0')); + return powerQualityProblemNo.toString(); + } + /** * 填报在线监测超标问题 */ @@ -88,9 +120,11 @@ public class IssuesServiceImpl implements IssuesService { public void addExcessiveIssues(ExcessiveParam excessiveParam) { IssuesParam issuesParam = new IssuesParam(); BeanUtil.copyProperties(excessiveParam,issuesParam); - LocalDateTime localDateTime = addIssues(issuesParam); + String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); + LocalDateTime localDateTime = addIssues(issuesParam,powerQualityProblemNo); RMpOnlineMonitorOverproofProblem excessive = new RMpOnlineMonitorOverproofProblem(); BeanUtil.copyProperties(excessiveParam,excessive); + excessive.setPowerQualityProblemNo(powerQualityProblemNo); excessive.setDataDate(localDateTime); excessiveMapper.insert(excessive); } @@ -102,9 +136,12 @@ public class IssuesServiceImpl implements IssuesService { public void addGeneralSurveyIssues(GeneralSurveyParam generalSurveyParam) { IssuesParam issuesParam = new IssuesParam(); BeanUtil.copyProperties(generalSurveyParam,issuesParam); - LocalDateTime localDateTime = addIssues(issuesParam); + String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); + LocalDateTime localDateTime = addIssues(issuesParam,powerQualityProblemNo); RMpGeneralSurveyOverproofProblem generalSurvey = new RMpGeneralSurveyOverproofProblem(); BeanUtil.copyProperties(generalSurveyParam,generalSurvey); + generalSurvey.setOverLimitTarget(ArrayUtil.toString(generalSurveyParam.getSteadyState())+ArrayUtil.toString(generalSurveyParam.getTransientIndicators())); + generalSurvey.setPowerQualityProblemNo(powerQualityProblemNo); generalSurvey.setDataDate(localDateTime); generalSurveyMapper.insert(generalSurvey); } @@ -116,9 +153,12 @@ public class IssuesServiceImpl implements IssuesService { public void addComplaintIssues(ComplaintParam complaintParam) { IssuesParam issuesParam = new IssuesParam(); BeanUtil.copyProperties(complaintParam,issuesParam); - LocalDateTime localDateTime = addIssues(issuesParam); + String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); + LocalDateTime localDateTime = addIssues(issuesParam,powerQualityProblemNo); RMpUserComplaint complaint = new RMpUserComplaint(); BeanUtil.copyProperties(complaintParam,complaint); + complaint.setAbnormalTarget(ArrayUtil.toString(complaintParam.getSteadyState())+ArrayUtil.toString(complaintParam.getTransientIndicators())); + complaint.setPowerQualityProblemNo(powerQualityProblemNo); complaint.setDataDate(localDateTime); complaintMapper.insert(complaint); } @@ -130,9 +170,12 @@ public class IssuesServiceImpl implements IssuesService { public void addAbnormalIssues(AbnormalParam abnormalParam) { IssuesParam issuesParam = new IssuesParam(); BeanUtil.copyProperties(abnormalParam,issuesParam); - LocalDateTime localDateTime = addIssues(issuesParam); + String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); + LocalDateTime localDateTime = addIssues(issuesParam,powerQualityProblemNo); RMpOperationMonitorAbnormal abnormal = new RMpOperationMonitorAbnormal(); BeanUtil.copyProperties(abnormalParam,abnormal); + abnormal.setAbnormalTarget(ArrayUtil.toString(abnormalParam.getSteadyState())+ArrayUtil.toString(abnormalParam.getTransientIndicators())); + abnormal.setPowerQualityProblemNo(powerQualityProblemNo); abnormal.setDataDate(localDateTime); abnormalMapper.insert(abnormal); } @@ -142,7 +185,7 @@ public class IssuesServiceImpl implements IssuesService { */ @Override public Page getIssues(QueryIssuesParam param) { - IPage page = new Page<>(param.getPageNum(), param.getPageSize()); + Page page = new Page<>(param.getPageNum(), param.getPageSize()); Date dateOut = DateUtil.parse(param.getDataDate()); Date dateBegin = new Date(); Date dateEnd = new Date(); @@ -156,18 +199,20 @@ public class IssuesServiceImpl implements IssuesService { dateBegin = DateUtil.beginOfMonth(dateOut); dateEnd = DateUtil.endOfMonth(dateOut); } - Page out = issuesMapper.getIssues(page,param,DateUtil.formatDateTime(dateBegin), DateUtil.formatDateTime(dateEnd)); - out.getRecords().forEach(data -> data.setOrgName((deptFeignClient.getDeptById(data.getOrgNo()).getData().getName()))); - /*问题来源*/ - List problemSourcesDictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PROBLEM_SOURCES.getCode()).getData(); - problemSourcesDictData.forEach(dict -> out.getRecords().stream().filter(data -> dict.getCode().equals(data.getProblemSources())).forEach(data -> data.setProblemSources(dict.getName()))); - /*填报进度*/ - List fillProgressDictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.FILL_PROGRESS.getCode()).getData(); - fillProgressDictData.forEach(dict -> out.getRecords().stream().filter(data -> dict.getCode().equals(data.getReportProcess())).forEach(data -> data.setReportProcess(dict.getName()))); - /*审核状态*/ - List auditStatusDictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.AUDIT_STATUS.getCode()).getData(); - auditStatusDictData.forEach(dict -> out.getRecords().stream().filter(data -> dict.getCode().equals(data.getReportProcessStatus())).forEach(data -> data.setReportProcessStatus(dict.getName()))); - return out; + List out = issuesMapper.getIssues(param,DateUtil.formatDateTime(dateBegin), DateUtil.formatDateTime(dateEnd)); + if (!CollectionUtils.isEmpty(out)) { + out.forEach(data -> data.setOrgName((deptFeignClient.getDeptById(data.getOrgNo()).getData().getName()))); + /*问题来源*/ + List problemSourcesDictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PROBLEM_SOURCES.getCode()).getData(); + problemSourcesDictData.forEach(dict -> out.stream().filter(data -> dict.getCode().equals(data.getProblemSources())).forEach(data -> data.setProblemSources(dict.getName()))); + page.setTotal(out.size()); + int pages = (int)Math.ceil(out.size()*1.0/param.getPageSize()); + page.setPages(pages); + List> partition = Lists.partition(out, param.getPageSize()); + List issuesVOS = partition.get(param.getPageNum() - 1); + page.setRecords(issuesVOS); + } + return page; } /** @@ -187,6 +232,34 @@ public class IssuesServiceImpl implements IssuesService { flowQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo,powerQualityProblemNo); return flowDetailsMapper.selectOne(flowQuery); } + + /** + * 处理填报信息 + */ + private ProcessVO processFlowDetail(RMpElectricQualityProblemFlowDetails details){ + ProcessVO process = new ProcessVO(); + BeanUtil.copyProperties(details,process); + if (!StrUtil.isEmpty(details.getReportProcessContentYyfx())){ + process.setReportProcessContentYyfx(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentYyfx(),"["),"\\]").split(",")); + } + if (!StrUtil.isEmpty(details.getUserReportProcessContentYyfx())){ + process.setUserReportProcessContentYyfx(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentYyfx(),"["),"\\]").split(",")); + } + if (!StrUtil.isEmpty(details.getReportProcessContentJhzg())){ + process.setReportProcessContentJhzg(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentJhzg(),"["),"\\]").split(",")); + } + if (!StrUtil.isEmpty(details.getUserReportProcessContentJhzg())){ + process.setUserReportProcessContentJhzg(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentJhzg(),"["),"\\]").split(",")); + } + if (!StrUtil.isEmpty(details.getReportProcessContentSjcq())){ + process.setReportProcessContentSjcq(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentSjcq(),"["),"\\]").split(",")); + } + if (!StrUtil.isEmpty(details.getUserReportProcessContentSjcq())){ + process.setUserReportProcessContentSjcq(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentSjcq(),"["),"\\]").split(",")); + } + return process; + } + /** * 查询在线监测超标问题详情 */ @@ -199,7 +272,8 @@ public class IssuesServiceImpl implements IssuesService { excessiveQuery.eq(RMpOnlineMonitorOverproofProblem::getPowerQualityProblemNo,powerQualityProblemNo); RMpOnlineMonitorOverproofProblem excessiveOut = excessiveMapper.selectOne(excessiveQuery); BeanUtil.copyProperties(excessiveOut,detail); - BeanUtil.copyProperties(flowDetailSelectOne(powerQualityProblemNo),detail); + RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); + BeanUtil.copyProperties(processFlowDetail(flowDetails),detail); return detail; } @@ -215,7 +289,10 @@ public class IssuesServiceImpl implements IssuesService { generalSurveyQuery.eq(RMpGeneralSurveyOverproofProblem::getPowerQualityProblemNo,powerQualityProblemNo); RMpGeneralSurveyOverproofProblem generalSurveyOut = generalSurveyMapper.selectOne(generalSurveyQuery); BeanUtil.copyProperties(generalSurveyOut,detail); - BeanUtil.copyProperties(flowDetailSelectOne(powerQualityProblemNo),detail); + detail.setSteadyIndicator(steadyIndicator(generalSurveyOut.getOverLimitTarget())); + detail.setTransientIndicators(transientIndicators(generalSurveyOut.getOverLimitTarget())); + RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); + BeanUtil.copyProperties(processFlowDetail(flowDetails),detail); return detail; } @@ -231,7 +308,16 @@ public class IssuesServiceImpl implements IssuesService { complaintQuery.eq(RMpUserComplaint::getPowerQualityProblemNo,powerQualityProblemNo); RMpUserComplaint complaintOut = complaintMapper.selectOne(complaintQuery); BeanUtil.copyProperties(complaintOut,detail); - BeanUtil.copyProperties(flowDetailSelectOne(powerQualityProblemNo),detail); + detail.setSteadyIndicator(steadyIndicator(complaintOut.getAbnormalTarget())); + detail.setTransientIndicators(transientIndicators(complaintOut.getAbnormalTarget())); + RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); + BeanUtil.copyProperties(processFlowDetail(flowDetails),detail); + if (!StrUtil.isEmpty(complaintOut.getPowerGridAffectDev())){ + detail.setPowerGridAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(complaintOut.getPowerGridAffectDev(),"["),"\\]").split(",")); + } + if (!StrUtil.isEmpty(complaintOut.getUserAffectDev())){ + detail.setUserAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(complaintOut.getUserAffectDev(),"["),"\\]").split(",")); + } return detail; } @@ -247,10 +333,33 @@ public class IssuesServiceImpl implements IssuesService { abnormalQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo,powerQualityProblemNo); RMpOperationMonitorAbnormal abnormalOut = abnormalMapper.selectOne(abnormalQuery); BeanUtil.copyProperties(abnormalOut,detail); - BeanUtil.copyProperties(flowDetailSelectOne(powerQualityProblemNo),detail); + detail.setSteadyIndicator(steadyIndicator(abnormalOut.getAbnormalTarget())); + detail.setTransientIndicators(transientIndicators(abnormalOut.getAbnormalTarget())); + RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); + BeanUtil.copyProperties(processFlowDetail(flowDetails),detail); + if (!StrUtil.isEmpty(abnormalOut.getPowerGridAffectDev())){ + detail.setPowerGridAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(abnormalOut.getPowerGridAffectDev(),"["),"\\]").split(",")); + } + if (!StrUtil.isEmpty(abnormalOut.getUserAffectDev())){ + detail.setUserAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(abnormalOut.getUserAffectDev(),"["),"\\]").split(",")); + } return detail; } + /** + * 稳态指标处理 + */ + private String[] steadyIndicator(String target){ + return StrUtil.removePrefix(target.split("]\\[")[0],"\\[").split(","); + } + + /** + * 暂态指标处理 + */ + private String[] transientIndicators(String target){ + return StrUtil.removeSuffix(target.split("]\\[")[1],"]").split(","); + } + /** * 原因分析 */ @@ -260,12 +369,29 @@ public class IssuesServiceImpl implements IssuesService { RMpElectricQualityProblemFlowDetails details = new RMpElectricQualityProblemFlowDetails(); BeanUtil.copyProperties(processParam,details); details.setDataDateYyfx(local); + details.setReportProcessContentYyfx(ArrayUtil.toString(processParam.getReportProcessContentYyfx())); + details.setUserReportProcessContentYyfx(ArrayUtil.toString(processParam.getUserReportProcessContentYyfx())); flowDetailsMapper.insert(details); LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery); issuesOut.setReportProcess(DicDataEnum.CAUSE_ANALYSIS.getCode()); issuesMapper.update(issuesOut,issuesQuery); + if (DicDataEnum.USER_COMPLAINTS.getCode().equals(issuesOut.getProblemSources())){ + LambdaQueryWrapper complaintQuery = new LambdaQueryWrapper<>(); + complaintQuery.eq(RMpUserComplaint::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + RMpUserComplaint complaintOut = complaintMapper.selectOne(complaintQuery); + complaintOut.setPowerGridAffectDev(ArrayUtil.toString(processParam.getPowerGridAffectDev())); + complaintOut.setUserAffectDev(ArrayUtil.toString(processParam.getUserAffectDev())); + complaintMapper.update(complaintOut,complaintQuery); + }else if (DicDataEnum.DEV_EXCEPTION.getCode().equals(issuesOut.getProblemSources())){ + LambdaQueryWrapper abnormalQuery = new LambdaQueryWrapper<>(); + abnormalQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + RMpOperationMonitorAbnormal abnormalOut = abnormalMapper.selectOne(abnormalQuery); + abnormalOut.setPowerGridAffectDev(ArrayUtil.toString(processParam.getPowerGridAffectDev())); + abnormalOut.setUserAffectDev(ArrayUtil.toString(processParam.getUserAffectDev())); + abnormalMapper.update(abnormalOut,abnormalQuery); + } } /** @@ -283,14 +409,14 @@ public class IssuesServiceImpl implements IssuesService { LocalDateTime local = LocalDateTimeUtil.now(); if (DicDataEnum.PLAN_MEASURES.getCode().equals(code)){ details.setDataDateJhzg(local); - details.setReportProcessContentJhzg(processParam.getReportProcessContentJhzg()); - details.setUserReportProcessContentJhzg(processParam.getUserReportProcessContentJhzg()); + details.setReportProcessContentJhzg(ArrayUtil.toString(processParam.getReportProcessContentJhzg())); + details.setUserReportProcessContentJhzg(ArrayUtil.toString(processParam.getUserReportProcessContentJhzg())); details.setFileNameJhzg(processParam.getFileNameJhzg()); details.setFilePathJhzg(processParam.getFilePathJhzg()); }else if (DicDataEnum.ACTUAL_MEASURES.getCode().equals(code)){ details.setDataDateSjcq(local); - details.setReportProcessContentSjcq(processParam.getReportProcessContentSjcq()); - details.setUserReportProcessContentSjcq(processParam.getUserReportProcessContentSjcq()); + details.setReportProcessContentSjcq(ArrayUtil.toString(processParam.getReportProcessContentSjcq())); + details.setUserReportProcessContentSjcq(ArrayUtil.toString(processParam.getUserReportProcessContentSjcq())); details.setFileNameSjcq(processParam.getFileNameSjcq()); details.setFilePathSjcq(processParam.getFilePathSjcq()); }else if (DicDataEnum.INSIGHTS.getCode().equals(code)){