From be8c14625f97179f51430e90428d0d837c336b76 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Mon, 5 Jan 2026 20:33:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=B7=E5=8D=97bug=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ExportModelController.java | 159 ++++++++++++------ .../harmonic/mapper/mapping/ReportMapper.xml | 114 ++++++------- 2 files changed, 167 insertions(+), 106 deletions(-) diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java index 0be3f69c4..a14a50acb 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java @@ -621,69 +621,126 @@ public class ExportModelController extends BaseController { ReportValue vdeviation3 = this.listVdeviation.get(0).getList().get(2); // 获取电压上下偏差的国标限值 String vdeviationLimit = judgeNull(this.listVdeviation.get(0).getOverLimit()); - reportmap.put("$VD_L$", vdeviationLimit); + //电压下偏差 + String ldeviationLimit = judgeNull(this.listVdeviation.get(1).getOverLimit()); + + reportmap.put("$VD_L$",ldeviationLimit+"至"+ vdeviationLimit); String strResultVdeviationdata = ""; String tmpstrResultVdeviationdata = ""; String strResultVdeviationdataValue = ""; - // 获取电压偏差 String tmpstrMap = ""; - reportmap.put("$VDTX_A$", judgeNull(vdeviation1.getFmaxValue())); - reportmap.put("$VDTN_A$", judgeNull(vdeviation1.getMinValue())); - reportmap.put("$VDTE_A$", judgeNull(vdeviation1.getMeanValue())); - reportmap.put("$VDT%_A$", judgeNull(vdeviation1.getCp95Value())); - reportmap.put("$VDTX_B$", judgeNull(vdeviation2.getFmaxValue())); - reportmap.put("$VDTN_B$", judgeNull(vdeviation2.getMinValue())); - reportmap.put("$VDTE_B$", judgeNull(vdeviation2.getMeanValue())); - reportmap.put("$VDT%_B$", judgeNull(vdeviation2.getCp95Value())); - if (pttype != 2) { - reportmap.put("$VDTX_C$", judgeNull(vdeviation3.getFmaxValue())); - reportmap.put("$VDTN_C$", judgeNull(vdeviation3.getMinValue())); - reportmap.put("$VDTE_C$", judgeNull(vdeviation3.getMeanValue())); - reportmap.put("$VDT%_C$", judgeNull(vdeviation3.getCp95Value())); - } else { - reportmap.put("$VDTX_C$", "-"); - reportmap.put("$VDTN_C$", "-"); - reportmap.put("$VDTE_C$", "-"); - reportmap.put("$VDT%_C$", "-"); - } + // 获取电压偏差 // 值错误判断 try { - maxValue = Math.abs(Double.parseDouble(vdeviation1.getFmaxValue().toString())); - minValue = Math.abs(Double.parseDouble(vdeviation1.getMinValue().toString())); - aveValue = Math.abs(Double.parseDouble(vdeviation1.getMeanValue().toString())); - cp95Value = Math.abs(Double.parseDouble(vdeviation1.getCp95Value().toString())); - limit = Math.abs(Double.parseDouble(vdeviationLimit)); + for (int i = 0; i < 3; i++) { + tmpstrMap = "A"; + switch (i) { + case 0: + tmpstrMap = "A"; + break; + case 1: + tmpstrMap = "B"; + break; + default: + tmpstrMap = "C"; + break; + } + ReportValue vdeviation = this.listVdeviation.get(0).getList().get(i); + if(Objects.equals("C",tmpstrMap)&&pttype == 2){ + reportmap.put("$VDTX_C$", "-"); + reportmap.put("$VDTN_C$", "-"); + reportmap.put("$VDTE_C$", "-"); + reportmap.put("$VDT%_C$", "-"); + continue; + }else { + reportmap.put("$VDTX_" + tmpstrMap + "$", judgeNull(vdeviation.getFmaxValue())); + reportmap.put("$VDTN_" + tmpstrMap + "$", judgeNull(vdeviation.getMinValue())); + reportmap.put("$VDTE_" + tmpstrMap + "$", judgeNull(vdeviation.getMeanValue())); + reportmap.put("$VDT%_" + tmpstrMap + "$", judgeNull(vdeviation.getCp95Value())); + } + + + // 电压偏差 + Double vmaxValue = Double.parseDouble(reportmap.get("$VDTX_" + tmpstrMap + "$").toString()); + Double vminValue = Double.parseDouble(reportmap.get("$VDTX_" + tmpstrMap + "$").toString()); + Double vaveValue = Double.parseDouble(reportmap.get("$VDTX_" + tmpstrMap + "$").toString()); + Double vcp95Value = Double.parseDouble(reportmap.get("$VDT%_" + tmpstrMap + "$").toString()); + + if("".equals(strResultVdeviationdataValue)){ + if (!(vmaxValue >= vminValue && vmaxValue >= vaveValue && vmaxValue >= vcp95Value)) { + strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName + + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + } else if (vaveValue < vminValue) { + strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName + + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + } else if (vcp95Value < vminValue) { + strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName + + "电压偏差数据数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; + } + } + + if(vmaxValue>Double.valueOf(vdeviationLimit)||vmaxValueDouble.valueOf(vdeviationLimit)||vminValueDouble.valueOf(vdeviationLimit)||vaveValueDouble.valueOf(vdeviationLimit)||vcp95Value= minValue && maxValue >= aveValue && maxValue >= cp95Value)) { - strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName - + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; - } else if (aveValue < minValue) { - strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName - + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; - } else if (cp95Value < minValue) { - strResultVdeviationdataValue += "注意:从上表中可以看出" + strLineBaseName - + "电压偏差数据存在异常( 1、最大值>=最小值、平均值、95%概率值;2、平均值>=最小值;3、95%概率值>=最小值)。"; - } - } - // 限值判断 - if (maxValue > limit) { - if (!"".equals(tmpstrResultVdeviationdata)) - tmpstrResultVdeviationdata += "、"; - tmpstrResultVdeviationdata += tmpstrMap + "相"; - } +// +// // 限值判断 +// if (maxValue > limit) { +// if (!"".equals(tmpstrResultVdeviationdata)) +// tmpstrResultVdeviationdata += "、"; +// tmpstrResultVdeviationdata += tmpstrMap + "相"; +// } // 假如为空则所有的都满足 if ("".equals(tmpstrResultVdeviationdata)) { - strResultVdeviationdata += "从上表中可以看出" + strLineBaseName + "A、B、C三相电压偏差满足国标限值(10%)的要求。"; + strResultVdeviationdata += "从上表中可以看出" + strLineBaseName + "A、B、C三相电压偏差满足国标限值("+ldeviationLimit+"%至"+vdeviationLimit+"%)的要求。"; } else { - strAnalysis += tmpstrResultVdeviationdata + "电压偏差不满足国标限值(10%)的要求。"; + strAnalysis += tmpstrResultVdeviationdata + "电压偏差不满足国标限值("+vdeviationLimit+")的要求。"; strResultVdeviationdata += "从上表中可以看出" + strLineBaseName + tmpstrResultVdeviationdata - + "电压偏差不满足国标限值(10%)的要求。"; + + "电压偏差不满足国标限值("+ldeviationLimit+"%至"+vdeviationLimit+"%)的要求。"; } reportmap.put("$ResultVdeviationdata$", strResultVdeviationdata); @@ -1550,11 +1607,15 @@ public class ExportModelController extends BaseController { public void getVdeviation(ReportQueryParam param, Overlimit overLimit) { List listVdeviation = reportService.getVdeviation(param); List list = new ArrayList<>(); - for (int i = 0; i < 2; i++) { +// for (int i = 0; i < 2; i++) { Pass pass; pass = new Pass(overLimit.getVoltageDev(), EnumPass.MAX.getCode()); list.add(pass); - } + + Pass pass1; + pass1 = new Pass(overLimit.getUvoltageDev(), EnumPass.MIN.getCode()); + list.add(pass1); +// } this.listVdeviation = new ArrayList<>(); transformData(this.listVdeviation, listVdeviation, list, true); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ReportMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ReportMapper.xml index 70e72264d..e1e333f8b 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ReportMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ReportMapper.xml @@ -93,7 +93,7 @@ SELECT phasic_type AS phaseType, - AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, - MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, - MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value + AVG( CASE WHEN value_type = 'AVG' THEN rms_lvr END ) AS meanValue, + MIN( CASE WHEN value_type = 'MIN' THEN rms_lvr END ) AS minValue, + MAX( CASE WHEN value_type = 'MAX' THEN rms_lvr END ) AS fmaxValue, + MAX( CASE WHEN value_type = 'CP95' THEN rms_lvr END ) AS cp95Value FROM r_stat_data_v_d @@ -139,10 +139,10 @@ SELECT phasic_type AS phaseType, - AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, - MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, - MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value + AVG( CASE WHEN value_type = 'AVG' THEN pf END ) AS meanValue, + MIN( CASE WHEN value_type = 'MIN' THEN pf END ) AS minValue, + MAX( CASE WHEN value_type = 'MAX' THEN pf END ) AS fmaxValue, + MAX( CASE WHEN value_type = 'CP95' THEN pf END ) AS cp95Value FROM r_stat_data_harmpower_p_d @@ -189,10 +189,10 @@ SELECT phasic_type AS phaseType, - AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, - MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, - MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value + AVG( CASE WHEN value_type = 'AVG' THEN s END ) AS meanValue, + MIN( CASE WHEN value_type = 'MIN' THEN s END ) AS minValue, + MAX( CASE WHEN value_type = 'MAX' THEN s END ) AS fmaxValue, + MAX( CASE WHEN value_type = 'CP95' THEN s END ) AS cp95Value FROM r_stat_data_harmpower_s_d @@ -239,10 +239,10 @@ SELECT phasic_type AS phaseType, - AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, - MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, - MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value + AVG( CASE WHEN value_type = 'AVG' THEN pst END ) AS meanValue, + MIN( CASE WHEN value_type = 'MIN' THEN pst END ) AS minValue, + MAX( CASE WHEN value_type = 'MAX' THEN pst END ) AS fmaxValue, + MAX( CASE WHEN value_type = 'CP95' THEN pst END ) AS cp95Value FROM r_stat_data_flicker_d @@ -289,10 +289,10 @@ SELECT phasic_type AS phaseType, - AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, - MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, - MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value + AVG( CASE WHEN value_type = 'AVG' THEN vl_dev END ) AS meanValue, + MIN( CASE WHEN value_type = 'MIN' THEN vl_dev END ) AS minValue, + MAX( CASE WHEN value_type = 'MAX' THEN vl_dev END ) AS fmaxValue, + MAX( CASE WHEN value_type = 'CP95' THEN vl_dev END ) AS cp95Value FROM r_stat_data_v_d @@ -339,10 +339,10 @@ SELECT phasic_type AS phaseType, - AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, - MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, - MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value + AVG( CASE WHEN value_type = 'AVG' THEN i_thd END ) AS meanValue, + MIN( CASE WHEN value_type = 'MIN' THEN i_thd END ) AS minValue, + MAX( CASE WHEN value_type = 'MAX' THEN i_thd END ) AS fmaxValue, + MAX( CASE WHEN value_type = 'CP95' THEN i_thd END ) AS cp95Value FROM r_stat_data_i_d @@ -389,10 +389,10 @@ SELECT phasic_type AS phaseType, - AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, - MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, - MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN value_type = 'CP95' THEN rms END ) AS cp95Value + AVG( CASE WHEN value_type = 'AVG' THEN freq_dev END ) AS meanValue, + MIN( CASE WHEN value_type = 'MIN' THEN freq_dev END ) AS minValue, + MAX( CASE WHEN value_type = 'MAX' THEN freq_dev END ) AS fmaxValue, + MAX( CASE WHEN value_type = 'CP95' THEN freq_dev END ) AS cp95Value FROM r_stat_data_v_d @@ -439,10 +439,10 @@