From 1ca5ce855b66c46ff5576896047c913f9a0635ca Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 19 Jun 2024 20:26:23 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=9C=A8=E7=BA=BF=E7=9B=91=E6=B5=8B=E7=82=B9?= =?UTF-8?q?-=E3=80=8B=E7=A8=B3=E6=80=81=E6=8C=87=E6=A0=87=E5=90=88?= =?UTF-8?q?=E6=A0=BC=E7=8E=87=E5=88=86=E6=9E=90=20=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E7=82=B9=E5=90=88=E6=A0=BC=E7=8E=87=E7=AE=97=E6=B3=95=E8=B0=83?= =?UTF-8?q?=E6=95=B4=202.=E5=8C=BA=E5=9F=9F-=E3=80=8B=E6=8C=87=E6=A0=87?= =?UTF-8?q?=E5=90=88=E6=A0=BC=E7=8E=87=E7=BB=9F=E8=AE=A1=20=E5=90=84?= =?UTF-8?q?=E7=BB=B4=E5=BA=A6=E5=90=88=E6=A0=BC=E7=8E=87=E7=AE=97=E6=B3=95?= =?UTF-8?q?=E8=B0=83=E6=95=B4=203.=E8=BF=90=E8=A1=8C=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E3=80=8B=E6=8C=87=E6=A0=87=E5=90=88=E6=A0=BC=E7=8E=87=E5=88=97?= =?UTF-8?q?=E8=A1=A8=20=E7=9B=91=E6=B5=8B=E7=82=B9=E5=90=88=E6=A0=BC?= =?UTF-8?q?=E7=8E=87=E7=AE=97=E6=B3=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/pojo/commons/SteadyData.java | 11 + .../configuration/LineServiceImpls.java | 58 +- .../controller/business/DeviceController.java | 4 +- .../mybatis/mappers/data/LimitRateMapper.xml | 545 ++++++++++++------ .../responsibility/overLimitMonitor.jsp | 2 +- pqs9000/src/main/webapp/jspJS/monitor/wtzb.js | 34 +- 6 files changed, 422 insertions(+), 232 deletions(-) diff --git a/comService/src/main/java/com/njcn/pojo/commons/SteadyData.java b/comService/src/main/java/com/njcn/pojo/commons/SteadyData.java index b70fba8..bdd17ad 100644 --- a/comService/src/main/java/com/njcn/pojo/commons/SteadyData.java +++ b/comService/src/main/java/com/njcn/pojo/commons/SteadyData.java @@ -16,6 +16,8 @@ public class SteadyData implements Serializable { private float allTime; + private float tAllTime; + private float frequency=3.1415f; private float uBalance=3.1415f; @@ -188,6 +190,14 @@ public class SteadyData implements Serializable { this.inUharm = inUharm; } + public float gettAllTime() { + return tAllTime; + } + + public void settAllTime(float tAllTime) { + this.tAllTime = tAllTime; + } + @Override public String toString() { return "SteadyData{" + @@ -195,6 +205,7 @@ public class SteadyData implements Serializable { ", monitors=" + monitors + ", areaIndex='" + areaIndex + '\'' + ", allTime=" + allTime + + ", tAllTime=" + tAllTime + ", frequency=" + frequency + ", uBalance=" + uBalance + ", uAberrance=" + uAberrance + diff --git a/comService/src/main/java/com/njcn/serviceimpl/configuration/LineServiceImpls.java b/comService/src/main/java/com/njcn/serviceimpl/configuration/LineServiceImpls.java index d38186d..6fb3bcf 100644 --- a/comService/src/main/java/com/njcn/serviceimpl/configuration/LineServiceImpls.java +++ b/comService/src/main/java/com/njcn/serviceimpl/configuration/LineServiceImpls.java @@ -202,23 +202,17 @@ public class LineServiceImpls implements LineService { return new SteadyData();//全部是3.1415,代表无监测点无数据 } List lineIndexTemp = new ArrayList<>(lineIndexs); - Integer size = lineIndexTemp.size(); + int size = lineIndexTemp.size(); try { if (size > 1000) { - Integer times = size / 1000 + 1; + int times = size / 1000 + 1; for (int i = 0; i < times; i++) { - if (size > 1000) { - List tempIndexs = lineIndexTemp.subList(0, 1000); - //需要区分频率偏差、三相电压不平衡与其他指标的获取方式 - SteadyData tempT = limitRateMapper.getsteadDataByT(tempIndexs, startTime, endTime); - //合并数据 - steadyData = mergeSteady(steadyData, tempT); - tempIndexs.clear(); - } else { - //需要区分频率偏差、三相电压不平衡与其他指标的获取方式 - SteadyData tempT = limitRateMapper.getsteadDataByT(lineIndexTemp, startTime, endTime); - steadyData = mergeSteady(steadyData, tempT); - } + List tempIndexs = lineIndexTemp.subList(0, 1000); + //需要区分频率偏差、三相电压不平衡与其他指标的获取方式 + SteadyData tempT = limitRateMapper.getsteadDataByT(tempIndexs, startTime, endTime); + //合并数据 + steadyData = mergeSteady(steadyData, tempT); + tempIndexs.clear(); } } else { //需要区分频率偏差、三相电压不平衡与其他指标的获取方式 @@ -246,7 +240,11 @@ public class LineServiceImpls implements LineService { } else { steadyData.setAllTime(steadyData.getAllTime() + tempT.getAllTime()); } - + if (steadyData.gettAllTime() == 0) { + steadyData.settAllTime(tempT.gettAllTime()); + } else { + steadyData.settAllTime(steadyData.gettAllTime() + tempT.gettAllTime()); + } if (steadyData.getFrequency() == 3.1415f) { steadyData.setFrequency(tempT.getFrequency()); } else { @@ -329,14 +327,15 @@ public class LineServiceImpls implements LineService { return steadyData; } else { float allTime = steadyData.getAllTime(); + float tAllTime = steadyData.gettAllTime(); //冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 start steadyData.setHarmVoltage(getAcceptlityByData(allTime, steadyData.getHarmVoltage())); steadyData.setHarmElec(getAcceptlityByData(allTime, steadyData.getHarmElec())); - steadyData.setiNeg(getAcceptlityByData(allTime, steadyData.getiNeg())); + steadyData.setiNeg(getAcceptlityByData(tAllTime, steadyData.getiNeg())); steadyData.setInUharm(getAcceptlityByData(allTime, steadyData.getInUharm())); //冀北二期 谐波电流 谐波电压 负序电流 间谐波电压含有率 end steadyData.setVoltageDeviation(getAcceptlityByData(allTime, steadyData.getVoltageDeviation())); - steadyData.setuBalance(getAcceptlityByData(allTime, steadyData.getuBalance())); + steadyData.setuBalance(getAcceptlityByData(tAllTime, steadyData.getuBalance())); steadyData.setFlicker(getAcceptlityByData(steadyData.getAllFlicker(), steadyData.getFlicker())); steadyData.setOddVoltage(getAcceptlityByData(allTime, steadyData.getOddVoltage())); steadyData.setEvenVoltage(getAcceptlityByData(allTime, steadyData.getEvenVoltage())); @@ -350,16 +349,23 @@ public class LineServiceImpls implements LineService { //计算合格率结果 private float getAcceptlityByData(float allTime, float data) { - float accpet = allTime - data; - if (accpet < 0) { - accpet = 0; + float result; + if (Objects.equals(data,3.1415f)) { + result = 3.14159f; + } else { + float accpet = allTime - data; + if (accpet < 0) { + accpet = 0; + } + if(allTime == 0){ + return 100.0f; + } + float num = accpet / allTime; + // 格式化小数 + DecimalFormat df = new DecimalFormat("0.00"); + result = Float.parseFloat(df.format(num * 100)); } - if(allTime == 0){ - return 100.0f; - } - float num = accpet / allTime; - DecimalFormat df = new DecimalFormat("0.00");// 格式化小数 - return Float.valueOf(df.format(num * 100)); + return result; } //计算谐波电压合格率结果 diff --git a/pqs9000/src/main/java/com/pqs9000/controller/business/DeviceController.java b/pqs9000/src/main/java/com/pqs9000/controller/business/DeviceController.java index d42a0e8..f4f716c 100644 --- a/pqs9000/src/main/java/com/pqs9000/controller/business/DeviceController.java +++ b/pqs9000/src/main/java/com/pqs9000/controller/business/DeviceController.java @@ -1151,10 +1151,10 @@ public class DeviceController { for (int k = 0; k < reportTarget.getList().size(); k++) { if (null == reportTarget.getList().get(k).getFmaxValue() || null == reportTarget.getList().get(k).getMinValue()) { break; - } else if (reportTarget.getList().get(k).getFmaxValue() < lowLimit || reportTarget.getList().get(k).getFmaxValue() > overLimit) { + } else if (reportTarget.getList().get(k).getFmaxValue().floatValue() < lowLimit.floatValue() || reportTarget.getList().get(k).getFmaxValue().floatValue() > overLimit.floatValue() ) { reportTarget.setPass(EnumPass.NOPASS.getCode()); break; - } else if (reportTarget.getList().get(k).getMinValue() < lowLimit || reportTarget.getList().get(k).getMinValue() > overLimit) { + } else if (reportTarget.getList().get(k).getMinValue().floatValue() < lowLimit.floatValue() || reportTarget.getList().get(k).getMinValue().floatValue() > overLimit.floatValue() ) { reportTarget.setPass(EnumPass.NOPASS.getCode()); break; } else { diff --git a/pqs9000/src/main/resources/mybatis/mappers/data/LimitRateMapper.xml b/pqs9000/src/main/resources/mybatis/mappers/data/LimitRateMapper.xml index 6acb972..19c5b1c 100644 --- a/pqs9000/src/main/resources/mybatis/mappers/data/LimitRateMapper.xml +++ b/pqs9000/src/main/resources/mybatis/mappers/data/LimitRateMapper.xml @@ -240,206 +240,373 @@