diff --git a/apps/wpm/services.py b/apps/wpm/services.py index b407ac82..29343f11 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -2,19 +2,20 @@ from apps.wpm.models import SfLog from apps.mtm.models import Shift, Mgroup import datetime -def make_sflogs(mgroup: Mgroup, shift: Shift, start_date: datetime.date, end_date: datetime.date): - start_time_o = shift.start_time_o - end_time_o = shift.end_time_o - current_date = start_date - while current_date <= end_date: - start_time = datetime.datetime.combine(current_date, start_time_o) - end_time = datetime.datetime.combine(current_date, end_time_o) - if start_time > end_time: - start_time -= datetime.timedelta(days=1) - SfLog.objects.get_or_create(mgroup=mgroup, shift=shift, start_time=start_time, defaults={ - "mgroup": mgroup, - "shift": shift, - "start_time": start_time, - "end_time": end_time, - }) - current_date = current_date + datetime.timedelta(days=1) \ No newline at end of file +def make_sflogs(mgroup: Mgroup, start_date: datetime.date, end_date: datetime.date): + for shift in Shift.objects.all(): + start_time_o = shift.start_time_o + end_time_o = shift.end_time_o + current_date = start_date + while current_date <= end_date: + start_time = datetime.datetime.combine(current_date, start_time_o) + end_time = datetime.datetime.combine(current_date, end_time_o) + if start_time > end_time: + start_time -= datetime.timedelta(days=1) + SfLog.objects.get_or_create(mgroup=mgroup, shift=shift, start_time=start_time, defaults={ + "mgroup": mgroup, + "shift": shift, + "start_time": start_time, + "end_time": end_time, + }) + current_date = current_date + datetime.timedelta(days=1) \ No newline at end of file diff --git a/apps/wpm/tasks.py b/apps/wpm/tasks.py index 40e3f0aa..9377bc24 100644 --- a/apps/wpm/tasks.py +++ b/apps/wpm/tasks.py @@ -6,7 +6,7 @@ from apps.utils.sql import DbConnection from server.settings import get_sysconfig from django.core.cache import cache from apps.wpm.models import SfLog -from apps.mtm.models import Mgroup, Shift +from apps.mtm.models import Mgroup import datetime from django.db.models import Sum from apps.wpm.services import make_sflogs @@ -20,7 +20,5 @@ def make_sflogs_simple(days=2): start_date = datetime.datetime.today() end_date = start_date + datetime.timedelta(days=days) mgroups = Mgroup.objects.filter(cate='section').all() - shifts = Shift.objects.all() for mgroup in mgroups: - for shift in shifts: - make_sflogs(mgroup, shift, start_date, end_date) \ No newline at end of file + make_sflogs(mgroup, start_date, end_date) \ No newline at end of file