Ver código fonte

1、给出跳变范围,超出跳变范围,值为0
2、DL421P00770002 八万煤气柜柜容不再消息提示

QuietShadow 3 anos atrás
pai
commit
677d4b7cb7

+ 11 - 2
src/main/java/com/steerinfo/ems/trmcalpoint/service/impl/TRmCalpointServiceImpl.java

@@ -700,7 +700,8 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
             return "日期格式错误";
         }
         String maxValue = tc.getMaxVal() ==null||"".equals(tc.getMaxVal()) ? "9999" : tc.getMaxVal();
-        String minValue = tc.getMinVal() ==null||"".equals(tc.getMinVal()) ? "0" : tc.getMinVal();;
+        String minValue = tc.getMinVal() ==null||"".equals(tc.getMinVal()) ? "0" : tc.getMinVal();
+        BigDecimal avgValue = tc.getRangeVal() ==null||"".equals(tc.getRangeVal()) ? new BigDecimal(999999) : tc.getRangeVal();
         Calendar cal = Calendar.getInstance();
         cal.setTime(date);
         cal.add(Calendar.HOUR_OF_DAY, -1);
@@ -846,7 +847,12 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                     //if (tc.getEnergytypeid().equalsIgnoreCase("W")) {
                         // 大于等于0
                         if (tenval.doubleValue() >= 0) {
-                            hval = hval.add(tenval);
+                            // 如果十分钟数据超出跳变范围就是错误的数据
+                            if (tenval.compareTo(avgValue) == -1) {
+                                hval = hval.add(tenval);
+                            } else {
+                                hval = hval.add(BigDecimal.ZERO);
+                            }
                             //暂时不做判断,水数据四小时一次,等时间间距变小,再做处理
                             // 数据增加超过最大值以上,异常,预警
                             if (tenval.doubleValue() >= new BigDecimal(maxValue).doubleValue()) {
@@ -890,6 +896,8 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                                     hval = hval.add(val2);
                                 }
                             }
+                            //八万煤气柜柜容,特殊运算不计入
+                            if ( itemid != "DL421P00770002" || !"DL421P00770002".equals(itemid)) {
                             // 记录异常数据
                             TRmCalpointExValue tce = new TRmCalpointExValue();
                             tce.setItemid(itemid);
@@ -901,6 +909,7 @@ public class TRmCalpointServiceImpl extends BaseServiceImpl<TRmCalpoint, String>
                             tce.setBz("十分钟数据变小,clock:" + clock1 + ",col:" + tenCol + ",table:" + tenTab);
                             tRmCalpointExValueService.add(tce);
                             socketMessages[1].append(itemid + ",");
+                            }
                         }
                     //} else {
                     //    // 大于等于0