wei
2021-02-26 87e614af0fa31d7fd632136d95c0c7e584c28477
HDL_ON/UI/UI0-Stan/Logic/HdlDeviceStatuPushLogic.cs
@@ -44,13 +44,25 @@
            if (localDevice != null)
            {
                foreach (var attr in updateData)
                {
                    var localAttr = localDevice.status.Find((obj) => obj.key == attr.key);
                    if (localAttr != null)
                    {
                        //更改属性值
                        localAttr.value = attr.value;
                    }
                {
                    var localAttr2 = localDevice.attributes.Find((obj) => obj.key == attr.key);
                    if (localAttr2 == null)
                    {
                        //本身它就没有这个属性,则不处理
                        continue;
                    }
                    //更改属性值
                    localAttr2.curValue = attr.value;
                    var localAttr = localDevice.status.Find((obj) => obj.key == attr.key);
                    if (localAttr == null)
                    {
                        //status是当前设备上报过的属性才会存在,也就是它的个数有可能和attributes不一致
                        localAttr = new AttributesStatus() { key = attr.key, value = attr.value };
                        localDevice.status.Add(localAttr);
                    }
                    //更改属性值
                    localAttr.value = attr.value;
                }
                //全部界面推送
                HdlFormLogic.Current.DeviceStatuPush(localDevice);