From dddab37c6350f1d700fcdb6857d3ba1d8ddeaa4f Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 30 Apr 2024 12:59:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20get=5Fsflog=20=E5=8F=96=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E4=B8=8Ehappen=5Ftime=E5=AF=B9=E6=AF=94?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/enm/tasks.py | 6 +++--- apps/wpm/services.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/enm/tasks.py b/apps/enm/tasks.py index a36015c7..b897e4c4 100644 --- a/apps/enm/tasks.py +++ b/apps/enm/tasks.py @@ -105,9 +105,9 @@ def cal_mpointstat_hour(mpointId: str, year: int, month: int, day: int, hour: in """ mpoint = Mpoint.objects.get(id=mpointId) mytz = tz.gettz(settings.TIME_ZONE) - dt = datetime.datetime(year=year, month=month, day=day, hour=hour, minute=0, second=0, tzinfo=mytz) - dt_hour_p= dt - datetime.timedelta(hours=1) - dt_hour_n= dt + datetime.timedelta(hours=1) + dt = datetime.datetime(year=year, month=month, day=day, hour=hour, minute=0, second=0, tzinfo=mytz) # 整点时间 + dt_hour_p= dt - datetime.timedelta(hours=1) # 上个整点 + dt_hour_n= dt + datetime.timedelta(hours=1) # 下个整点 if mpoint.material and mpoint.val_type in ['float', 'int']: # 如果计量的是物料 # 累计量 有的会清零,需要额外处理(还未做) params = {"mpoint": mpoint, "type": "hour"} params["year"], params["month"], params["day"], params["hour"] = year, month, day, hour diff --git a/apps/wpm/services.py b/apps/wpm/services.py index bd2c3456..f48c6adf 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -18,12 +18,12 @@ from .models import SfLog, SfLogExp, WMaterial, Mlog, Mlogb, Handover def get_sflog(mgroup: Mgroup, happen_time: datetime): sflog = SfLog.objects.filter( - start_time__lt=happen_time, end_time__gte=happen_time, mgroup=mgroup).first() + start_time__lte=happen_time, end_time__gt=happen_time, mgroup=mgroup).order_by('-start_time').first() if sflog is None: # 需要创建值班记录 make_sflogs(mgroup=mgroup, start_date=( happen_time-datetime.timedelta(days=1)).date(), end_date=happen_time.date()) sflog = SfLog.objects.filter( - start_time__lt=happen_time, end_time__gte=happen_time, mgroup=mgroup).order_by('-start_time').first() + start_time__lte=happen_time, end_time__gt=happen_time, mgroup=mgroup).order_by('-start_time').first() return sflog