From cd3a0393ad5261dabb45c309fed529f367edb799 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 3 Apr 2023 13:19:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=9F=E6=88=90=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E6=B5=81=E6=B0=B4=E5=8F=B7bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wf/services.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/wf/services.py b/apps/wf/services.py index f3b3754a..0864efdc 100755 --- a/apps/wf/services.py +++ b/apps/wf/services.py @@ -6,7 +6,7 @@ from apps.system.models import Dept, User from apps.wf.models import CustomField, State, Ticket, TicketFlow, Transition, Workflow from rest_framework.exceptions import APIException, PermissionDenied, ValidationError from django.utils import timezone -from datetime import timedelta +from datetime import timedelta, datetime import random from apps.utils.queryset import get_parent_queryset from apps.wf.tasks import run_task @@ -97,15 +97,15 @@ class WfService(object): return Transition.objects.filter(**kwargs).all() @classmethod - def get_ticket_sn(cls, workflow: Workflow): + def get_ticket_sn(cls, workflow: Workflow, now: str = ''): """ 生成工单流水号 """ - now = timezone.now() + if now == '': + now = datetime.now() today = str(now)[:10]+' 00:00:00' - next_day = str(now+timedelta(days=1))[:10]+' 00:00:00' - ticket_day_count_new = Ticket.objects.filter( - create_time__gte=today, create_time__lte=next_day, workflow=workflow).count()+1 + ticket_day_count_new = Ticket.objects.get_queryset(all=True).filter( + create_time__gte=today, create_time__lte=now, workflow=workflow).count()+1 return '%s_%04d%02d%02d%04d' % (workflow.sn_prefix, now.year, now.month, now.day, ticket_day_count_new) @classmethod