feat: shutdown_or_startup 优化
This commit is contained in:
parent
4fa33a7252
commit
a0955c401f
|
|
@ -81,18 +81,17 @@ def shutdown_or_startup(mplog: MpLog):
|
||||||
from apps.wpm.tasks import cal_shut_hour
|
from apps.wpm.tasks import cal_shut_hour
|
||||||
mpoint = mplog.mpoint
|
mpoint = mplog.mpoint
|
||||||
mgroup = mpoint.mgroup
|
mgroup = mpoint.mgroup
|
||||||
now = timezone.now()
|
|
||||||
if mplog.tag_val == 1 and mgroup.is_runing is False:
|
if mplog.tag_val == 1 and mgroup.is_runing is False:
|
||||||
# 从停到开
|
# 从停到开
|
||||||
stlog = StLog.objects.filter(mgroup=mgroup).order_by('start_time').last()
|
stlog = StLog.objects.filter(mgroup=mgroup).order_by('start_time').last()
|
||||||
stlog.end_time = now
|
stlog.end_time = mplog.tag_update
|
||||||
stlog.save()
|
stlog.save()
|
||||||
mgroup.is_runing = True
|
mgroup.is_runing = True
|
||||||
mgroup.save()
|
mgroup.save()
|
||||||
cal_shut_hour(stlog.id) # 触发停机时间分配
|
cal_shut_hour(stlog.id) # 触发停机时间分配
|
||||||
elif mplog.tag_val == 0 and mgroup.is_runing is True:
|
elif mplog.tag_val == 0 and mgroup.is_runing is True:
|
||||||
# 从开到停
|
# 从开到停
|
||||||
StLog.objects.create(mgroup=mgroup, start_time=now)
|
StLog.objects.get_or_create(mgroup=mgroup, end_time=None, defaults={'mgroup': mgroup, 'start_time': mplog.tag_update})
|
||||||
mgroup.is_runing = False
|
mgroup.is_runing = False
|
||||||
mgroup.save()
|
mgroup.save()
|
||||||
|
|
||||||
|
|
@ -66,6 +66,8 @@ def cal_shut_hour(stlogId: str):
|
||||||
for stlog in stlogs:
|
for stlog in stlogs:
|
||||||
now = datetime.datetime.now()
|
now = datetime.datetime.now()
|
||||||
st_start = stlog.start_time
|
st_start = stlog.start_time
|
||||||
|
if st_start >= now:
|
||||||
|
break
|
||||||
if stlog.end_time is None: # 说明停机还未结束,此时也需要计算duration
|
if stlog.end_time is None: # 说明停机还未结束,此时也需要计算duration
|
||||||
st_end = now
|
st_end = now
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue