微调二级评估问题

This commit is contained in:
wr
2025-09-04 10:27:15 +08:00
parent 0836f5fa57
commit f6995ca0f2

View File

@@ -1,5 +1,6 @@
package com.njcn.advance.service.assess.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
@@ -86,12 +87,12 @@ public class SecondaryEvaluationServiceImpl implements SecondaryEvaluationServic
Double iNeg;
if (StrUtil.isNotBlank(param.getId())) {
AssessEvaluation data = harmDataFeignClient.getHarmIAndHarmVData(param).getData();
if (ObjUtil.isNotNull(data)){
if (ObjUtil.isNotNull(data)) {
iMax = data.getIMax();
unbalance = data.getUnbalance();
uMax = data.getUMax();
iNeg = data.getINeg();
}else{
} else {
throw new BusinessException("评估原始数据有误!请检查数据是否为空");
}
} else {
@@ -160,7 +161,6 @@ public class SecondaryEvaluationServiceImpl implements SecondaryEvaluationServic
// 1. 计算单个负荷谐波阻抗和谐波电流
//2. 计算配变谐波阻抗 并叠加
List<HarmonicsIAndZDTO> loadList = new ArrayList<>();
List<AssessLoadParam> assessLoadParamLista = iAssessLoadParamService.lambdaQuery().eq(AssessLoadParam::getAssessId, assessId).list();
@@ -198,34 +198,33 @@ public class SecondaryEvaluationServiceImpl implements SecondaryEvaluationServic
// 4. 变压器谐波阻抗串联叠加
HarmonicsIAndZDTO transIAndZDTO = null;
Double transUl = null;
Double transUh = null;
AssessDicTransformer assessDicTransformer = new AssessDicTransformer();
HarmonicsIAndZDTO transIAndZDTO;
Double transUl;
Double transUh;
AssessDicTransformer assessDicTransformer;
AssessTransformerParam assessTransformerParam = iAssessTransformerParamService.lambdaQuery().eq(AssessTransformerParam::getAssessId, assessId).one();
if (Objects.nonNull(assessTransformerParam)) {
assessDicTransformer = iAssessDicTransformerService.lambdaQuery().eq(AssessDicTransformer::getTranstypeId, assessTransformerParam.getTranstypeId()).one();
transUl = getVoltage(assessDicTransformer.getTranslowScale(), dictDataList);
transUh = getVoltage(assessDicTransformer.getTranshighScale(), dictDataList);
Double sRt = assessDicTransformer.getTransCapa().doubleValue();
Double uKr = assessDicTransformer.getShortCircuitImpedance().doubleValue();
Double pKrt = assessDicTransformer.getLoadLoss().doubleValue();
transIAndZDTO = PowerQualityAlgorithmUtil.transZCal(sRt, transUl, uKr, pKrt);
if(Objects.isNull(assessTransformerParam)){
throw new BusinessException("变压器参数缺失");
}
assessDicTransformer = iAssessDicTransformerService.lambdaQuery().eq(AssessDicTransformer::getTranstypeId, assessTransformerParam.getTranstypeId()).one();
transUl = getVoltage(assessDicTransformer.getTranslowScale(), dictDataList);
transUh = getVoltage(assessDicTransformer.getTranshighScale(), dictDataList);
Double sRt = assessDicTransformer.getTransCapa().doubleValue();
Double uKr = assessDicTransformer.getShortCircuitImpedance().doubleValue();
Double pKrt = assessDicTransformer.getLoadLoss().doubleValue();
transIAndZDTO = PowerQualityAlgorithmUtil.transZCal(sRt, transUl, uKr, pKrt);
// 5. 电容器组阻抗串联叠加
AssessCapacitorParam assessCapacitorParam = iAssessCapacitorParamService.lambdaQuery().eq(AssessCapacitorParam::getAssessId, assessId).one();
HarmonicsIAndZDTO capIAndZDTO;
if (Objects.isNull(assessTransformerParam)) {
if (Objects.isNull(assessCapacitorParam)) {
throw new BusinessException("评估用户电容器参数缺失");
} else {
Integer capacitorNum = assessCapacitorParam.getCapacitorNum();
double capacitorCapacity = assessCapacitorParam.getCapacitorCapacity().doubleValue();
double capacitorReactance = assessCapacitorParam.getCapacitorReactance().doubleValue();
double capacitorScale = getVoltage(assessCapacitorParam.getCapacitorScale(), dictDataList);
capIAndZDTO = PowerQualityAlgorithmUtil.capacitorZCal(capacitorScale, capacitorCapacity, capacitorReactance, capacitorNum);
}
@@ -315,6 +314,9 @@ public class SecondaryEvaluationServiceImpl implements SecondaryEvaluationServic
/************************************电压波动算法**********************************/
//非风电场取冲击负荷最大的哪个
List<AssessShockLoadParam> assessShockLoadParams = iAssessShockLoadParamService.lambdaQuery().eq(AssessShockLoadParam::getAssessId, assessId).list();
if (CollUtil.isEmpty(assessShockLoadParams)) {
throw new BusinessException("冲击负荷参数缺失");
}
assessShockLoadParams.forEach(temp -> {
AssessDicShockLoad byId = iAssessDicShockLoadService.getById(temp.getInpactloadtypeId());
if (Objects.isNull(byId)) {