From 592e34c07e6ec88d170093693475da6bca911fd8 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 20 Aug 2024 08:56:08 +0800 Subject: [PATCH] =?UTF-8?q?refector:=20mgroup=5Fon=5Fchange=E6=97=B6?= =?UTF-8?q?=E5=88=9B=E5=BB=BAstlog=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mtm/services.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/mtm/services.py b/apps/mtm/services.py index 3813a6ad..73f7e213 100644 --- a/apps/mtm/services.py +++ b/apps/mtm/services.py @@ -127,9 +127,16 @@ def mgroup_run_change(mgroup: Mgroup, new_run: bool, last_timex: datetime): last_stlog.save() cal_exp_duration_sec(last_stlog.id) # 触发时间分配 elif last_stlog.end_time and new_run is False and last_timex > last_stlog.end_time: # 从开到停 - has_same_stlog =StLog.objects.filter(mgroup=mgroup, is_shutdown=True, start_time=last_timex).exists() - if not has_same_stlog: - StLog.objects.create(title="停机", is_shutdown=True, mgroup=mgroup, end_time=None, start_time=last_timex, sflog=get_sflog(mgroup, last_timex)) + StLog.objects.get_or_create( + mgroup=mgroup, + is_shutdown=True, + start_time=last_timex, + defaults={ + 'title': '停机', + 'end_time': None, + 'sflog': get_sflog(mgroup, last_timex) + } + ) elif new_run is False: StLog.objects.create(title="停机", is_shutdown=True, mgroup=mgroup, end_time=None, start_time=last_timex, sflog=get_sflog(mgroup, last_timex)) mgroup.is_running = False