代码调整

This commit is contained in:
2023-06-08 16:33:53 +08:00
parent ec6e27a4eb
commit 91df5cb181
20 changed files with 279 additions and 110 deletions

View File

@@ -213,11 +213,14 @@ public class COverlimitUtil {
private static float iHarmCalculate(int nHarm, Float voltageLevel,float protocolCapacity, float devCapacity,float calCap) {
double tag = calCap*getHarmTag(nHarm,voltageLevel);
Double limit = getHarmonicLimit(nHarm,tag,new BigDecimal(String.valueOf(devCapacity)).doubleValue(),new BigDecimal(String.valueOf(protocolCapacity)).doubleValue());
BigDecimal bigDecimal = new BigDecimal(limit).setScale(4,RoundingMode.HALF_UP);
BigDecimal bigDecimal = BigDecimal.valueOf(limit).setScale(4,RoundingMode.HALF_UP);
return bigDecimal.floatValue();
}
//电流谐波限值
/**
* 电流谐波限值
*/
private static Double getHarmTag(Integer iCount, Float voltageLevel) {
int x, y;
if (voltageLevel < DicDataEnum.KV6.getValue()) {

View File

@@ -7,7 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.device.pms.service.DeptLineService;
import com.njcn.device.pms.service.ledgerManger.DeptLineService;
import com.njcn.web.controller.BaseController;
import com.njcn.web.pojo.param.DeptLineParam;
import io.swagger.annotations.Api;

View File

@@ -20,17 +20,17 @@ import com.njcn.device.pms.service.majornetwork.IMonitorService;
import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.File;
import java.util.List;
import java.util.Objects;
@@ -283,6 +283,22 @@ public class PmsMonitorController extends BaseController {
}
/**
* oracle系统监测点转mysql主网监测点
* @author cdf
* @date 2023/6/8
*/
@PostMapping("/importOracleLedgerToMysql")
@ApiOperation("获取台账和终端信息(波形专用)")
@ApiImplicitParam(name = "param", value = "主网监测点实体", required = true)
public void importOracleLedgerToMysql(@ApiParam(value = "文件", required = true) @RequestPart("file") MultipartFile file, HttpServletResponse response) {
String methodDescribe = getMethodDescribe("importOracleLedgerToMysql");
monitorService.importOracleLedgerToMysql(file,response);
}
}

View File

@@ -1,4 +1,4 @@
package com.njcn.device.pms.service;
package com.njcn.device.pms.service.ledgerManger;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pq.pojo.po.DeptLine;

View File

@@ -1,6 +1,5 @@
package com.njcn.device.pms.service.ledgerManger.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.enums.common.ServerEnum;
@@ -15,7 +14,7 @@ import com.njcn.device.biz.utils.COverlimitUtil;
import com.njcn.device.pms.mapper.majornetwork.*;
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
import com.njcn.device.pms.pojo.po.*;
import com.njcn.device.pms.service.DeptLineService;
import com.njcn.device.pms.service.ledgerManger.DeptLineService;
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.system.api.DicDataFeignClient;

View File

@@ -1,10 +1,10 @@
package com.njcn.device.pms.service.impl;
package com.njcn.device.pms.service.ledgerManger.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.device.pms.mapper.DeptLineMapper;
import com.njcn.device.pq.pojo.po.DeptLine;
import com.njcn.device.pms.service.DeptLineService;
import com.njcn.device.pms.service.ledgerManger.DeptLineService;
import com.njcn.web.pojo.param.DeptLineParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -13,8 +13,10 @@ import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.pojo.vo.MonitorVO;
import com.njcn.device.pms.pojo.vo.PmsMonitorVO;
import com.njcn.device.biz.pojo.po.Overlimit;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -144,5 +146,12 @@ public interface IMonitorService extends IService<Monitor> {
List<DeptGetChildrenDTO> deptMonitor(DeptGetLineParam param);
/**
*
* @author cdf
* @date 2023/6/8
*/
void importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response);
}

View File

@@ -1,5 +1,8 @@
package com.njcn.device.pms.service.majornetwork.impl;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -10,6 +13,7 @@ import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.utils.COverlimit;
@@ -25,9 +29,12 @@ import com.njcn.device.pms.pojo.vo.MonitorVO;
import com.njcn.device.pms.pojo.vo.PmsMonitorVO;
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
import com.njcn.device.pms.service.majornetwork.IMonitorService;
import com.njcn.device.pq.pojo.bo.excel.NodeExcel;
import com.njcn.device.pq.pojo.bo.excel.OverLimitExcel;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.pq.pojo.po.Voltage;
import com.njcn.poi.util.PoiUtil;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.user.api.DeptFeignClient;
@@ -44,7 +51,9 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -369,6 +378,41 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
return deviceInfos;
}
@Override
public void importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response) {
/* ImportParams importParams = new ImportParams();
importParams.setHeadRows(1);
importParams.setTitleRows(1);
importParams.setNeedVerify(true);
try {
ExcelImportResult<OracleTerminalExcel> terminalExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), OracleTerminalExcel.class, importParams);
//如果存在非法数据,将不合格的数据导出
if (terminalExcelExcelImportResult.isVerifyFail()) {
PoiUtil.exportFileByWorkbook(terminalExcelExcelImportResult.getFailWorkbook(), "非法台账信息.xlsx", response);
} else {
//执行台账信息导入(不考虑,存在监测点却不存在限值信息)
}
} catch (Exception e) {
throw new BusinessException(DeviceResponseEnum.IMPORT_ORACLE_EXCEPTION);
}*/
}
/*private void dealData(List<OracleTerminalExcel> oracleTerminalExcelList){
List<DeptDTO> allDept = deptFeignClient.getDeptDescendantIndexes(deptFeignClient.getRootDept().getData().getId(),Stream.of(0,1,2).collect(Collectors.toList())).getData();
Map<String, DeptDTO> mapDept = allDept.stream().collect(Collectors.toMap(DeptDTO::getName,Function.identity()));
for(OracleTerminalExcel oracleTerminalExcel : oracleTerminalExcelList){
//单位
if(oracleTerminalExcel.get)
//电站
}
}*/
/**
* 获取主配网监测点id集合
* @param deptDTO

View File

@@ -152,9 +152,38 @@ public class LineParam {
@NotNull(message = "电压下偏差限值不能为空")
private Float uvoltageDev;
@ApiModelProperty(name = "powerSubstationName",value = "电网侧变电站")
private String powerSubstationName;
/**
* 修改标识
* 分类等级
*/
@ApiModelProperty(name = "calssificationGrade",value = "分类等级")
private String calssificationGrade;
@ApiModelProperty(name = "superiorsSubstation",value = "上级电站")
private String superiorsSubstation;
@ApiModelProperty(name = "hangLine",value = "挂接线路")
private String hangLine;
@ApiModelProperty(name = "owner",value = "监测点拥有者")
private String owner;
@ApiModelProperty(name = "ownerDuty",value = "拥有者职务")
private String ownerDuty;
@ApiModelProperty(name = "ownerTel",value = "拥有者联系方式")
private String ownerTel;
@ApiModelProperty(name = "wiringDiagram",value = "接线图")
private String wiringDiagram;
@ApiModelProperty(name = "updateFlag",value = "修改标识")
private Integer updateFlag;

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pq.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -124,4 +125,45 @@ public class LineDetail{
private String remark;
/**
* 电网侧变电站
*/
private String powerSubstationName;
/**
* 分类等级
*/
private String calssificationGrade;
/**
* 上级电站
*/
private String superiorsSubstation;
/**
* 挂接线路
*/
private String hangLine;
/**
* 监测点拥有者
*/
private String owner;
/**
* 拥有者职务
*/
private String ownerDuty;
/**
* 拥有者联系方式
*/
private String ownerTel;
/**
* 接线图
*/
private String wiringDiagram;
}

