fix: 工单流水号bug

This commit is contained in:
caoqianming 2023-04-03 14:53:40 +08:00
parent 4c4e637cc3
commit 96c12108e0
3 changed files with 27 additions and 6 deletions

View File

@ -1,11 +1,12 @@
from django.urls import path, include
from apps.develop.views import BackupDatabase, BackupMedia, ReloadClientGit, ReloadServerGit, ReloadServerOnly, TestViewSet
from apps.develop.views import BackupDatabase, BackupMedia, ReloadClientGit, ReloadServerGit, ReloadServerOnly, TestViewSet, CorrectViewSet
from rest_framework.routers import DefaultRouter
API_BASE_URL = 'api/develop/'
HTML_BASE_URL = 'develop/'
router = DefaultRouter()
router.register('test', TestViewSet, basename='api_test')
router.register('correct', CorrectViewSet, basename='correct')
urlpatterns = [
path(API_BASE_URL + 'reload_server_git/', ReloadServerGit.as_view()),

View File

@ -35,8 +35,7 @@ from apps.utils.decorators import auto_log, idempotent
class ReloadServerGit(APIView):
authentication_classes = []
permission_classes = []
permission_classes = [IsAdminUser]
def post(self, request):
"""
@ -55,8 +54,7 @@ class ReloadServerGit(APIView):
class ReloadClientGit(APIView):
authentication_classes = []
permission_classes = []
permission_classes = [IsAdminUser]
def post(self, request):
"""
@ -119,6 +117,28 @@ class BackupMedia(APIView):
return Response()
class CorrectViewSet(CustomGenericViewSet):
permission_classes = [IsAdminUser]
@action(methods=['post'], detail=False, serializer_class=Serializer)
def ticket_sn(self, request, pk=None):
"""矫正工单流水号
矫正工单流水号
"""
from apps.wf.models import Ticket
from apps.wf.services import WfService
from django.utils.timezone import localtime
from apps.opm.models import Opl
for i in Ticket.objects.get_queryset(all=True).order_by('create_time'):
sn = WfService.get_ticket_sn(i.workflow, localtime(i.create_time))
Ticket.objects.filter(id=i.id).update(sn=sn)
if hasattr(i, 'opl_ticket'):
opl = getattr(i, 'opl_ticket')
Opl.objects.filter(id=opl.id).update(number=sn)
return Response()
class TestViewSet(CustomGenericViewSet):
authentication_classes = ()
permission_classes = ()

View File

@ -105,7 +105,7 @@ class WfService(object):
now = datetime.now()
today = str(now)[:10]+' 00:00:00'
ticket_day_count_new = Ticket.objects.get_queryset(all=True).filter(
create_time__gte=today, create_time__lte=now, workflow=workflow).count()+1
create_time__gte=today, create_time__lte=now, workflow=workflow).count()
return '%s_%04d%02d%02d%04d' % (workflow.sn_prefix, now.year, now.month, now.day, ticket_day_count_new)
@classmethod