feat: get_total_hour_now 修改
This commit is contained in:
parent
80b61c9f8b
commit
251e373d5b
|
|
@ -3,6 +3,7 @@ from apps.mtm.models import Shift, Mgroup
|
||||||
import datetime
|
import datetime
|
||||||
from django.utils.timezone import localtime
|
from django.utils.timezone import localtime
|
||||||
from django.db.models import Sum
|
from django.db.models import Sum
|
||||||
|
from django.core.cache import cache
|
||||||
|
|
||||||
def make_sflogs(mgroup: Mgroup, start_date: datetime.date, end_date: datetime.date):
|
def make_sflogs(mgroup: Mgroup, start_date: datetime.date, end_date: datetime.date):
|
||||||
for shift in Shift.objects.all():
|
for shift in Shift.objects.all():
|
||||||
|
|
@ -25,8 +26,20 @@ def make_sflogs(mgroup: Mgroup, start_date: datetime.date, end_date: datetime.da
|
||||||
def get_pcoal_val(year_s: int, month_s: int, day_s: int):
|
def get_pcoal_val(year_s: int, month_s: int, day_s: int):
|
||||||
"""
|
"""
|
||||||
获取煤粉热值
|
获取煤粉热值
|
||||||
|
只有回转窑需要录入煤粉热值
|
||||||
"""
|
"""
|
||||||
sflog = SfLog.objects.filter(end_time__year=year_s, end_time__month=month_s, end_time__day=day_s).exclude(pcoal_val=None).first()
|
key = f'pgoal_val_{year_s}_{month_s}_{day_s}'
|
||||||
if sflog:
|
pcoal_val = cache.get(key, None)
|
||||||
return sflog.coal_val
|
if pcoal_val is not None:
|
||||||
return None
|
return pcoal_val
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
qs = SfLog.objects.get(end_time__year=year_s, end_time__month=month_s, end_time__day=day_s,
|
||||||
|
mgroup__name='回转窑', shift__name='夜班')
|
||||||
|
if qs.pcoal_val is None:
|
||||||
|
qs.pcoal_val = 0
|
||||||
|
qs.save()
|
||||||
|
cache.set(f'pgoal_val_{year_s}_{month_s}_{day_s}', qs.pcoal_val)
|
||||||
|
return qs.pcoal_val
|
||||||
|
except:
|
||||||
|
return 0
|
||||||
|
|
|
||||||
|
|
@ -37,14 +37,16 @@ def get_total_hour_now(sflogId: str):
|
||||||
if localtime(sflog.end_time) <= now:
|
if localtime(sflog.end_time) <= now:
|
||||||
sflog.total_hour_now = 12
|
sflog.total_hour_now = 12
|
||||||
else:
|
else:
|
||||||
sflog.total_hour_now = (now - localtime(sflog.start_time).replace(tzinfo=None)).total_seconds()/3600
|
total_hour_now = (now-localtime(i.start_time).replace(tzinfo=None)).total_seconds()/3600
|
||||||
|
sflog.total_hour_now = total_hour_now if total_hour_now > 0 else 0
|
||||||
sflog.save()
|
sflog.save()
|
||||||
return sflog.total_hour_now
|
return sflog.total_hour_now
|
||||||
else:
|
else:
|
||||||
SfLog.objects.filter(end_time__lte=now).exclude(total_hour_now=12).update(total_hour_now=12)
|
SfLog.objects.filter(end_time__lte=now).exclude(total_hour_now=12).update(total_hour_now=12)
|
||||||
sf_qs = SfLog.objects.filter(end_time__gt=now)
|
sf_qs = SfLog.objects.filter(end_time__gt=now)
|
||||||
for i in sf_qs:
|
for i in sf_qs:
|
||||||
i.total_hour_now = (now-localtime(i.start_time).replace(tzinfo=None)).total_seconds()/3600
|
total_hour_now = (now-localtime(i.start_time).replace(tzinfo=None)).total_seconds()/3600
|
||||||
|
i.total_hour_now = total_hour_now if total_hour_now > 0 else 0
|
||||||
i.save()
|
i.save()
|
||||||
|
|
||||||
@shared_task(base=CustomTask)
|
@shared_task(base=CustomTask)
|
||||||
|
|
@ -52,7 +54,7 @@ def cal_shut_hour(stlogId: str):
|
||||||
"""
|
"""
|
||||||
计算停机记录对应的班停时长
|
计算停机记录对应的班停时长
|
||||||
"""
|
"""
|
||||||
from apps.enm.tasks import compute_enstat
|
from apps.enm.tasks import cal_enstat
|
||||||
if stlogId:
|
if stlogId:
|
||||||
stlogs = StLog.objects.filter(id=stlogId)
|
stlogs = StLog.objects.filter(id=stlogId)
|
||||||
else:
|
else:
|
||||||
|
|
@ -85,4 +87,8 @@ def cal_shut_hour(stlogId: str):
|
||||||
if ret.get('sum', 0):
|
if ret.get('sum', 0):
|
||||||
sflog.shut_hour = ret['sum']
|
sflog.shut_hour = ret['sum']
|
||||||
sflog.save()
|
sflog.save()
|
||||||
compute_enstat('sflog')
|
cal_enstat('sflog')
|
||||||
|
|
||||||
|
|
||||||
|
@shared_task(base=CustomTask)
|
||||||
|
def cal_enstat_when_pcoal_val_change():
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue