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,29 +16,33 @@ def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict):
|
|||
|
||||
|
||||
def rpj_audit_end(ticket):
|
||||
rpj = Rpj.objects.get(ticket=ticket)
|
||||
if rpj.state == Rpj.RPJ_AUDIT:
|
||||
if ticket.act_state == Ticket.TICKET_ACT_STATE_FINISH:
|
||||
rpj = Rpj.objects.get(ticket=ticket)
|
||||
rpj.state = Rpj.RPJ_ENTER
|
||||
rpj.save()
|
||||
# 更新入厂项目人员库
|
||||
for i in Rpjmember.objects.filter(rpj=rpj):
|
||||
rep = i.remployee
|
||||
ep = Employee.objects.filter(id_number=rep.id_number).first()
|
||||
if ep:
|
||||
pass
|
||||
else:
|
||||
ep = Employee()
|
||||
ep.id_number = rep.id_number
|
||||
ep.name = rep.name
|
||||
ep.phone = rep.phone
|
||||
ep.photo = rep.photo
|
||||
ep.type = 'remployee'
|
||||
ep.save()
|
||||
rep.employee = ep
|
||||
rep.save()
|
||||
# 更新入厂项目人员库
|
||||
for i in Rpjmember.objects.filter(rpj=rpj):
|
||||
rep = i.remployee
|
||||
ep = Employee.objects.filter(id_number=rep.id_number).first()
|
||||
if ep:
|
||||
pass
|
||||
else:
|
||||
ep = Employee()
|
||||
ep.id_number = rep.id_number
|
||||
ep.name = rep.name
|
||||
ep.phone = rep.phone
|
||||
ep.photo = rep.photo
|
||||
ep.type = 'remployee'
|
||||
ep.save()
|
||||
rep.employee = ep
|
||||
rep.rpj = rpj # 更新当前入厂项目
|
||||
rep.save()
|
||||
# 同步至大华人员库并下发人脸
|
||||
Thread(target=HrmService.sync_dahua_employee, args=(ep, '', rpj.come_time, rpj.leave_time)).start()
|
||||
# 更新入厂项目人员证书库
|
||||
for i in Rcertificate.objects.filter(rpj=rpj):
|
||||
pass
|
||||
# 同步至大华人员库并下发人脸
|
||||
Thread(target=HrmService.sync_dahua_employee, args=(ep, '', rpj.come_time, rpj.leave_time)).start()
|
||||
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