Merge remote-tracking branch 'origin/master'

This commit is contained in:
hzj
2024-09-26 14:34:10 +08:00
28 changed files with 153 additions and 406 deletions

View File

@@ -9,6 +9,9 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author wr
*/
@FeignClient(value = ServerInfo.ADVANCE_BOOT,path = "/waveAnalysis",
fallbackFactory = EventWaveAnalysisFeignClientFallbackFactory.class,
contextId = "waveAnalysis" )
@@ -16,9 +19,9 @@ public interface EventWaveAnalysisFeignClient {
/**
* @Description: 波形高级分析
* @param eventIndex
* @return: com.njcn.common.pojo.response.HttpResult<com.njcn.advance.pojo.dto.waveAnalysis.EntityAdvancedData>
* 波形高级分析
* @param eventIndex 事件索引
* @return com.njcn.common.pojo.response.HttpResult<com.njcn.advance.pojo.dto.waveAnalysis.EntityAdvancedData>
* @Author: wr
* @Date: 2023/11/1 14:23
*/

View File

@@ -11,6 +11,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @author wr
*/
@Slf4j
@Component
public class EventWaveAnalysisFeignClientFallbackFactory implements FallbackFactory<EventWaveAnalysisFeignClient> {
@@ -24,7 +27,6 @@ public class EventWaveAnalysisFeignClientFallbackFactory implements FallbackFact
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new EventWaveAnalysisFeignClient() {
@Override
public HttpResult<EntityAdvancedData> analysis(String eventIndex) {
log.error("{}异常,降级处理,异常为:{}", "波形高级分析", throwable.toString());

View File

@@ -4,8 +4,6 @@ import lombok.Getter;
/**
* @Description: 承载能力评估相关枚举
* @Param:
* @return:
* @Author: clam
* @Date: 2024/1/31
*/

View File

@@ -4,7 +4,6 @@ package com.njcn.advance.enums;
* @Author: Sunwei 【sunW2016@163.com】
* @Description: 高级分析返回结果
* @Date: Create in 9:02 2018/3/6
* @Modified By:
*/
public enum EnumEvt {
EVT_NUM("evt_num", "高级算法返回事件个数"), EVT_BUF("evt_buf", "高级算法返回数据"), QVVR_TYPE("qvvr_type", "暂降类型"), POW_A("POW_a",

View File

@@ -16,7 +16,7 @@ import java.io.Serializable;
* @date 2023年07月21日 10:20
*/
@Data
public class ResponsibilityCalculateParam implements Serializable {
public class ResponsibilityCalculateParam implements Serializable {
@ApiModelProperty("开始时间")
@@ -40,11 +40,11 @@ public class ResponsibilityCalculateParam implements Serializable {
@Min(0)
@Max(1)
@ApiModelProperty("0-电流 1-电压")
private int type;
private int type;
@Min(2)
@Max(50)
@ApiModelProperty("谐波次数")
private Integer time;
private Integer time;
}

View File

@@ -1,7 +1,6 @@
package com.njcn.advance.utils;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.CharsetUtil;
import com.njcn.oss.utils.FileStorageUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -33,8 +32,7 @@ public class WaveUtils {
public String getFile(String filePath){
String temJson = null;
try(InputStream inputStream = fileStorageUtil.getFileStream(filePath)){
temJson = IoUtil.read(inputStream, CharsetUtil.UTF_8);
temJson = IoUtil.readUtf8(inputStream);
} catch (IOException e) {
e.printStackTrace();
}

View File

@@ -109,9 +109,6 @@ public class CarryCapacityController extends BaseController {
@ApiOperation("导出数据集模板")
@GetMapping(value = "getExcelTemplate")
public HttpResult<String> getExcelTemplate(HttpServletResponse response) throws IOException {
String sheetName = "数据集模版";
List<CarryCapcityDataEexcel> excels = new ArrayList<>();
CarryCapcityDataEexcel exportHeadersExcel = new CarryCapcityDataEexcel();
@@ -120,10 +117,6 @@ public class CarryCapacityController extends BaseController {
.sheet(sheetName)
.doWrite(excels);
EasyExcelUtil.writeWithSheetsWeb(response, "数据集模版.xlsx");
return null;
}
@@ -132,7 +125,6 @@ public class CarryCapacityController extends BaseController {
@ApiOperation("上传数据集")
public HttpResult<Boolean> uploadExcel(@Validated ExcelDataParam excelDataParam) throws Exception {
String methodDescribe = getMethodDescribe("uploadExcel");
boolean flag = carryCapcityService.uploadExcel(excelDataParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
}

View File

@@ -28,6 +28,9 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author hongawen
*/
@Slf4j
@Validated
@RestController

View File

@@ -81,7 +81,7 @@ public class EventWaveAnalysisServiceImpl implements EventWaveAnalysisService {
TimeInterval timeInterval = new TimeInterval();
//调用方法获取暂降事件详情
RmpEventDetailPO rmpEventDetailPO = rmpEventAdvanceMapper.selectById(eventIndex);
EntityAdvancedData entityAdvancedData = null;
EntityAdvancedData entityAdvancedData ;
//获取PT变比
LineDetailDataVO lineDetailDataVO = lineFeignClient.getLineDetailData(rmpEventDetailPO.getLineId()).getData();

View File

@@ -29,7 +29,9 @@ public class TodoVOConvert {
return bpmTaskVOS.stream().map(temp -> {
TodoVO todoVO = new TodoVO();
todoVO.setId(temp.getId());
todoVO.setTaskName(temp.getName());
String processDefinitionId = temp.getProcessInstance().getProcessDefinitionId();
String key = processDefinitionId.substring(0, processDefinitionId.indexOf(":"));
todoVO.setTaskName(SupervisionKeyEnum.getBusinessNameByKey(key));
todoVO.setTaskContent(temp.getInstanceSign());
todoVO.setTaskCreateTime(temp.getCreateTime());
// 1. 待办流程
@@ -53,7 +55,7 @@ public class TodoVOConvert {
return rejectProcessInstanceList.stream().map(temp -> {
TodoVO todoVO = new TodoVO();
todoVO.setId(temp.getBusinessKey());
todoVO.setTaskName(temp.getName());
todoVO.setTaskContent(temp.getInstanceSign());
todoVO.setTaskCreateTime(temp.getEndTime());
// 1. 待办流程
@@ -62,6 +64,7 @@ public class TodoVOConvert {
String processDefinitionId = temp.getProcessDefinitionId();
String key = processDefinitionId.substring(0, processDefinitionId.indexOf(":"));
todoVO.setRoutePath(SupervisionKeyEnum.getRoutePathByKey(key));
todoVO.setTaskName(SupervisionKeyEnum.getBusinessNameByKey(key));
todoVO.setStartUser(RequestUtil.getUserNickname());
todoVO.setProcessInstanceId(temp.getId());
todoVO.setHistoryInstanceId(temp.getHistoryInstanceId());

View File

@@ -15,7 +15,8 @@ public interface PatternRegex {
/**
* 密码需要包含特殊字符字母数字长度为8-16
*/
String PASSWORD_REGEX = "^(?=.*[a-zA-Z])(?=.*\\d)(?=.*[\\=\\[\\]\\{\\}\\.\\,\\\\\\@\\#\\_\\!\\$\\%\\^\\&\\*\\(\\)\\?\\<\\>\\/\\|\\~,\\-\\+]).{8,16}$";
String PASSWORD_REGEX = "^(?=.*[a-zA-Z])(?=.*\\d)(?=.*[\\=\\[\\]\\{\\}\\.\\,\\\\@\\#\\_\\!\\$\\%\\^\\&\\*\\(\\)\\?\\<\\>\\/\\|\\~,\\-\\+]).{8,16}$";
/**
* APP密码长度为8-16

View File

@@ -17,6 +17,7 @@ public class PulicTimeParam {
@ApiModelProperty("监测点id")
private String id;
@ApiModelProperty("开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String searchBeginTime;

View File

@@ -13,6 +13,7 @@ import javax.validation.constraints.Pattern;
*/
@Data
public class PulicTimeStatisParam extends PulicTimeParam {
@ApiModelProperty("比较开始时间")
@Pattern(regexp = PatternRegex.TIME_FORMAT, message = "时间格式错误")
private String periodBeginTime;

View File

@@ -776,7 +776,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
public List<PqsCommunicate> getCommunicate(String devId, String startTime, String endTime) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(PqsCommunicate.class);
influxQueryWrapper.between(InfluxDbSqlConstant.TIME,DateUtil.beginOfDay(DateUtil.parse(startTime)).toString(),DateUtil.beginOfDay(DateUtil.parse(endTime)).toString())
influxQueryWrapper.between(InfluxDbSqlConstant.TIME,DateUtil.beginOfDay(DateUtil.parse(startTime)).toString(),DateUtil.endOfDay(DateUtil.parse(endTime)).toString())
.eq(PqsCommunicate::getDevId,devId);
return pqsCommunicateMapper.selectByQueryWrapper(influxQueryWrapper);
}

View File

@@ -16,8 +16,8 @@ public class SteadyInfoData implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("稳态指标合格率")
private List<Float> steadyInfoList;
private List<Double> steadyInfoList;
@ApiModelProperty("稳态指标合格率(同比/环比)")
private List<Float> steadyInfoData;
private List<Double> steadyInfoData;
}

View File

@@ -106,7 +106,7 @@ public class EvaluationLevelVo {
@ApiModelProperty("谐波电流")
private Double iHarm = 3.14159;
@ApiModelProperty("闪变合格率")
@ApiModelProperty("间谐波")
private Double inuHarm = 3.14159;
@ApiModelProperty("负序电流")

View File

@@ -38,10 +38,10 @@ public class SteadyDataController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getSteadyData")
@ApiOperation("稳态指标合格率")
@ApiImplicitParam(name = "pulicTimeStatisParam", value = "稳态指标合格率参数", required = true)
public HttpResult<SteadyInfoData> getSteadyData(@RequestBody @Validated PulicTimeStatisParam pulicTimeStatisParam) {
@ApiImplicitParam(name = "param", value = "稳态指标合格率参数", required = true)
public HttpResult<SteadyInfoData> getSteadyData(@RequestBody @Validated PulicTimeStatisParam param) {
String methodDescribe = getMethodDescribe("getSteadyData");
SteadyInfoData list = steadyDataService.getSteadyData(pulicTimeStatisParam);
SteadyInfoData list = steadyDataService.getSteadyData(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -381,7 +381,6 @@
sum(inuharm_15_overtime) inuharm15Overtime,
sum(inuharm_16_overtime) inuharm16Overtime,
sum(i_neg_overtime) iNegOvertime
from
r_stat_limit_rate_d
where

View File

@@ -6,8 +6,16 @@ import com.njcn.harmonic.pojo.vo.SteadyInfoData;
/**
* @author denghuajun
* @date 2022/3/4
* 稳态指标合格率
*
*/
public interface SteadyDataService {
SteadyInfoData getSteadyData(PulicTimeStatisParam pulicTimeStatisParam);
/**
* 稳态指标合格率查询
* @param param
* @return: com.njcn.harmonic.pojo.vo.SteadyInfoData
* @Author: wr
* @Date: 2024/9/24 14:30
*/
SteadyInfoData getSteadyData(PulicTimeStatisParam param);
}

View File

@@ -153,6 +153,12 @@ public class GridServiceImpl implements IGridService {
List<String> ll = lineDetailMap.get(item.getArea()).stream().map(LineDetail::getId).collect(Collectors.toList());
AssessDetailVo comAssess = getAssessData(item.getId(), item.getName(), ll, list1, list2, list3);
result.add(comAssess);
}else{
AssessVo assessVo = new AssessVo();
assessVo.setName(item.getName());
List<String> ll = lineDetailList.stream().map(LineDetail::getId).collect(Collectors.toList());
AssessDetailVo comAssess = getAssessData(item.getId(), item.getName(), ll, list1, list2, list3);
result.add(comAssess);
}
});
}

View File

@@ -15,7 +15,7 @@ import com.njcn.harmonic.pojo.po.report.OverLimitInfo;
import com.njcn.harmonic.pojo.vo.ReportValue;
import com.njcn.harmonic.service.IRStatDataVDService;
import com.njcn.harmonic.service.ReportService;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
@@ -23,8 +23,11 @@ import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author wr
*/
@Service
@AllArgsConstructor
@RequiredArgsConstructor
public class ReportServiceImpl implements ReportService {
private final ReportMapper reportMapper;

View File

@@ -1,22 +1,16 @@
package com.njcn.harmonic.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.njcn.device.pq.pojo.param.PulicTimeStatisParam;
import com.njcn.harmonic.mapper.RStatLimitRateDMapper;
import com.njcn.harmonic.pojo.vo.RStatLimitRateDVO;
import com.njcn.harmonic.pojo.vo.SteadyInfoData;
import com.njcn.harmonic.pojo.vo.hebeinorth.EvaluationLevelVo;
import com.njcn.harmonic.service.SteadyDataService;
import com.njcn.web.pojo.vo.SteadyDataVO;
import lombok.AllArgsConstructor;
import com.njcn.harmonic.service.hebeinorth.IGridService;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -25,338 +19,45 @@ import java.util.List;
*
*/
@Service
@AllArgsConstructor
@RequiredArgsConstructor
public class SteadyDataServiceImpl implements SteadyDataService {
private final RStatLimitRateDMapper rateDMapper;
private final IGridService gridService;
@Override
public SteadyInfoData getSteadyData(PulicTimeStatisParam pulicTimeStatisParam) {
SteadyInfoData steadyInfoDatas = new SteadyInfoData();
List<Float> steadyInfoList = new ArrayList<>();
List<Float> steadyInfoData = new ArrayList<>();
steadyInfoList = getCondition(pulicTimeStatisParam.getId(), pulicTimeStatisParam.getSearchBeginTime(), pulicTimeStatisParam.getSearchEndTime());
if (StringUtils.isNotBlank(pulicTimeStatisParam.getPeriodBeginTime()) && StringUtils.isNotBlank(pulicTimeStatisParam.getPeriodEndTime())) {
steadyInfoData = getCondition(pulicTimeStatisParam.getId(), pulicTimeStatisParam.getPeriodBeginTime(), pulicTimeStatisParam.getPeriodEndTime());
public SteadyInfoData getSteadyData(PulicTimeStatisParam param) {
SteadyInfoData steadyInfoData = new SteadyInfoData();
List<Double> steadyInfoList = getCondition(param.getId(), param.getSearchBeginTime(), param.getSearchEndTime());
List<Double> steadyInfoDataRatioList = new ArrayList<>();
if (StringUtils.isNotBlank(param.getPeriodBeginTime()) && StringUtils.isNotBlank(param.getPeriodEndTime())) {
steadyInfoDataRatioList = getCondition(param.getId(), param.getPeriodBeginTime(), param.getPeriodEndTime());
}
steadyInfoDatas.setSteadyInfoList(steadyInfoList);
steadyInfoDatas.setSteadyInfoData(steadyInfoData);
return steadyInfoDatas;
steadyInfoData.setSteadyInfoList(steadyInfoList);
steadyInfoData.setSteadyInfoData(steadyInfoDataRatioList);
return steadyInfoData;
}
private List<Float> getCondition(String lineList, String startTime, String endTime) {
SteadyDataVO steadyDataVO = new SteadyDataVO();
SteadyDataVO steadyData = new SteadyDataVO();
if (!lineList.isEmpty() || StringUtils.isNotBlank(lineList)) {
List<RStatLimitRateDVO> list = rateDMapper.getSumPassRate(Arrays.asList(lineList),
DateUtil.beginOfDay(DateUtil.parse(startTime)).toString(),
DateUtil.beginOfDay(DateUtil.parse(endTime)).toString());
if (CollUtil.isNotEmpty(list)) {
if (ObjectUtil.isNull(list.get(0))) {
steadyDataVO.setVoltageDeviation(3.14159f);
steadyDataVO.setUBalance(3.14159f);
steadyDataVO.setFlicker(3.14159f);
steadyDataVO.setOddVoltage(3.14159f);
steadyDataVO.setEvenVoltage(3.14159f);
steadyDataVO.setOddElectric(3.14159f);
steadyDataVO.setEvenElectric(3.14159f);
steadyDataVO.setFrequency(3.14159f);
steadyDataVO.setUAberrance(3.14159f);
steadyDataVO.setHarmVoltage(3.14159f);
steadyDataVO.setHarmElec(3.14159f);
//负序电流
steadyDataVO.setINeg(3.14159f);
//间谐波
steadyDataVO.setInUharm(3.14159f);
steadyData = mergeSteady(steadyData, steadyDataVO);
SteadyDataVO steadyDataList = getSteadyAcc(steadyData);
return getSteadyData(steadyDataList);
} else {
steadyDataVO.setAllTime(Float.parseFloat(list.get(0).getAlltime().toString()));
steadyDataVO.setFrequency(Float.parseFloat(list.get(0).getFrequency().toString()));
steadyDataVO.setUBalance(Float.parseFloat(list.get(0).getUBalance().toString()));
steadyDataVO.setINeg(Float.parseFloat(list.get(0).getINeg().toString()));
steadyDataVO.setHarmElec(Float.parseFloat(list.get(0).getHarmElec().toString()));
steadyDataVO.setHarmVoltage(Float.parseFloat(list.get(0).getHarmVoltage().toString()));
steadyDataVO.setFlicker(Float.parseFloat(list.get(0).getFlicker().toString()));
steadyDataVO.setAllFlicker(Float.parseFloat(list.get(0).getAllFlicker().toString()));
steadyDataVO.setVoltageDeviation(Float.parseFloat(list.get(0).getVoltageDeviation().toString()));
steadyDataVO.setInUharm(Float.parseFloat(list.get(0).getInUharm().toString()));
}
} else {
//有监测点,但是无数据的处理
steadyDataVO.setVoltageDeviation(3.14159f);
steadyDataVO.setUBalance(3.14159f);
steadyDataVO.setFlicker(3.14159f);
steadyDataVO.setOddVoltage(3.14159f);
steadyDataVO.setEvenVoltage(3.14159f);
steadyDataVO.setOddElectric(3.14159f);
steadyDataVO.setEvenElectric(3.14159f);
steadyDataVO.setFrequency(3.14159f);
steadyDataVO.setUAberrance(3.14159f);
steadyDataVO.setHarmVoltage(3.14159f);
steadyDataVO.setHarmElec(3.14159f);
//负序电流
steadyDataVO.setINeg(3.14159f);
//间谐波
steadyDataVO.setInUharm(3.14159f);
steadyData = mergeSteady(steadyData, steadyDataVO);
SteadyDataVO steadyDataList = getSteadyAcc(steadyData);
return getSteadyData(steadyDataList);
}
} else {
//steadyData = mergeSteady(steadyData, steadyDataVO);
//无监测点前台统一替换为“/”
// SteadyDataVO steadyDataList = getSteadyAcc(steadyData);
return getSteadyData(steadyData);
}
steadyData = mergeSteady(steadyData, steadyDataVO);
SteadyDataVO steadyDataList = getSteadyAcc(steadyData);
return getSteadyData(steadyDataList);
}
/**
* 合并数据
*
* @param steadyData 原始稳态实体
*/
private SteadyDataVO mergeSteady(SteadyDataVO steadyData, SteadyDataVO tempT) {
if (tempT == null) {
return steadyData;
} else {
if (steadyData.getAllTime() == 0) {
steadyData.setAllTime(tempT.getAllTime());
} else {
steadyData.setAllTime(steadyData.getAllTime() + tempT.getAllTime());
}
if (steadyData.getFrequency() == 3.1415f) {
steadyData.setFrequency(tempT.getFrequency());
} else {
steadyData.setFrequency(steadyData.getFrequency() + tempT.getFrequency());
}
if (steadyData.getUBalance() == 3.1415f) {
steadyData.setUBalance(tempT.getUBalance());
} else {
steadyData.setUBalance(steadyData.getUBalance() + tempT.getUBalance());
}
if (steadyData.getVoltageDeviation() == 3.1415f) {
steadyData.setVoltageDeviation(tempT.getVoltageDeviation());
} else {
steadyData.setVoltageDeviation(steadyData.getVoltageDeviation() + tempT.getVoltageDeviation());
}
if (steadyData.getAllFlicker() == 3.1415f) {
steadyData.setAllFlicker(tempT.getAllFlicker());
} else {
steadyData.setAllFlicker(steadyData.getAllFlicker() + tempT.getAllFlicker());
}
if (steadyData.getFlicker() == 3.1415f) {
steadyData.setFlicker(tempT.getFlicker());
} else {
steadyData.setFlicker(steadyData.getFlicker() + tempT.getFlicker());
}
if (steadyData.getINeg() == 3.1415f) {
steadyData.setINeg(tempT.getINeg());
} else {
steadyData.setINeg(steadyData.getINeg() + tempT.getINeg());
}
if (steadyData.getInUharm() == 3.1415f) {
steadyData.setInUharm(tempT.getInUharm());
} else {
steadyData.setInUharm(steadyData.getInUharm() + tempT.getInUharm());
}
if (steadyData.getHarmVoltage() == 3.1415f) {
steadyData.setHarmVoltage(tempT.getHarmVoltage());
} else {
steadyData.setHarmVoltage(steadyData.getHarmVoltage() + tempT.getHarmVoltage());
}
if (steadyData.getHarmElec() == 3.1415f) {
steadyData.setHarmElec(tempT.getHarmElec());
} else {
steadyData.setHarmElec(steadyData.getHarmElec() + tempT.getHarmElec());
}
}
return steadyData;
}
/**
* 根据查询出来的数据,计算出每个指标的合格率
*
* @param steadyData 稳态指标数据实体
*/
private SteadyDataVO getSteadyAcc(SteadyDataVO steadyData) {
if (steadyData.getAllTime() == 0 || steadyData.getAllTime() < 0) {
steadyData.setVoltageDeviation(3.14159f);
steadyData.setUBalance(3.14159f);
steadyData.setFlicker(3.14159f);
steadyData.setOddVoltage(3.14159f);
steadyData.setEvenVoltage(3.14159f);
steadyData.setOddElectric(3.14159f);
steadyData.setEvenElectric(3.14159f);
steadyData.setFrequency(3.14159f);
steadyData.setUAberrance(3.14159f);
steadyData.setHarmVoltage(3.14159f);
steadyData.setHarmElec(3.14159f);
private List<Double> getCondition(String lineList, String startTime, String endTime) {
List<Double> floatList = new ArrayList<>();
EvaluationLevelVo.QualifiedDetail lineQualifiedDetail = gridService.getLineQualifiedDetail(lineList, startTime, endTime);
if(ObjectUtil.isNotNull(lineQualifiedDetail)){
//频率偏差
floatList.add(lineQualifiedDetail.getFreqDev());
//闪变
floatList.add(lineQualifiedDetail.getPlt());
//三项电压不平衡
floatList.add(lineQualifiedDetail.getUbalance());
//谐波电压
floatList.add(lineQualifiedDetail.getUHarm());
//谐波电流
floatList.add(lineQualifiedDetail.getIHarm());
//电压偏差
floatList.add(lineQualifiedDetail.getVDev());
//负序电流
steadyData.setINeg(3.14159f);
//间谐波
steadyData.setInUharm(3.14159f);
return steadyData;
} else {
float allTime = steadyData.getAllTime();
//冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 start
steadyData.setHarmVoltage(getAcceptlityByData(allTime, steadyData.getHarmVoltage()));
steadyData.setHarmElec(getAcceptlityByData(allTime, steadyData.getHarmElec()));
steadyData.setINeg(getAcceptlityByData(allTime, steadyData.getINeg()));
steadyData.setInUharm(getAcceptlityByData(allTime, steadyData.getInUharm()));
//冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 end
steadyData.setVoltageDeviation(getAcceptlityByData(allTime, steadyData.getVoltageDeviation()));
steadyData.setUBalance(getAcceptlityByData(allTime, steadyData.getUBalance()));
steadyData.setFlicker(getAcceptlityByData(steadyData.getAllFlicker(), steadyData.getFlicker()));
steadyData.setOddVoltage(getAcceptlityByData(allTime, steadyData.getOddVoltage()));
steadyData.setEvenVoltage(getAcceptlityByData(allTime, steadyData.getEvenVoltage()));
steadyData.setOddElectric(getAcceptlityByData(allTime, steadyData.getOddElectric()));
steadyData.setEvenElectric(getAcceptlityByData(allTime, steadyData.getEvenElectric()));
steadyData.setFrequency(getAcceptlityByData(allTime, steadyData.getFrequency()));
steadyData.setUAberrance(getAcceptlityByData(allTime, steadyData.getUAberrance()));
floatList.add(lineQualifiedDetail.getINeg());
//间谐波含有率
floatList.add(lineQualifiedDetail.getInuHarm());
}
return steadyData;
}
//计算合格率结果
private float getAcceptlityByData(float allTime, float data) {
float accpet = allTime - data;
if (accpet < 0) {
accpet = 0;
}
if (allTime == 0) {
return 100.0f;
}
float num = accpet / allTime;
// 格式化小数
DecimalFormat df = new DecimalFormat("0.00");
return Float.valueOf(df.format(num * 100));
}
private List<Float> getSteadyData(SteadyDataVO steadyDataVO) {
List<Float> floatList = new ArrayList<>();
Float frequency = steadyDataVO.getFrequency();
if (frequency > 100) {
floatList.add(100f);
} else if (frequency == 3.1415f) {
floatList.add(3.1415f);
} else if (frequency == 3.14159f) {
floatList.add(3.14159f);
} else {
floatList.add(BigDecimal.valueOf(frequency).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue());
}
Float flicker = steadyDataVO.getFlicker();
if (flicker > 100) {
floatList.add(100f);
} else if (frequency == 3.1415f) {
floatList.add(3.1415f);
} else if (frequency == 3.14159f) {
floatList.add(3.14159f);
} else {
floatList.add(BigDecimal.valueOf(flicker).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue());
}
Float uBalance = steadyDataVO.getUBalance();
if (uBalance > 100) {
floatList.add(100f);
} else if (uBalance == 3.1415f) {
floatList.add(3.1415f);
} else if (uBalance == 3.14159f) {
floatList.add(3.14159f);
} else {
floatList.add(BigDecimal.valueOf(uBalance).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue());
}
Float uAberrance = steadyDataVO.getUAberrance();
Float oddVoltage = steadyDataVO.getOddVoltage();
Float evenVoltage = steadyDataVO.getEvenVoltage();
if (getHarmVoltageValue(uAberrance, oddVoltage, evenVoltage) > 100) {
floatList.add(100f);
} else if (frequency == 3.1415f) {
floatList.add(3.1415f);
} else if (frequency == 3.14159f) {
floatList.add(3.14159f);
} else {
floatList.add(getHarmVoltageValue(uAberrance, oddVoltage, evenVoltage));
}
Float voltageDeviation = steadyDataVO.getVoltageDeviation();
if (voltageDeviation > 100) {
floatList.add(100f);
} else if (frequency == 3.1415f) {
floatList.add(3.1415f);
} else if (frequency == 3.14159f) {
floatList.add(3.14159f);
} else {
floatList.add(BigDecimal.valueOf(voltageDeviation).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue());
}
Float oddElectric = steadyDataVO.getOddElectric();
Float evenElectric = steadyDataVO.getEvenElectric();
if (getHarmElecValue(oddElectric, evenElectric) > 100) {
floatList.add(100f);
} else if (frequency == 3.1415f) {
floatList.add(3.1415f);
} else if (frequency == 3.14159f) {
floatList.add(3.14159f);
} else {
floatList.add(getHarmElecValue(oddElectric, evenElectric));
}
Float iNeg = steadyDataVO.getINeg();
if (iNeg > 100) {
floatList.add(100f);
} else if (frequency == 3.1415f) {
floatList.add(3.1415f);
} else if (frequency == 3.14159f) {
floatList.add(3.14159f);
} else {
floatList.add(BigDecimal.valueOf(iNeg).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue());
}
Float inUharm = steadyDataVO.getInUharm();
if (inUharm > 100) {
floatList.add(100f);
} else if (frequency == 3.1415f) {
floatList.add(3.1415f);
} else if (frequency == 3.14159f) {
floatList.add(3.14159f);
} else {
floatList.add(BigDecimal.valueOf(inUharm).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue());
}
return floatList;
}
private Float getHarmVoltageValue(Float uAberrance, Float evenVoltage, Float oddVoltage) {
float value = uAberrance + oddVoltage + evenVoltage;
value = value / 3;
return BigDecimal.valueOf(value).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
}
private Float getHarmElecValue(Float oddElectric, Float evenElectric) {
float value = oddElectric + evenElectric;
value = value / 2;
return BigDecimal.valueOf(value).setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
}
}

View File

@@ -5,30 +5,34 @@ import lombok.Getter;
import java.util.ArrayList;
import java.util.List;
/**
* @author hongawen
*/
@Getter
public enum SupervisionKeyEnum {
// 干扰源接入
BUILD_USER_INFO("build_user_info", "user", "干扰源建档流程", "UserReportPOServiceImpl","supervision/interferencemanagement"),
USER_REPORT_RENEWAL("user_report_update", "user", "干扰源常态化信息编辑流程", "UserReportRenewalServiceImpl","supervision/interferencemanagement"),
USER_GO_NET("user_go_net", "user", "入网设计方案流程", "UserReportNormalServiceImpl","supervision/interferencemanagement"),
USER_TREAT_CHECK("user_treat_check", "user", "治理工程流程", "UserReportNormalServiceImpl","supervision/interferencemanagement"),
BUILD_USER_INFO("build_user_info", "user", "干扰源建档", "UserReportPOServiceImpl","supervision/interferencemanagement"),
USER_REPORT_RENEWAL("user_report_update", "user", "干扰源常态化信息编辑", "UserReportRenewalServiceImpl","supervision/interferencemanagement"),
USER_GO_NET("user_go_net", "user", "入网设计方案", "UserReportNormalServiceImpl","supervision/interferencemanagement"),
USER_TREAT_CHECK("user_treat_check", "user", "治理工程验收", "UserReportNormalServiceImpl","supervision/interferencemanagement"),
// 终端检测
DEVICE_INFO_ADD("device_info_add", "device", "电能质量监测装置设备管理流程", "SupervisionDevMainReportPOServiceImpl","terminalNetwotk"),
LINE_INFO_ADD("line_info_add", "device", "电能质量监测点管理流程", "SupervisionTempLineReportServiceImpl","terminalNetwotk"),
TEMP_LINE_DEBUG("temp_line_debug", "device", "监测点联调流程", "SupervisionTempLineDebugPOServiceImpl","terminalNetwotk"),
DEVICE_INFO_ADD("device_info_add", "device", "电能质量监测装置管理", "SupervisionDevMainReportPOServiceImpl","terminalNetwotk"),
LINE_INFO_ADD("line_info_add", "device", "电能质量监测点管理", "SupervisionTempLineReportServiceImpl","terminalNetwotk"),
TEMP_LINE_DEBUG("temp_line_debug", "device", "监测点联调", "SupervisionTempLineDebugPOServiceImpl","terminalNetwotk"),
TIMING_CHECK_DEVICE("timing_check_device", "device", "终端周期检测", "CheckDeviceServiceImpl","terminalNetwotk"),
// 试运行评估
LINE_RUN_TEST("line_run_test", "device", "监测点试运行评估流程", "SupervisionTempLineRunTestServiceImpl","testRun"),
LINE_RUN_TEST("line_run_test", "device", "监测点试运行评估", "SupervisionTempLineRunTestServiceImpl","testRun"),
// 台账管理 干扰源用户台账
BUILD_USER_INFO_ARCHIVIST("build_user_info_archivist","user","干扰源用户台账归档流程","UserReportPOServiceImpl","Supervision/Terminaldetection"),
BUILD_USER_INFO_ARCHIVIST("build_user_info_archivist","user","干扰源用户台账归档","UserReportPOServiceImpl","Supervision/Terminaldetection"),
// 技术监督计划
SUP_PLAN_ADD("sup_plan_add", "plan", "技术监督计划流程(计划和测试)", "SupervisionPlanPOServiceImpl","supervision/harmonicmanagement"),
SURVEY_PLAN("survey_plan", "survey", "监督计划流程", "SurveyPlanServiceImpl","supervision/harmonicmanagement"),
SURVEY_TEST("survey_test", "survey", "监督测试流程", "SurveyTestServiceImpl","supervision/harmonicmanagement"),
SURVEY_PLAN("survey_plan", "survey", "技术监督计划", "SurveyPlanServiceImpl","supervision/harmonicmanagement"),
SURVEY_TEST("survey_test", "survey", "技术监督测试", "SurveyTestServiceImpl","supervision/harmonicmanagement"),
// 预告警单
WARN_LEAFLET("warn_leaflet", "leaflet", "预告警单流程", "WarningLeafletServiceImpl","supervision/supervision/manage"),
WARN_LEAFLET("warn_leaflet", "leaflet", "/告警单", "WarningLeafletServiceImpl","supervision/supervision/manage"),
// 终端状态管理
QUIT_RUNNING_DEVICE("quit_running_device", "device", "终端状态变更流程", "QuitRunningDeviceServiceImpl","supervision/retire"),
QUIT_RUNNING_DEVICE("quit_running_device", "device", "终端/监测点状态变更", "QuitRunningDeviceServiceImpl","supervision/retire"),
// 弃用
USER_REPORT_DELETE("user_report_delete", "user", "干扰源常态化信息删除流程", "UserReportDeleteServiceImpl","");
@@ -74,6 +78,18 @@ public enum SupervisionKeyEnum {
return null;
}
/**
* 根据流程key获取类的全路径用于获取业务名称
*/
public static String getBusinessNameByKey(String key) {
for (SupervisionKeyEnum supervisionKeyEnum : SupervisionKeyEnum.values()) {
if (supervisionKeyEnum.key.equalsIgnoreCase(key)) {
return supervisionKeyEnum.getDescribe();
}
}
return null;
}
/**
* 根据流程key获取页面路由路径
*/

View File

@@ -272,7 +272,7 @@ public class SurveyPlanServiceImpl extends ServiceImpl<SurveyPlanMapper, SurveyP
name = data.getName();
}
String sign = name.concat("->")
.concat(surveyPlanVO.getPlanName());
.concat(surveyPlanVO.getSupvObjectName());
bpmInstanceInfo.setInstanceSign(sign);
return bpmInstanceInfo;
}
@@ -312,11 +312,13 @@ public class SurveyPlanServiceImpl extends ServiceImpl<SurveyPlanMapper, SurveyP
String[] subIds = substation.split(StrPool.COMMA);
for (String subId : subIds) {
PollutionSubstationDTO data = lineFeignClient.getSubstationInfo(subId).getData();
SurveySubstation surveySubstation = new SurveySubstation();
surveySubstation.setDataSource(0);
surveySubstation.setSubstationName(data.getName());
surveySubstation.setVoltageLevel(data.getVoltageLevel());
surveySubstationList.add(surveySubstation);
if(ObjectUtil.isNotNull(data)){
SurveySubstation surveySubstation = new SurveySubstation();
surveySubstation.setDataSource(0);
surveySubstation.setSubstationName(data.getName());
surveySubstation.setVoltageLevel(data.getVoltageLevel());
surveySubstationList.add(surveySubstation);
}
}
}
} else {

View File

@@ -31,7 +31,6 @@ import com.njcn.supervision.pojo.param.leaflet.WarningAddParam;
import com.njcn.supervision.pojo.param.survey.SurveyTestParam;
import com.njcn.supervision.pojo.po.survey.SurveyPlan;
import com.njcn.supervision.pojo.po.survey.SurveyTest;
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
import com.njcn.supervision.pojo.vo.survey.SurveyTestVO;
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
import com.njcn.supervision.service.survey.ISurveyPlanService;
@@ -100,6 +99,11 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
x.isNull("supervision_survey_test.complete_time")
.le("supervision_survey_plan.plan_start_time", surveyTestQueryParam.getSearchBeginTime())
)
.or(x->
x.between("supervision_survey_test.complete_time",
DateUtil.beginOfDay(DateUtil.parse(surveyTestQueryParam.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(surveyTestQueryParam.getSearchEndTime())))
)
);
//根据工程名称模糊搜索
@@ -313,16 +317,18 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
if(Objects.nonNull(data)){
name = data.getName();
}
String sign = name.concat("")
.concat(surveyTestVO.getDeptName())
.concat("负责")
.concat(surveyTestVO.getPlanName())
.concat(",由")
.concat(surveyTestVO.getCompleteBy())
.concat(",在")
.concat(LocalDateTimeUtil.format(surveyTestVO.getCompleteTime(),DatePattern.CHINESE_DATE_PATTERN))
.concat("完成计划测试。")
;
// String sign = name.concat("由")
// .concat(surveyTestVO.getDeptName())
// .concat("负责")
// .concat(surveyTestVO.getPlanName())
// .concat(",由")
// .concat(surveyTestVO.getCompleteBy())
// .concat(",在")
// .concat(LocalDateTimeUtil.format(surveyTestVO.getCompleteTime(),DatePattern.CHINESE_DATE_PATTERN))
// .concat("完成计划测试。")
// ;
String sign = name.concat("->")
.concat(surveyTestVO.getSupvObjectName());
bpmInstanceInfo.setInstanceSign(sign);
return bpmInstanceInfo;
}

View File

@@ -234,12 +234,14 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
//干扰源用户台账和敏感用户审核流程
if (userReportPO.getDataType() == 1) {
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.BUILD_USER_INFO_ARCHIVIST.getKey());
}else{
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.BUILD_USER_INFO.getKey());
String key = SupervisionKeyEnum.BUILD_USER_INFO.getKey();
if(ObjectUtil.isNotNull(userReportPO.getDataType())){
//干扰源用户台账和敏感用户审核流程
if (userReportPO.getDataType() == 1) {
key = SupervisionKeyEnum.BUILD_USER_INFO_ARCHIVIST.getKey();
}
}
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(key);
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportPO.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);

View File

@@ -2,6 +2,8 @@ package com.njcn.system.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
@@ -15,7 +17,7 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_area")
public class Area extends BaseEntity {
public class Area extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;

View File

@@ -5,6 +5,7 @@ import com.njcn.db.bo.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
/**
@@ -15,7 +16,7 @@ import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_config")
public class Config extends BaseEntity {
public class Config extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;