ticket detail serializer
This commit is contained in:
parent
1e6ffbdeb0
commit
83f6039499
|
|
@ -1,5 +1,5 @@
|
||||||
from threading import Thread
|
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.hrm.services import HrmService
|
||||||
from apps.wf.models import Ticket, Transition
|
from apps.wf.models import Ticket, Transition
|
||||||
from apps.rpm.models import Rcertificate, Rpj, Rpjmember
|
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):
|
def rpj_audit_end(ticket):
|
||||||
|
if ticket.act_state == Ticket.TICKET_ACT_STATE_FINISH:
|
||||||
rpj = Rpj.objects.get(ticket=ticket)
|
rpj = Rpj.objects.get(ticket=ticket)
|
||||||
if rpj.state == Rpj.RPJ_AUDIT:
|
|
||||||
rpj.state = Rpj.RPJ_ENTER
|
rpj.state = Rpj.RPJ_ENTER
|
||||||
rpj.save()
|
rpj.save()
|
||||||
# 更新入厂项目人员库
|
# 更新入厂项目人员库
|
||||||
|
|
@ -35,10 +35,14 @@ def rpj_audit_end(ticket):
|
||||||
ep.type = 'remployee'
|
ep.type = 'remployee'
|
||||||
ep.save()
|
ep.save()
|
||||||
rep.employee = ep
|
rep.employee = ep
|
||||||
|
rep.rpj = rpj # 更新当前入厂项目
|
||||||
rep.save()
|
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()
|
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.clients import dhClient
|
||||||
from apps.third.tapis import dhapis
|
from apps.third.tapis import dhapis
|
||||||
from apps.system.serializers import UserSimpleSerializer
|
from apps.system.serializers import UserSimpleSerializer
|
||||||
from apps.wf.serializers import TicketSimpleSerializer
|
from apps.wf.serializers import TicketSerializer
|
||||||
|
|
||||||
|
|
||||||
class VisitCreateUpdateSerializer(CustomModelSerializer):
|
class VisitCreateUpdateSerializer(CustomModelSerializer):
|
||||||
|
|
@ -20,7 +20,7 @@ class VisitCreateUpdateSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
class VisitSerializer(CustomModelSerializer):
|
class VisitSerializer(CustomModelSerializer):
|
||||||
receptionist_ = UserSimpleSerializer(source='receptionist', read_only=True)
|
receptionist_ = UserSimpleSerializer(source='receptionist', read_only=True)
|
||||||
ticket_ = TicketSimpleSerializer(source='ticket', read_only=True)
|
ticket_ = TicketSerializer(source='ticket', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Visit
|
model = Visit
|
||||||
|
|
@ -86,6 +86,7 @@ class VisitorRegisterSerializer(serializers.Serializer):
|
||||||
class VisitDetailSerializer(CustomModelSerializer):
|
class VisitDetailSerializer(CustomModelSerializer):
|
||||||
receptionist_ = UserSimpleSerializer(source='receptionist', read_only=True)
|
receptionist_ = UserSimpleSerializer(source='receptionist', read_only=True)
|
||||||
visitors_ = serializers.SerializerMethodField()
|
visitors_ = serializers.SerializerMethodField()
|
||||||
|
ticket_ = TicketSerializer(source='ticket', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Visit
|
model = Visit
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ class VisitViewSet(CustomModelViewSet):
|
||||||
serializer_class = VisitSerializer
|
serializer_class = VisitSerializer
|
||||||
retrieve_serializer_class = VisitDetailSerializer
|
retrieve_serializer_class = VisitDetailSerializer
|
||||||
filterset_fields = ['state']
|
filterset_fields = ['state']
|
||||||
|
select_related_fields = ['ticket', 'receptionist', 'ticket__workflow', 'ticket__state']
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue