电能质量问题修改

This commit is contained in:
hzj
2024-04-10 10:47:45 +08:00
parent 859be88988
commit c348b24b51
9 changed files with 73 additions and 36 deletions

View File

@@ -81,7 +81,7 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
private final RedisUtil redisUtil;
private final CarryCapacityResultPOService carryCapacityResultPOService;
private final CarryCapacityUserPOService carryCapacityUserPOService;
private static final double DEFAULTVALUE=31415.926;
private static final double DEFAULTVALUE=3141.5926;
private final FileStorageUtil fileStorageUtil;
@@ -622,10 +622,10 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
public boolean uploadExcel(ExcelDataParam excelDataParam) {
String lineId = excelDataParam.getLineId();
// LineDetailDataVO data = lineFeignClient.getLineDetailData(lineId).getData();
LineDetailDataVO data = lineFeignClient.getLineDetailData(lineId).getData();
// //时间间隔
// Integer timeInterval = data.getTimeInterval();
Integer timeInterval =10;
Integer timeInterval = data.getTimeInterval();
// Integer timeInterval =10;
//根据时间间隔算出最低数据量 7天*6小时*60分钟*3项*90%/时间间隔
// int minDataNum = 7*6*60*3*90/(100*timeInterval);
int minDataNum =0;
@@ -740,8 +740,8 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
dataIList);
//todo 将文件存入文件服务器获取url
String filePath = fileStorageUtil.uploadMultipart(excelDataParam.getFile(), OssPath.CARRY_CAPCITY_DATA);
String url = "temp";
CarryCapacityDataPO carryCapacityDataPO = new CarryCapacityDataPO(lineId,startDate,endDate,url);
// String url = "temp";
CarryCapacityDataPO carryCapacityDataPO = new CarryCapacityDataPO(lineId,startDate,endDate,filePath);
carryCapacityDataPOService.saveOrUpdateByMultiId(carryCapacityDataPO);

View File

@@ -57,14 +57,11 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
YearMonth yearMonth = YearMonth.from(date);
int daysInMonth = yearMonth.lengthOfMonth();
/*获取稳态统计指标*/
List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData();
rStatLimitRateDPOs.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId)).forEach((k, v) -> {
LineALLInfoDTO lineALLInfoDTO = commLineClient.getLineAllDetail(k).getData();
steadyStatis.forEach(dictData -> {
if(Objects.equals(dictData.getCode(), DicDataEnum.TOTAL_INDICATOR.getCode())||
Objects.equals(dictData.getCode(), DicDataEnum.phase_Voltage.getCode())){
return;
}
RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO = new RMpPartHarmonicDetailDTO();
rMpPartHarmonicDetailDTO.setHarmonicType(dictData.getId());
List<LocalDate> localDates = overLimitCount(dictData, v);
@@ -99,21 +96,23 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
private List<LocalDate> overLimitCount(DictData temp,List<RStatLimitRateDPO> rStatLimitRateDPOs ) {
List<LocalDate> localDetails = new ArrayList<>();
if (Objects.equals(temp.getCode(), DicDataEnum.VOLTAGE_DEV.getCode())) {
if (Objects.equals(temp.getCode(), DicDataEnum.DYPC_ENUM.getCode())) {
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO -> rStatLimitRateDPO.getVoltageDevOvertime() > 0)
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
} else if ( Objects.equals(temp.getCode(), DicDataEnum.FLICKER.getCode())) {
} else if ( Objects.equals(temp.getCode(), DicDataEnum.CSSB_ENUM.getCode())) {
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO -> rStatLimitRateDPO.getFlickerOvertime() > 0)
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
} else if ( Objects.equals(temp.getCode(), DicDataEnum.PHASE_VOLTAGE.getCode())) {
} else if ( Objects.equals(temp.getCode(), DicDataEnum.SXDYBPHD_ENUM.getCode())) {
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO -> rStatLimitRateDPO.getUbalanceOvertime() > 0)
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
} else if (Objects.equals(temp.getCode(), DicDataEnum.THD_V.getCode())){
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO -> rStatLimitRateDPO.getUaberranceOvertime() > 0)
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
}else if ( Objects.equals(temp.getCode(), DicDataEnum.HARMONIC_VOLTAGE.getCode())) {
}
// else if (Objects.equals(temp.getCode(), DicDataEnum.THD_V.getCode())){
// localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO -> rStatLimitRateDPO.getUaberranceOvertime() > 0)
// .map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
// }
else if ( Objects.equals(temp.getCode(), DicDataEnum.XBDY_ENUM.getCode())) {
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO ->
rStatLimitRateDPO.getUharm2Overtime()+
rStatLimitRateDPO.getUharm3Overtime()+
@@ -141,7 +140,7 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
rStatLimitRateDPO.getUharm25Overtime() > 0)
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
} else if ( Objects.equals(temp.getCode(), DicDataEnum.HARMONIC_CURRENT.getCode())) {
} else if ( Objects.equals(temp.getCode(), DicDataEnum.XBDL_ENUM.getCode())) {
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO ->
rStatLimitRateDPO.getIharm2Overtime()+
rStatLimitRateDPO.getIharm4Overtime()+
@@ -170,7 +169,7 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
} else if (Objects.equals(temp.getCode(), DicDataEnum.INTERHARMONIC_VOLTAGE.getCode())){
} else if (Objects.equals(temp.getCode(), DicDataEnum.JXBDY_ENUM.getCode())){
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO ->
rStatLimitRateDPO.getInuharm1Overtime()+
rStatLimitRateDPO.getInuharm2Overtime()+
@@ -191,11 +190,11 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
> 0)
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
}else if ( Objects.equals(temp.getCode(), DicDataEnum.FREQUENCY_DEV.getCode())) {
}else if ( Objects.equals(temp.getCode(), DicDataEnum.PLPC_ENUM.getCode())) {
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO -> rStatLimitRateDPO.getFreqDevOvertime() > 0)
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
} else if (Objects.equals(temp.getCode(), DicDataEnum.NEG_CURRENT.getCode())){
} else if (Objects.equals(temp.getCode(), DicDataEnum.FXDL_ENUM.getCode())){
localDetails = rStatLimitRateDPOs.stream().filter(rStatLimitRateDPO -> rStatLimitRateDPO.getINegOvertime() > 0)
.map(RStatLimitRateDPO::getTime).collect(Collectors.toList());
}

