电能质量问题修改
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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","监督计划名称已存在")
|
||||
;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* 问题来源(在线监测告警、普测超标、用户投诉、设备异常)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user