电能质量问题修改

This commit is contained in:
hzj
2024-04-03 11:20:33 +08:00
parent 8a416bab4d
commit e0d508c7d8
4 changed files with 35 additions and 18 deletions

View File

@@ -128,7 +128,10 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
dataHarmPowerQ2List = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "Q");
dataHarmPowerU2List = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "U");
if(CollectionUtil.isEmpty(dataHarmPowerPList)){
if(CollectionUtil.isEmpty(dataHarmPowerPList)||
CollectionUtil.isEmpty(dataHarmPowerP2List)||
CollectionUtil.isEmpty(dataHarmPowerQ2List)||
CollectionUtil.isEmpty(dataHarmPowerU2List)){
CarryCapacityDataPO one = carryCapacityDataPOService.lambdaQuery().eq(CarryCapacityDataPO::getLineId, lineId)
.eq(CarryCapacityDataPO::getStartTime, startTime)
.eq(CarryCapacityDataPO::getEndTime, endTime).one();

View File

@@ -157,7 +157,7 @@ public class CZNLPG {
* 结论【拟接入光伏容量】为入参【A/B/C相有功功率】和【A/B/C相无功功率值】95%小值从A/B/C相历史数据中计算得出 为枚举参数;能够计算三相配变首端电压 、 、 从而得出U 。
* 380v -U=C-a(p_min -k*S_pv/3)-b*q_min
* 220v -U=C-a(p_min -k*S_pv)-b*q_min
*
*(后续咨询只分单项三项,目前数据都是三项)
* @Param:
* @return: double
* @Author: clam
@@ -165,13 +165,13 @@ public class CZNLPG {
*/
public static double calculateU(double C, double a, double b, double p_min, double K, double q_min,double S_pv, double voltage) {
if (voltage == 220) {
return C-a*(p_min-K*S_pv)-b*q_min;
} else if (voltage == 380) {
// if (voltage == 220) {
// return C-a*(p_min-K*S_pv)-b*q_min;
// } else if (voltage == 380) {
return C-a*(p_min-K*S_pv/3)-b*q_min;
} else {
return 0;
}
// } else {
// return 0;
// }
}
@@ -181,19 +181,20 @@ public class CZNLPG {
* k为修正系数徐工提供海南k系数是否需要考虑不同季节台区日照系数。
* 结论【电压等级】为入参I_(stock,h)为台区一周内的h次谐波电流95%概率大值I_"inv" ^h%为光伏逆变器第h次的典型谐波电流含有率
* 为枚举参数k为枚举参数能够计算各次的谐波电流幅值 、 、 ,从而得出 。
* (后续咨询只分单项三项,目前数据都是三项)
*/
public static double calculateITm(double I_cp95, double k, double voltage, double S_pv, double K, double I_inv) {
double term1 = Math.pow(I_cp95, 2);
double term2 = 0, term3 = 0;
if (voltage == 220) {
term2 = Math.pow(k * S_pv * I_inv / 220, 2);
term3 = K * I_cp95 * (k * S_pv * I_inv / 220);
} else if (voltage == 380) {
// if (voltage == 220) {
// term2 = Math.pow(k * S_pv * I_inv / 220, 2);
// term3 = K * I_cp95 * (k * S_pv * I_inv / 220);
// } else if (voltage == 380) {
term2 = Math.pow(k * S_pv * I_inv / 3 * 220, 2);
term3 = K * I_cp95 * (k * S_pv * I_inv / 3 * 220);
} else {
return 0;
}
// } else {
// return 0;
// }
double sumOfTerms = term1 + term2 + term3;

View File

@@ -1,5 +1,7 @@
package com.njcn.process.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -23,6 +25,7 @@ public class RMpElectricQualityProblemFlowDetails implements Serializable {
/**
* 电能质量问题编号
*/
@TableId(type = IdType.INPUT)
private String powerQualityProblemNo;
/**

View File

@@ -240,7 +240,11 @@ public class IssuesServiceImpl implements IssuesService {
private RMpElectricQualityProblemFlowDetails flowDetailSelectOne(String powerQualityProblemNo) {
LambdaQueryWrapper<RMpElectricQualityProblemFlowDetails> flowQuery = new LambdaQueryWrapper<>();
flowQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo, powerQualityProblemNo);
return flowDetailsMapper.selectOne(flowQuery);
RMpElectricQualityProblemFlowDetails rMpElectricQualityProblemFlowDetails = flowDetailsMapper.selectOne(flowQuery);
if(Objects.isNull(rMpElectricQualityProblemFlowDetails)){
rMpElectricQualityProblemFlowDetails = new RMpElectricQualityProblemFlowDetails();
}
return rMpElectricQualityProblemFlowDetails;
}
/**
@@ -399,7 +403,13 @@ public class IssuesServiceImpl implements IssuesService {
details.setDataDateYyfx(local);
details.setReportProcessContentYyfx(ArrayUtil.toString(processParam.getReportProcessContentYyfx()));
details.setUserReportProcessContentYyfx(ArrayUtil.toString(processParam.getUserReportProcessContentYyfx()));
flowDetailsMapper.insert(details);
RMpElectricQualityProblemFlowDetails rMpElectricQualityProblemFlowDetails = flowDetailsMapper.selectById(details.getPowerQualityProblemNo());
if (rMpElectricQualityProblemFlowDetails != null) {
flowDetailsMapper.updateById(details);
}else {
flowDetailsMapper.insert(details);
}
LambdaQueryWrapper<RStatElectricQualityProblemFlow> issuesQuery = new LambdaQueryWrapper<>();
issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo());
RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery);