Bläddra i källkod

修改生成历史状态接口的突变超限判断取不到上一次采集值得问题

sl 7 månader sedan
förälder
incheckning
17304ee1b3

+ 20 - 0
jeecg-module-interlock/src/main/java/org/jeecg/modules/binlog/PostgreSQLClient.java

@@ -303,6 +303,24 @@ public class PostgreSQLClient implements ApplicationRunner {
                                     tagQuery.eq("interlock_condition_id",id).eq("parameter_type","8");
                                     InterlockTag interlockTag = tagService.getOne(tagQuery);
                                     IotedgeCollectData iotedgeData = iotedgeCollectDataService.getOneInfo(interlockTag.getDeviceId(),interlockTag.getModuleName(),interlockTag.getTagName(),beginDate);
+                                    BigDecimal beginValue = new BigDecimal("0");
+                                    if(iotedgeData != null){
+                                        beginValue = new BigDecimal(iotedgeData.getValue());
+                                    }
+                                    BigDecimal num = BigDecimal.valueOf(Double.parseDouble(ybValueTag)).subtract(beginValue);
+                                    // (高限-底限) * 阈值  (数据库中的阈值是去掉百分比的直接乘即可)
+                                    BigDecimal up = BigDecimal.valueOf(Double.parseDouble(upperLimit));
+                                    BigDecimal lower = BigDecimal.valueOf(Double.parseDouble(lowerLimit));
+                                    BigDecimal number = up.subtract(lower);
+                                    BigDecimal newYz = number.multiply(BigDecimal.valueOf(Double.parseDouble(yz)));
+                                    BigDecimal orgYz = new BigDecimal(100);//默认增量百分比为百分百
+                                    if(!beginValue.equals(new BigDecimal("0"))){
+                                        orgYz = num.divide(beginValue,2,RoundingMode.HALF_UP);
+                                    }
+                                    if ((orgYz.compareTo(newYz)) > 0){
+                                        ybStatus = baseYbAbnormalStatus;
+                                    }
+                                    /*//添加突变超限问题修改之前
                                     BigDecimal beginValue = BigDecimal.valueOf(Double.parseDouble(iotedgeData.getValue()));
                                     BigDecimal num = BigDecimal.valueOf(Double.parseDouble(ybValueTag)).subtract(beginValue);
                                     // (高限-底限) * 阈值  (数据库中的阈值是去掉百分比的直接乘即可)
@@ -314,6 +332,8 @@ public class PostgreSQLClient implements ApplicationRunner {
                                     if ((nowNum.compareTo(newYz)) > 0){
                                         ybStatus = baseYbAbnormalStatus;
                                     }
+
+                                     */
                                 }
                             }