View File

@@ -81,4 +81,28 @@ public class LineDetailDataVO {
@ApiModelProperty(name = "timeInterval",value = "测量间隔1-10分钟")
private Integer timeInterval;
/**
* 监测点拥有者
*/
@ApiModelProperty(name = "owner",value = "监测点拥有者")
private String owner;
/**
* 拥有者职务
*/
@ApiModelProperty(name = "ownerDuty",value = "拥有者职务")
private String ownerDuty;
/**
* 拥有者联系方式
*/
@ApiModelProperty(name = "ownerTel",value = "拥有者联系方式")
private String ownerTel;
/**
* 接线图
*/
@ApiModelProperty(name = "wiringDiagram",value = "接线图")
private String wiringDiagram;
}

View File

@@ -502,6 +502,7 @@
detail.Short_Capacity,
detail.Standard_Capacity,
detail.Deal_Capacity,
detail.Business_Type,
detail.Calssification_Grade,
detail.Superiors_Substation,
detail.Hang_Line,

View File

@@ -142,6 +142,10 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
lineDetailDataVO.setShortCapacity(lineDetail.getShortCapacity());
lineDetailDataVO.setStandardCapacity(lineDetail.getStandardCapacity());
lineDetailDataVO.setTimeInterval (lineDetail.getTimeInterval ());
lineDetailDataVO.setOwner(lineDetail.getOwner());
lineDetailDataVO.setOwnerDuty(lineDetail.getOwnerDuty());
lineDetailDataVO.setOwnerTel(lineDetail.getOwnerTel());
lineDetailDataVO.setWiringDiagram(lineDetail.getWiringDiagram());
return lineDetailDataVO;
}

