فهرست منبع

接受数据过滤

wangli 4 سال پیش
والد
کامیت
2ca7a2a05c

+ 11 - 2
sms_water/src/main/java/com/huaxu/rabbitmq/ReceiveData.java

@@ -120,10 +120,19 @@ public class ReceiveData {
                 return ;
             }
             List<MonitorDataValueEntity> monitorDataValueEntities= monitorDataEntity.getDataValues();
+            Integer number = 0;
             for(MonitorDataValueEntity monitorDataValueEntity :monitorDataValueEntities){
-                monitorDataValueEntity.setDataValue(receiveData.getDouble(monitorDataValueEntity.getIdentifier()));
-                //单位问题处理
+                if(receiveData.containsKey(monitorDataValueEntity.getIdentifier())){
+                    number++;
+                    monitorDataValueEntity.setDataValue(receiveData.getDouble(monitorDataValueEntity.getIdentifier()));
+                    //单位问题处理
+                }
+            }
+            //没有匹配到属性,视为垃圾数据忽略
+            if(number == 0){
+                return ;
             }
+
             monitorDataEntity.setCollectDate(receiveDateTime);
             Calendar cal = Calendar.getInstance();
             cal.setTime(receiveDateTime);

+ 1 - 1
sms_water/src/main/resources/mapper/MonitorDataReportMapper.xml

@@ -964,7 +964,7 @@
         from sms_scene_type st
         left join sms_scene s on s.SCENE_TYPE_ID =st.id
         left join sms_device_parm dp on s.id=dp.PARENT_SCENE_ID
-        where  dp.`STATUS`=1 and st.SCENE_TYPE_NAME = #{sceneTypeName} and s.ENABLE_STATE = 1
+        where  dp.`STATUS`=1 and st.SCENE_TYPE_NAME = #{sceneTypeName} and s.ENABLE_STATE = 1  and s.PARENT_SCENE_ID = 0
         and dp.PARM_TYPE =#{parmType}   and dp.TENANT_ID=#{tenantId}
         <if test="userType!=null and userType!=-999 and userType!=-9999 and  programItems != null and programItems.size() > 0">
             <if test="permissonType == 5 or permissonType == 2">