View File

@@ -22,6 +22,7 @@ public enum ProcessResponseEnum {
ENABLED_CANNOT_BE_DELETED("A00555","策略为启用状态不能删除!"),
THERE_IS_ONLY_ONE_STRATEGY("A00556","各个策略等级,通用策略只能有一条!"),
TERMINAL_ID_REPEAT("A00351","终端编号已存在"),
NO_PERMISSION("A00357","当前登录人无权限此项操作"),
SUPV_PLAN_REPEAT("A00568","监督计划名称已存在")
;

View File

@@ -17,7 +17,7 @@ import javax.validation.constraints.NotNull;
public class ComplaintParam extends IssuesParam {
@ApiModelProperty(name = "userType",value = "用户类别")
@NotNull(message = "用户类别不可为空")
// @NotNull(message = "用户类别不可为空")
private String userType;
@ApiModelProperty(name = "userNo",value = "用户编号")
@@ -45,6 +45,6 @@ public class ComplaintParam extends IssuesParam {
private String[] transientIndicators;
@ApiModelProperty(name = "electricityType",value = "用电类别")
@NotNull(message = "用电类别不可为空")
// @NotNull(message = "用电类别不可为空")
private String electricityType;
}

View File

@@ -21,7 +21,7 @@ public class ExcessiveParam extends IssuesParam {
private String warnTarget;
@ApiModelProperty(name = "warnReason",value = "告警原因")
@NotNull(message = "告警原因不可为空")
// @NotNull(message = "告警原因不可为空")
private String warnReason;
@ApiModelProperty(name = "measurementPointId",value = "监测点ID")
@@ -33,6 +33,6 @@ public class ExcessiveParam extends IssuesParam {
private String measurementPointName;
@ApiModelProperty(name = "warnLastTime",value = "告警持续时间")
@NotNull(message = "告警持续时间不可为空")
// @NotNull(message = "告警持续时间不可为空")
private String warnLastTime;
}

View File

@@ -1,6 +1,7 @@
package com.njcn.process.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import java.io.Serializable;
@@ -16,7 +17,7 @@ import java.time.LocalDateTime;
*/
@Data
@TableName("r_stat_electric_quality_problem_flow")
public class RStatElectricQualityProblemFlow implements Serializable {
public class RStatElectricQualityProblemFlow extends BaseEntity implements Serializable {
private static final long serialVersionUID = -2613309615015237749L;
@@ -43,7 +44,7 @@ public class RStatElectricQualityProblemFlow implements Serializable {
/**
* 填报更新时间
*/
private LocalDateTime updateTime;
// private LocalDateTime updateTime;
/**
* 问题来源(在线监测告警、普测超标、用户投诉、设备异常)

View File

@@ -1,5 +1,6 @@
package com.njcn.process.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -26,15 +27,21 @@ public class ExcessiveDetailVO extends ProcessVO implements Serializable {
*/
private String substationName;
/**
* 母线ID
*/
private String busBarId;
//告警指标
private String harmonicType;
/**
* 所属母线
*/
private String busBarName;
//母线id
private String barId;
private String barName;
@ApiModelProperty(name = "objName",value = "监测点对象名称")
private String objName;
@ApiModelProperty(name = "loadType",value = "监测对象类型")
private String loadType;
@ApiModelProperty(name = "voltageLevel",value = "电压等级")
private String voltageLevel;
/**
* 监测点ID

View File

@@ -1,5 +1,6 @@
package com.njcn.process.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@@ -43,6 +44,7 @@ public class IssuesVO implements Serializable {
/**
* 问题发生记录时间
*/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDateTime dataDate;
/**

View File

@@ -13,6 +13,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.biz.commApi.CommLineClient;
import com.njcn.device.biz.pojo.dto.LineALLInfoDTO;
import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.process.enums.ProcessResponseEnum;
@@ -27,6 +29,7 @@ import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
import com.njcn.web.utils.RequestUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -72,6 +75,7 @@ public class IssuesServiceImpl implements IssuesService {
private final RStatElectricQualityProblemLogMapper rStatElectricQualityProblemLogMapper;
private final FileStorageUtil fileStorageUtil;
private final CommLineClient commLineClient;
/**
* 新增电能质量问题流程表信息
@@ -295,6 +299,14 @@ public class IssuesServiceImpl implements IssuesService {
RMpOnlineMonitorOverproofProblem excessiveOut = excessiveMapper.selectOne(excessiveQuery);
BeanUtil.copyProperties(excessiveOut, detail);
LineALLInfoDTO lineALLInfoDTO = commLineClient.getLineAllDetail(excessiveOut.getMeasurementPointId()).getData();
detail.setBarId(lineALLInfoDTO.getLineBusbarDTO().getBusBarId());
detail.setBarName(lineALLInfoDTO.getLineBusbarDTO().getBusBarName());
detail.setObjName(lineALLInfoDTO.getLineLineDTO().getObjName());
detail.setLoadType(lineALLInfoDTO.getLineLineDTO().getLoadType());
detail.setVoltageLevel(lineALLInfoDTO.getLineLineDTO().getVoltageLevel());
detail.setSubstationId(lineALLInfoDTO.getLineSubStationDTO().getSubStationId());
detail.setSubstationName(lineALLInfoDTO.getLineSubStationDTO().getSubStationName());
RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo);
BeanUtil.copyProperties(processFlowDetail(flowDetails), detail);
return detail;
@@ -442,6 +454,11 @@ public class IssuesServiceImpl implements IssuesService {
LambdaQueryWrapper<RStatElectricQualityProblemFlow> issuesQuery = new LambdaQueryWrapper<>();
issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo());
RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery);
String createBy = issuesOut.getCreateBy();
String userIndex = RequestUtil.getUserIndex();
if(!Objects.equals(createBy,userIndex)){
throw new BusinessException(ProcessResponseEnum.NO_PERMISSION);
}
if (DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())) {
LambdaQueryWrapper<RMpElectricQualityProblemFlowDetails> query = new LambdaQueryWrapper<>();
query.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo());
@@ -483,6 +500,11 @@ public class IssuesServiceImpl implements IssuesService {
LambdaQueryWrapper<RStatElectricQualityProblemFlow> query = new LambdaQueryWrapper<>();
query.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, powerQualityProblemNo);
RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(query);
String createBy = issuesOut.getCreateBy();
String userIndex = RequestUtil.getUserIndex();
if(!Objects.equals(createBy,userIndex)){
throw new BusinessException(ProcessResponseEnum.NO_PERMISSION);
}
if (DicDataEnum.INSIGHTS.getCode().equals(issuesOut.getReportProcess())
&& DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())) {
issuesOut.setReportProcess(DicDataEnum.ARCHIVED.getCode());
@@ -530,6 +552,11 @@ public class IssuesServiceImpl implements IssuesService {
LambdaQueryWrapper<RStatElectricQualityProblemFlow> query = new LambdaQueryWrapper<>();
query.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, powerQualityProblemNo);
RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(query);
String createBy = issuesOut.getCreateBy();
String userIndex = RequestUtil.getUserIndex();
if(!Objects.equals(createBy,userIndex)){
throw new BusinessException(ProcessResponseEnum.NO_PERMISSION);
}
if (DicDataEnum.ONLINE.getCode().equals(issuesOut.getProblemSources())) {
LambdaQueryWrapper<RMpOnlineMonitorOverproofProblem> issuesQuery = new LambdaQueryWrapper<>();
issuesQuery.eq(RMpOnlineMonitorOverproofProblem::getPowerQualityProblemNo, powerQualityProblemNo);