View File

@@ -1,6 +1,7 @@
package com.njcn.harmonic.controller.report;
import cn.hutool.core.date.TimeInterval;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
@@ -50,10 +51,10 @@ public class QualifiedReport extends BaseController {
@PostMapping("/pageTable")
@ApiOperation("合格率报告_列表")
@ApiImplicitParam(name = "qualifiedReportParam", value = "合格率报告参数", required = true)
public HttpResult<List<FpyReportDTO>> pageTable(@RequestBody @Validated QualifiedReportParam qualifiedReportParam) {
public HttpResult<Page<FpyReportDTO>> pageTable(@RequestBody @Validated QualifiedReportParam qualifiedReportParam) {
TimeInterval timeInterval = new TimeInterval();
String methodDescribe = getMethodDescribe("pageTable");
List<FpyReportDTO> result = qualifiedReportService.pageTable(qualifiedReportParam);
Page<FpyReportDTO> result = qualifiedReportService.pageTable(qualifiedReportParam);
log.info("合格率报告执行时长:"+timeInterval.interval());
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);

View File

@@ -20,7 +20,7 @@ public interface QualifiedReportMapper {
* @author cdf
* @date 2023/6/8
*/
List<Map<String,Object>> getLimitRateData(@Param("page") Page<List<Map<String,Object>>> page, @Param("lineIds")List<String> lineIds, @Param("startTime")LocalDateTime startTime, @Param("endTime")LocalDateTime endTime);
Page<Map<String,Object>> getLimitRateData(@Param("page") Page<List<Map<String,Object>>> page, @Param("lineIds")List<String> lineIds, @Param("startTime")LocalDateTime startTime, @Param("endTime")LocalDateTime endTime);
/**
*

View File

@@ -1,5 +1,6 @@
package com.njcn.harmonic.service.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.harmonic.pojo.dto.FpyReportDTO;
import com.njcn.harmonic.pojo.param.QualifiedReportParam;
@@ -21,5 +22,5 @@ public interface QualifiedReportService {
* @author cdf
* @date 2023/6/7
*/
List<FpyReportDTO> pageTable(QualifiedReportParam qualifiedReportParam);
Page<FpyReportDTO> pageTable(QualifiedReportParam qualifiedReportParam);
}

View File

@@ -56,41 +56,39 @@ public class QualifiedReportServiceImpl implements QualifiedReportService {
private final OverLimitClient overLimitClient;
@Override
public List<FpyReportDTO> pageTable(QualifiedReportParam qualifiedReportParam) {
public Page<FpyReportDTO> pageTable(QualifiedReportParam qualifiedReportParam) {
Page<FpyReportDTO> pageResult = new Page<>(PageFactory.getPageNum(qualifiedReportParam), PageFactory.getPageSize(qualifiedReportParam));
List<FpyReportDTO> fpyReportDTOList = new ArrayList<>();
List<String> lineIds = generalDeviceInfoClient.deptGetRunLine(qualifiedReportParam.getDeptId()).getData();
if(CollUtil.isEmpty(lineIds)){
return fpyReportDTOList;
if (CollUtil.isEmpty(lineIds)) {
return pageResult;
}
LineBaseQueryParam lineBaseQueryParam = new LineBaseQueryParam();
lineBaseQueryParam.setLineIds(lineIds);
lineBaseQueryParam.setSearchValue(qualifiedReportParam.getSearchValue());
List<AreaLineInfoVO> areaLineInfoVOList = lineFeignClient.getRichLineInfo(lineBaseQueryParam).getData();
List<String> lineNewIds = areaLineInfoVOList.stream().map(AreaLineInfoVO::getLineId).distinct().collect(Collectors.toList());
Map<String, AreaLineInfoVO> lineMap = areaLineInfoVOList.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId,Function.identity()));
List<Map<String,Object>> limitMap = qualifiedReportMapper.getLimitRateData(new Page<>(PageFactory.getPageNum(qualifiedReportParam),PageFactory.getPageSize(qualifiedReportParam)),lineNewIds, PubUtils.beginTimeToLocalDateTime(qualifiedReportParam.getBeginTime()),PubUtils.endTimeToLocalDateTime(qualifiedReportParam.getEndTime()));
List<String> realLineIds = limitMap.stream().map(item->item.get("my_index").toString()).distinct().collect(Collectors.toList());
List<Map<String, Object>> dayIhMapList = qualifiedReportMapper.getLimitRateDataIHarm(lineIds,qualifiedReportParam.getBeginTime(),qualifiedReportParam.getEndTime());
Map<String, Map<String, Object>> mapMap = dayIhMapList.stream().collect(Collectors.toMap(it->it.get("MYINDEX").toString(),Function.identity()));
if(CollUtil.isNotEmpty(limitMap)){
if(CollUtil.isEmpty(areaLineInfoVOList)){
return pageResult;
}
List<RStatIntegrityD> rStatIntegrityList = lineIntegrityClient.getIntegrityByLineIds(realLineIds,qualifiedReportParam.getBeginTime(),qualifiedReportParam.getEndTime()).getData();
Map<String, RStatIntegrityD> rStatIntegrityMap = rStatIntegrityList.stream().collect(Collectors.toMap(RStatIntegrityD::getLineIndex, Function.identity()));
List<String> lineNewIds = areaLineInfoVOList.stream().map(AreaLineInfoVO::getLineId).distinct().collect(Collectors.toList());
Map<String, AreaLineInfoVO> lineMap = areaLineInfoVOList.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity()));
Page<Map<String, Object>> page = qualifiedReportMapper.getLimitRateData(new Page<>(PageFactory.getPageNum(qualifiedReportParam), PageFactory.getPageSize(qualifiedReportParam)), lineNewIds, PubUtils.beginTimeToLocalDateTime(qualifiedReportParam.getBeginTime()), PubUtils.endTimeToLocalDateTime(qualifiedReportParam.getEndTime()));
if (CollUtil.isNotEmpty(page.getRecords())) {
List<String> realLineIds = page.getRecords().stream().map(item -> item.get("my_index").toString()).distinct().collect(Collectors.toList());
List<Map<String, Object>> dayIhMapList = qualifiedReportMapper.getLimitRateDataIHarm(lineIds, qualifiedReportParam.getBeginTime(), qualifiedReportParam.getEndTime());
Map<String, Map<String, Object>> mapMap = dayIhMapList.stream().collect(Collectors.toMap(it -> it.get("MYINDEX").toString(), Function.identity()));
List<RStatIntegrityD> rStatIntegrityList = lineIntegrityClient.getIntegrityByLineIds(realLineIds, qualifiedReportParam.getBeginTime(), qualifiedReportParam.getEndTime()).getData();
Map<String, RStatIntegrityD> rStatIntegrityMap = rStatIntegrityList.stream().collect(Collectors.toMap(RStatIntegrityD::getLineIndex, Function.identity()));
List<Overlimit> overLimitList = overLimitClient.getOverLimitByLineIds(realLineIds).getData();
Map<String, Overlimit> overLimitMap = overLimitList.stream().collect(Collectors.toMap(Overlimit::getId, Function.identity()));
for(Map<String, Object> map:limitMap){
for (Map<String, Object> map : page.getRecords()) {
String lineId = map.get("my_index").toString();
Map<String, Object> mapOverLimit = new HashMap<>();
try {
@@ -98,42 +96,43 @@ public class QualifiedReportServiceImpl implements QualifiedReportService {
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
e.printStackTrace();
}
//获取平均值的最大值
Map<String, Object> iM = mapMap.get(lineId);
FpyTagContent fpyTagContent = calAllTag(map, mapOverLimit,iM);
FpyTagContent fpyTagContent = calAllTag(map, mapOverLimit, iM);
FpyReportDTO fpyReportData = new FpyReportDTO();
if (lineMap.containsKey(lineId)) {
AreaLineInfoVO areaLineInfoVO = lineMap.get(lineId);
BeanUtil.copyProperties(areaLineInfoVO, fpyReportData);
fpyReportData.setHarmDes(fpyTagContent.getPassFlag());
fpyReportData.setPowerDes(fpyTagContent.getContent());
fpyReportDTOList.add(fpyReportData);
}
if(rStatIntegrityMap.containsKey(lineId)) {
if (rStatIntegrityMap.containsKey(lineId)) {
RStatIntegrityD rStatIntegrityD = rStatIntegrityMap.get(lineId);
fpyReportData.setIntegrityValue(rStatIntegrityD.getIntegrityData());
}else {
} else {
fpyReportData.setIntegrityValue(3.14159f);
}
fpyReportDTOList.add(fpyReportData);
}
return fpyReportDTOList;
}
pageResult.setRecords(fpyReportDTOList);
pageResult.setTotal(page.getTotal());
return pageResult;
}
/**
* 其他指标计算
*/
private FpyTagContent calAllTag(Map<String, Object> map, Map<String, Object> mapOverLimit,Map<String, Object> iMap) {
private FpyTagContent calAllTag(Map<String, Object> map, Map<String, Object> mapOverLimit, Map<String, Object> iMap) {
StrBuilder content = new StrBuilder();
BigDecimal alltime = (BigDecimal) map.get("ALLTIME");
BigDecimal flicketAllTime = (BigDecimal)map.get("FLICKET_ALL_TIME");
BigDecimal flicketAllTime = (BigDecimal) map.get("FLICKET_ALL_TIME");
FpyTagContent fpyTagContent = new FpyTagContent();
if(alltime.intValue() > 0) {
if (alltime.intValue() > 0) {
//频率偏差
BigDecimal freq = (BigDecimal) map.get("FREQ_DEV_OVERTIME");
if (freq.intValue() > 0) {
@@ -159,7 +158,7 @@ public class QualifiedReportServiceImpl implements QualifiedReportService {
BigDecimal flickOver = (BigDecimal) map.get("FLICKER_OVERTIME");
if (flickOver.intValue() > 0) {
BigDecimal flickOverRate = flicketAllTime.subtract(flickOver).divide(flicketAllTime, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
content.append("闪变合格率").append(String.valueOf(flickOverRate.floatValue())).append("%;");
content.append("长时闪变合格率").append(String.valueOf(flickOverRate.floatValue())).append("%;");
}
//电压畸变
@@ -187,28 +186,28 @@ public class QualifiedReportServiceImpl implements QualifiedReportService {
BigDecimal ih = (BigDecimal) map.get(key);
BigDecimal hegeRate = alltime.subtract(ih).divide(alltime, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
if (hegeRate.floatValue() < 95) {
BigDecimal maxI = (BigDecimal)iMap.get(key);
BigDecimal maxI = (BigDecimal) iMap.get(key);
BigDecimal overLimit = new BigDecimal(mapOverLimit.get("iharm" + i).toString());
content.append(String.valueOf(i)).append("次谐波电流合格率").append(String.valueOf(hegeRate.floatValue())).append("%,限值为").append(String.valueOf(overLimit.floatValue())).append("A," + "最大值为").append(String.valueOf(maxI.setScale(2,RoundingMode.HALF_UP))).append("A;");
content.append(String.valueOf(i)).append("次谐波电流合格率").append(String.valueOf(hegeRate.floatValue())).append("%,限值为").append(String.valueOf(overLimit.floatValue())).append("A," + "最大值为").append(String.valueOf(maxI.setScale(2, RoundingMode.HALF_UP))).append("A;");
flagI++;
}
}
if(flagV==0 && flagI==0){
if (flagV == 0 && flagI == 0) {
fpyTagContent.setPassFlag(EnumPass.PASS.getDescribe());
}else if(flagV>0 && flagI==0){
} else if (flagV > 0 && flagI == 0) {
fpyTagContent.setPassFlag("谐波电压");
}else if(flagV==0 && flagI>0){
} else if (flagV == 0 && flagI > 0) {
fpyTagContent.setPassFlag("谐波电流");
}else {
} else {
fpyTagContent.setPassFlag("谐波电压;谐波电流");
}
if(StrUtil.isBlank(content)){
if (StrUtil.isBlank(content)) {
fpyTagContent.setContent("合格;");
}else {
} else {
fpyTagContent.setContent(content.toString());
}
}else {
} else {
fpyTagContent.setPassFlag("暂无数据");
fpyTagContent.setContent("暂无数据;");
}

View File

@@ -152,15 +152,15 @@ public class RStatOrgMServiceImpl extends ServiceImpl<RStatOrgMMapper, RStatOrgM
if (dictDataMap.containsKey(statOrgM.getMeasurementTypeClass())) {
DictData data = dictDataMap.get(statOrgM.getMeasurementTypeClass());
//一类监测点
if(DicDataEnum.LINE_ONE.getCode().equals(data.getCode())){
if(DicDataEnum.ONE_LINE.getCode().equals(data.getCode())){
groupVO.setOneLine(statOrgM.getEffectiveMeasurementAccrued());
}
//二类监测点
if(DicDataEnum.LINE_TWO.getCode().equals(data.getCode())){
if(DicDataEnum.TWO_LINE.getCode().equals(data.getCode())){
groupVO.setTwoLine(statOrgM.getEffectiveMeasurementAccrued());
}
//三类监测点
if(DicDataEnum.LINE_THREE.getCode().equals(data.getCode())){
if(DicDataEnum.THREE_LINE.getCode().equals(data.getCode())){
groupVO.setThreeLine(statOrgM.getEffectiveMeasurementAccrued());
}
}

View File

@@ -129,13 +129,13 @@ public class AreaCountServiceImpl implements AreaCountService {
/*在运的字典表id配网123类监测点字典表id用于for循环中过滤*/
String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY +
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
SPLIT_SIGN + DicDataEnum.LINE_ONE.getCode ( ));
SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( ));
String lineTypeTwoId = redisUtil.getStringByKey (NAME_KEY +
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
SPLIT_SIGN + DicDataEnum.LINE_TWO.getCode ( ));
SPLIT_SIGN + DicDataEnum.TWO_LINE.getCode ( ));
String lineTypeThreeId = redisUtil.getStringByKey (NAME_KEY +
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
SPLIT_SIGN + DicDataEnum.LINE_THREE.getCode ( ));
SPLIT_SIGN + DicDataEnum.THREE_LINE.getCode ( ));
if (
StringUtils.isEmpty (lineTypeOneId) ||
StringUtils.isEmpty (lineTypeTwoId) ||
@@ -194,13 +194,13 @@ public class AreaCountServiceImpl implements AreaCountService {
/*在运的字典表id配网123类监测点字典表id用于for循环中过滤*/
String lineTypeOneId = redisUtil.getStringByKey (NAME_KEY +
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
SPLIT_SIGN + DicDataEnum.LINE_ONE.getCode ( ));
SPLIT_SIGN + DicDataEnum.ONE_LINE.getCode ( ));
String lineTypeTwoId = redisUtil.getStringByKey (NAME_KEY +
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
SPLIT_SIGN + DicDataEnum.LINE_TWO.getCode ( ));
SPLIT_SIGN + DicDataEnum.TWO_LINE.getCode ( ));
String lineTypeThreeId = redisUtil.getStringByKey (NAME_KEY +
SPLIT_SIGN + DicDataTypeEnum.LINE_SORT.getCode ( ) +
SPLIT_SIGN + DicDataEnum.LINE_THREE.getCode ( ));
SPLIT_SIGN + DicDataEnum.THREE_LINE.getCode ( ));
if (
StringUtils.isEmpty (lineTypeOneId) ||
StringUtils.isEmpty (lineTypeTwoId) ||

View File

@@ -3,7 +3,7 @@ package com.njcn.system.enums;
import lombok.Getter;
/**
* 类的介绍:
* 类的介绍:字典数据名称
*
* @author xuyang
* @version 1.0.0
@@ -13,17 +13,31 @@ import lombok.Getter;
public enum DicDataEnum {
/**
* 字典数据名称
* 数据中心稳态统计指标
*/
PLPC_ENUM("频率偏差", "PLPC"),
DYPC_ENUM("电压偏差", "DYPC"),
SXDYBPHD_ENUM("三相电压不平衡度", "SXDYBPHD"),
SXDYBPHD_ENUM("负序电压不平衡度", "SXDYBPHD"),
XBDY_ENUM("谐波电压", "XBDY"),
CSSB_ENUM("长时闪变", "CSSB"),
XBDL_ENUM("谐波电流", "XBDL"),
FXDL_ENUM("负序电流", "FXDL"),
JXBDY_ENUM("间谐波电压", "JXBDY"),
/**
* 稳态统计指标
*/
VOLTAGE_DEV("电压偏差", "Voltage_Dev"),
FLICKER("长时闪变", "Flicker"),
HARMONIC_VOLTAGE("谐波电压", "Harmonic_Voltage"),
HARMONIC_CURRENT("谐波电流", "Harmonic_Current"),
INTERHARMONIC_VOLTAGE("间谐波电压", "Interharmonic_Voltage"),
PHASE_VOLTAGE("负序电压不平衡度", "phase_Voltage"),
FREQUENCY_DEV("频率偏差", "Frequency_Dev"),
NEG_CURRENT("负序电流", "Neg_Current"),
TOTAL_INDICATOR("总稳态指标", "Total_Indicator"),
/**
* 污区图统计类型
*/
@@ -38,6 +52,8 @@ public enum DicDataEnum {
TWO_LINE("II类监测点", "Two_Line"),
THREE_LINE("III类监测点", "Three_Line"),
/**
* 终端类型
*/
@@ -156,7 +172,7 @@ public enum DicDataEnum {
SCRAP("报废", "Scrap"),
/**
* 监测点标签
* 监测点标签(废弃,统一使用监测点对象类型)
*/
ONSHORE_WIND("陆上风电", "Onshore_Wind"),
POWER_STATION("光伏电站", "Power_Station"),
@@ -177,9 +193,6 @@ public enum DicDataEnum {
/**
* 电压等级
* 此电压用于计算,真实code请使用上面枚举
*
* @author cdf
* @date 2023/3/24
*/
V100("100V", "0.1",0.1f),
@@ -231,25 +244,9 @@ public enum DicDataEnum {
YN_V_TRANS("YN v联结平衡牵引变压器", "YN_V_Trans"),
YN_A_TRANS("YN A联结平衡牵引变压器", "YN_A_Trans"),
/**
* 监测点类别
*/
LINE_ONE("Ⅰ类监测点", "One_Line"),
LINE_TWO("Ⅱ类监测点", "Two_Line"),
LINE_THREE("Ⅲ类监测点", "Three_Line"),
/**
* 稳态统计指标
*/
VOLTAGE_DEV("电压偏差", "Voltage_Dev"),
FLICKER("闪变", "Flicker"),
HARMONIC_VOLTAGE("谐波电压", "Harmonic_Voltage"),
HARMONIC_CURRENT("谐波电流", "Harmonic_Current"),
INTERHARMONIC_VOLTAGE("间谐波电压", "Interharmonic_Voltage"),
PHASE_VOLTAGE("三相电压不平衡度", "phase_Voltage"),
FREQUENCY_DEV("频率偏差", "Frequency_Dev"),
NEG_CURRENT("负序电流", "Neg_Current"),
TOTAL_INDICATOR("总稳态指标", "Total_Indicator"),
/**
* 监测对象
*/