ticket detail serializer
This commit is contained in:
parent
1e6ffbdeb0
commit
83f6039499
|
@ -1,5 +1,5 @@
|
|||
from threading import Thread
|
||||
from apps.hrm.models import Employee
|
||||
from apps.hrm.models import Certificate, Employee
|
||||
from apps.hrm.services import HrmService
|
||||
from apps.wf.models import Ticket, Transition
|
||||
from apps.rpm.models import Rcertificate, Rpj, Rpjmember
|
||||
|
@ -16,8 +16,8 @@ def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict):
|
|||
|
||||
|
||||
def rpj_audit_end(ticket):
|
||||
if ticket.act_state == Ticket.TICKET_ACT_STATE_FINISH:
|
||||
rpj = Rpj.objects.get(ticket=ticket)
|
||||
if rpj.state == Rpj.RPJ_AUDIT:
|
||||
rpj.state = Rpj.RPJ_ENTER
|
||||
rpj.save()
|
||||
# 更新入厂项目人员库
|
||||
|
@ -35,10 +35,14 @@ def rpj_audit_end(ticket):
|
|||
ep.type = 'remployee'
|
||||
ep.save()
|
||||
rep.employee = ep
|
||||
rep.rpj = rpj # 更新当前入厂项目
|
||||
rep.save()
|
||||
# 更新入厂项目人员证书库
|
||||
for i in Rcertificate.objects.filter(rpj=rpj):
|
||||
pass
|
||||
# 同步至大华人员库并下发人脸
|
||||
Thread(target=HrmService.sync_dahua_employee, args=(ep, '', rpj.come_time, rpj.leave_time)).start()
|
||||
# 更新入厂项目人员证书库
|
||||
for i in Rcertificate.objects.filter(rpj=rpj):
|
||||
Certificate.objects.get_or_create(
|
||||
|
||||
)
|
||||
|
||||
# 发送通知?
|
||||
|
|
|
@ -8,7 +8,7 @@ from django.db import transaction
|
|||
from apps.third.clients import dhClient
|
||||
from apps.third.tapis import dhapis
|
||||
from apps.system.serializers import UserSimpleSerializer
|
||||
from apps.wf.serializers import TicketSimpleSerializer
|
||||
from apps.wf.serializers import TicketSerializer
|
||||
|
||||
|
||||
class VisitCreateUpdateSerializer(CustomModelSerializer):
|
||||
|
@ -20,7 +20,7 @@ class VisitCreateUpdateSerializer(CustomModelSerializer):
|
|||
|
||||
class VisitSerializer(CustomModelSerializer):
|
||||
receptionist_ = UserSimpleSerializer(source='receptionist', read_only=True)
|
||||
ticket_ = TicketSimpleSerializer(source='ticket', read_only=True)
|
||||
ticket_ = TicketSerializer(source='ticket', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Visit
|
||||
|
@ -86,6 +86,7 @@ class VisitorRegisterSerializer(serializers.Serializer):
|
|||
class VisitDetailSerializer(CustomModelSerializer):
|
||||
receptionist_ = UserSimpleSerializer(source='receptionist', read_only=True)
|
||||
visitors_ = serializers.SerializerMethodField()
|
||||
ticket_ = TicketSerializer(source='ticket', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Visit
|
||||
|
|
|
@ -22,6 +22,7 @@ class VisitViewSet(CustomModelViewSet):
|
|||
serializer_class = VisitSerializer
|
||||
retrieve_serializer_class = VisitDetailSerializer
|
||||
filterset_fields = ['state']
|
||||
select_related_fields = ['ticket', 'receptionist', 'ticket__workflow', 'ticket__state']
|
||||
|
||||
def get_queryset(self):
|
||||
user = self.request.user
|
||||
|
|
Loading…
Reference in New Issue