diff --git a/hb_server/apps/sam/models.py b/hb_server/apps/sam/models.py index 1f47f5e..583fe87 100644 --- a/hb_server/apps/sam/models.py +++ b/hb_server/apps/sam/models.py @@ -5,6 +5,7 @@ from django.db.models.base import Model import django.utils.timezone as timezone from django.db.models.query import QuerySet + from utils.model import SoftModel, BaseModel from apps.mtm.models import Material diff --git a/hb_server/apps/wf/services.py b/hb_server/apps/wf/services.py index 7fd7026..d78d8f8 100644 --- a/hb_server/apps/wf/services.py +++ b/hb_server/apps/wf/services.py @@ -104,7 +104,7 @@ class WfService(object): expression = i['expression'].format(**ticket_all_value) import datetime, time # 用于支持条件表达式中对时间的操作 if eval(expression): - destination_state = State.objects.get(i['expression'].get('target_state')) + destination_state = State.objects.get(pk=i['target_state']) return destination_state @classmethod diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py index cd33e99..eb2eaab 100644 --- a/hb_server/apps/wf/views.py +++ b/hb_server/apps/wf/views.py @@ -276,6 +276,13 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin return Response() else: raise APIException('无需接单') + + @action(methods=['post'], detail=True, perms_map={'post':'*'}) + def retreat(self, request, pk=None): + """ + 撤回工单,允许创建人在指定状态撤回工单至初始状态,状态设置中开启允许撤回 + """ + pass class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet): """