子工序详情增加设备信息

This commit is contained in:
caoqianming 2021-08-31 16:47:36 +08:00
parent 21e6f1e3de
commit 9d294799f1
3 changed files with 21 additions and 10 deletions

View File

@ -3,7 +3,7 @@ from rest_framework.viewsets import ModelViewSet, GenericViewSet
from rest_framework.mixins import CreateModelMixin, ListModelMixin, UpdateModelMixin, RetrieveModelMixin, DestroyModelMixin from rest_framework.mixins import CreateModelMixin, ListModelMixin, UpdateModelMixin, RetrieveModelMixin, DestroyModelMixin
from apps.mtm.models import InputMaterial, Material, OutputMaterial, Process, ProductProcess, Step, UsedStep from apps.mtm.models import InputMaterial, Material, OutputMaterial, Process, ProductProcess, Step, UsedStep
from apps.mtm.serializers import InputMaterialListSerializer, InputMaterialSerializer, InputMaterialUpdateSerializer, MaterialDetailSerializer, MaterialSerializer, MaterialSimpleSerializer, OutputMaterialListSerializer, OutputMaterialSerializer, OutputMaterialUpdateSerializer, ProductProcessListSerializer, ProductProcessUpdateSerializer, ProcessSerializer, StepSerializer, UsedStepCreateSerializer, UsedStepListSerializer from apps.mtm.serializers import InputMaterialListSerializer, InputMaterialSerializer, InputMaterialUpdateSerializer, MaterialDetailSerializer, MaterialSerializer, MaterialSimpleSerializer, OutputMaterialListSerializer, OutputMaterialSerializer, OutputMaterialUpdateSerializer, ProductProcessListSerializer, ProductProcessUpdateSerializer, ProcessSerializer, StepDetailSerializer, StepSerializer, UsedStepCreateSerializer, UsedStepListSerializer
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
@ -73,6 +73,10 @@ class StepViewSet(CreateUpdateModelAMixin, CreateModelMixin, UpdateModelMixin, R
filterset_fields = ['process'] filterset_fields = ['process']
ordering = ['sort'] ordering = ['sort']
def get_serializer_class(self):
if self.action == 'retrieve':
return StepDetailSerializer
return StepSerializer
# class ProductProcessViewSet(PageOrNot, CreateModelMixin, UpdateModelMixin, ListModelMixin, DestroyModelMixin, GenericViewSet): # class ProductProcessViewSet(PageOrNot, CreateModelMixin, UpdateModelMixin, ListModelMixin, DestroyModelMixin, GenericViewSet):
# """ # """

View File

@ -162,15 +162,17 @@ class WfService(object):
state = ticket.state state = ticket.state
if participant_type == State.PARTICIPANT_TYPE_PERSONAL: if participant_type == State.PARTICIPANT_TYPE_PERSONAL:
if user.id != participant: if user.id != participant:
return dict(permission=False, need_accept=False, in_add_node=False, msg="非当前处理人") return dict(permission=False, msg="非当前处理人")
elif participant_type in [State.PARTICIPANT_TYPE_MULTI, State.PARTICIPANT_TYPE_DEPT, State.PARTICIPANT_TYPE_ROLE]: elif participant_type in [State.PARTICIPANT_TYPE_MULTI, State.PARTICIPANT_TYPE_DEPT, State.PARTICIPANT_TYPE_ROLE]:
if user.id not in participant: if user.id not in participant:
return dict(permission=False, need_accept=False, in_add_node=False, msg="非当前处理人") return dict(permission=False, msg="非当前处理人")
current_participant_count = len(participant.split(',')) current_participant_count = len(participant.split(','))
need_accept = False
if current_participant_count >1 and state.distribute_type == State.STATE_DISTRIBUTE_TYPE_ACTIVE: if current_participant_count >1 and state.distribute_type == State.STATE_DISTRIBUTE_TYPE_ACTIVE:
# 如果是主动接单 return dict(permission=False, msg="需要先接单再处理")
need_accept = True if ticket.in_add_node:
return dict(permission=False, msg="工单当前处于加签中,请加签完成后操作")
return dict(permission=True, msg="")

View File

@ -1,8 +1,9 @@
from django.core.exceptions import AppRegistryNotReady
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework import serializers from rest_framework import serializers
from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin, UpdateModelMixin from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin, UpdateModelMixin
from apps.wf.serializers import CustomFieldSerializer, StateSerializer, TicketCreateSerializer, TicketSerializer, TransitionSerializer, WorkflowSerializer from apps.wf.serializers import CustomFieldSerializer, StateSerializer, TicketCreateSerializer, TicketSerializer, TransitionSerializer, WorkflowSerializer
from django.shortcuts import render from django.shortcuts import get_object_or_404, render
from rest_framework.viewsets import GenericViewSet, ModelViewSet from rest_framework.viewsets import GenericViewSet, ModelViewSet
from rest_framework.decorators import action, api_view from rest_framework.decorators import action, api_view
from apps.wf.models import CustomField, Ticket, Workflow, State, Transition, TicketFlow from apps.wf.models import CustomField, Ticket, Workflow, State, Transition, TicketFlow
@ -149,13 +150,17 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
return Response(TicketSerializer(instance=ticket).data) return Response(TicketSerializer(instance=ticket).data)
@action(methods=['post'], detail=True, perms_map={'get':'*'})
def patch(self, request, *args, **kwargs): def handle(self, request, pk=None):
""" """
处理工单 处理工单
""" """
try:
ticket = Ticket.objects.get(pk=pk)
except:
raise APIException('工单不存在')
data = request.data data = request.data
pass result = WfService.ticket_handle_permission_check()
@action(methods=['get'], detail=True, perms_map={'get':'*'}) @action(methods=['get'], detail=True, perms_map={'get':'*'})
def flowsteps(self, request, pk=None): def flowsteps(self, request, pk=None):