fix: mpointcache set时更新设备状态的优化

This commit is contained in:
caoqianming 2024-05-08 09:11:42 +08:00
parent 8321a3272e
commit 895b8c1810
1 changed files with 10 additions and 4 deletions

View File

@ -157,9 +157,13 @@ class MpointCache:
if reason == -2: if reason == -2:
is_rep_ep_running_state = self.data.get("is_rep_ep_running_state", False) is_rep_ep_running_state = self.data.get("is_rep_ep_running_state", False)
ep_monitored_id = self.data.get("ep_monitored", None) ep_monitored_id = self.data.get("ep_monitored", None)
ep_belong_id = self.data.get("ep_belong")
if is_rep_ep_running_state and ep_monitored_id: if is_rep_ep_running_state and ep_monitored_id:
set_eq_rs(ep_monitored_id, timex, Equipment.OFFLINE) set_eq_rs(ep_monitored_id, timex, Equipment.OFFLINE)
if ep_belong_id:
if is_rep_ep_running_state is False or ep_belong_id != ep_monitored_id:
set_eq_rs(ep_belong_id, timex, Equipment.OFFLINE)
def set(self, last_timex: datetime, last_val): def set(self, last_timex: datetime, last_val):
current_cache_val = self.data current_cache_val = self.data
cache_key = self.cache_key cache_key = self.cache_key
@ -188,11 +192,13 @@ class MpointCache:
# 下面开始更新设备信号 # 下面开始更新设备信号
ep_belong_id = current_cache_val.get("ep_belong") ep_belong_id = current_cache_val.get("ep_belong")
ep_monitored_id = current_cache_val.get("ep_monitored") ep_monitored_id = current_cache_val.get("ep_monitored")
# 更新设备状态值
if ep_belong_id:
set_eq_rs(ep_belong_id, last_timex, Equipment.RUNING)
if ep_monitored_id and mpoint_is_rep_ep_running_state: if ep_monitored_id and mpoint_is_rep_ep_running_state:
set_eq_rs(ep_monitored_id, last_timex, last_mrs) set_eq_rs(ep_monitored_id, last_timex, last_mrs)
# 更新设备状态值
if ep_belong_id:
if mpoint_is_rep_ep_running_state is False or ep_belong_id != ep_monitored_id:
set_eq_rs(ep_belong_id, last_timex, Equipment.RUNING)
mf_code = current_cache_val.get('mpoint_affect') mf_code = current_cache_val.get('mpoint_affect')
if mf_code: # 如果该测点影响到另一个测点,要同步更新另一个测点 if mf_code: # 如果该测点影响到另一个测点,要同步更新另一个测点