电能质量问题修改
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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()));
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user