From 128dc2a7e3dee63839d8a13ee7f8cd385e4ff74d Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 15 Dec 2023 09:05:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20utask=20mtask=E7=8A=B6=E6=80=81submit?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/pm/filters.py | 24 ++++++++++++++---------- apps/pm/models.py | 8 ++++---- apps/pm/services.py | 2 +- apps/wpm/services.py | 4 ++-- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/apps/pm/filters.py b/apps/pm/filters.py index 8ce6e260..9a0bd81a 100644 --- a/apps/pm/filters.py +++ b/apps/pm/filters.py @@ -38,7 +38,7 @@ class UtaskFilter(filters.FilterSet): class MtaskFilter(filters.FilterSet): - tag = filters.CharFilter(method='filter_tag') + tag = filters.CharFilter(method='filter_tag', label='done, not_done') class Meta: model = Mtask @@ -60,13 +60,17 @@ class MtaskFilter(filters.FilterSet): } def filter_tag(self, queryset, name, value): - now = timezone.now() - day7_after = now + timedelta(days=7) - if value == 'near_done': - queryset = queryset.filter(count_ok__lt=F('count'), - end_date__lte=day7_after.date(), - end_date__gte=now.date()) - elif value == 'out_done': - queryset = queryset.filter(count_ok__lt=F('count'), - end_date__lt=now.date()) + # now = timezone.now() + # day7_after = now + timedelta(days=7) + # if value == 'near_done': + # queryset = queryset.filter(count_ok__lt=F('count'), + # end_date__lte=day7_after.date(), + # end_date__gte=now.date()) + # elif value == 'out_done': + # queryset = queryset.filter(count_ok__lt=F('count'), + # end_date__lt=now.date()) + if value == 'done': + queryset = queryset.filter(count_ok__gte=F('count')) + elif value == 'not_done': + queryset = queryset.filter(count_ok__lt=F('count')) return queryset diff --git a/apps/pm/models.py b/apps/pm/models.py index 1973ff3d..b518284a 100644 --- a/apps/pm/models.py +++ b/apps/pm/models.py @@ -19,14 +19,14 @@ class Utask(CommonBDModel): UTASK_ASSGINED = 20 UTASK_WORKING = 30 UTASK_STOP = 34 - UTASK_DONE = 40 + UTASK_SUBMIT = 40 UTASK_STATES = ( (UTASK_CREATED, '创建中'), (UTASK_DECOMPOSE, '已分解'), (UTASK_ASSGINED, '已下达'), (UTASK_WORKING, '生产中'), (UTASK_STOP, '已停止'), - (UTASK_DONE, '已提交') + (UTASK_SUBMIT, '已提交') ) type = models.CharField('任务类型', max_length=10, help_text=str(TASK_TYPE), default='mass') @@ -55,12 +55,12 @@ class Mtask(CommonADModel): MTASK_CREATED = 10 MTASK_ASSGINED = 20 MTASK_STOP = 34 - MTASK_DONE = 40 + MTASK_SUBMIT = 40 MTASK_STATES = ( (MTASK_CREATED, '创建中'), (MTASK_ASSGINED, '已下达'), (MTASK_STOP, '已停止'), - (MTASK_DONE, '已提交') + (MTASK_SUBMIT, '已提交') ) type = models.CharField('任务类型', max_length=10, help_text=str(TASK_TYPE), default='mass') diff --git a/apps/pm/services.py b/apps/pm/services.py index 7f73e07c..16a6af8e 100644 --- a/apps/pm/services.py +++ b/apps/pm/services.py @@ -267,7 +267,7 @@ class PmService: for mlog in mlogs: mlog_submit(mlog, user, now) update_mtask(mtask) - mtask.state = Mtask.MTASK_DONE + mtask.state = Mtask.MTASK_SUBMIT mtask.submit_time = now mtask.submit_user = user mtask.save() diff --git a/apps/wpm/services.py b/apps/wpm/services.py index a3b26f63..b5c4f462 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -202,8 +202,8 @@ def update_mtask(mtask: Mtask): utask.count_notok = res2['sum_count_notok'] if res2['sum_count_notok'] else 0 if utask.count_ok > 0 and utask.state == Utask.UTASK_ASSGINED: utask.state = Utask.UTASK_WORKING - if Mtask.objects.filter(utask=utask).exclude(state=Mtask.MTASK_DONE).count() == 0: - utask.state = Utask.UTASK_DONE + if Mtask.objects.filter(utask=utask).exclude(state=Mtask.MTASK_SUBMIT).count() == 0: + utask.state = Utask.UTASK_SUBMIT utask.save()