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