diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapcityServiceImpl.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapcityServiceImpl.java index 497ad17c2..2b97af065 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapcityServiceImpl.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/service/carrycapacity/impl/CarryCapcityServiceImpl.java @@ -128,7 +128,10 @@ public class CarryCapcityServiceImpl implements CarryCapcityService { dataHarmPowerQ2List = (List) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "Q"); dataHarmPowerU2List = (List) 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(); diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/CZNLPG.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/CZNLPG.java index 2166aae47..360285792 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/CZNLPG.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/CZNLPG.java @@ -157,21 +157,21 @@ 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 + * @return: double * @Author: clam * @Date: 2024/2/2 */ 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; diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RMpElectricQualityProblemFlowDetails.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RMpElectricQualityProblemFlowDetails.java index 65fade966..b3be1cf56 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RMpElectricQualityProblemFlowDetails.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RMpElectricQualityProblemFlowDetails.java @@ -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; /** diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java index 017541d6f..ab814cb2c 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java @@ -240,7 +240,11 @@ public class IssuesServiceImpl implements IssuesService { private RMpElectricQualityProblemFlowDetails flowDetailSelectOne(String powerQualityProblemNo) { LambdaQueryWrapper 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 issuesQuery = new LambdaQueryWrapper<>(); issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo()); RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery);