from threading import Thread from apps.hrm.models import Employee from apps.hrm.services import HrmService from apps.vm.models import Visit, Vpeople from apps.wf.models import Ticket def bind_visit(ticket, transition, new_ticket_data: dict): visit = Visit.objects.get(id=new_ticket_data['visit']) visit.ticket = ticket visit.state = Visit.V_AUDIT visit.save() ticket.belong_dept = visit.receptionist.belong_dept ticket.save() def get_receptionist(state, ticket, new_ticket_data, handler): visit = Visit.objects.filter(ticket=ticket).first() if visit: return [visit.receptionist.id] def visit_audit_end(ticket): visit = Visit.objects.get(ticket=ticket) visit.state = Visit.V_ENTER visit.save() # 更新企业访客人员库 for i in Vpeople.objects.filter(visit=visit): visitor = i.visitor if visitor.id_number and visitor.photo: ep = Employee.objects.filter(id_number=visitor.id_number).first() else: ep = Employee.objects.filter(name=visitor.name, id_number=None).first() if ep: pass else: ep = Employee() ep.id_number = visitor.id_number ep.name = visitor.name ep.phone = visitor.phone ep.photo = visitor.photo ep.type = 'visitor' ep.belong_dept = visit.receptionist.belong_dept ep.save() visitor.employee = ep visitor.visit = visit # 更新当前所属访客项目 visitor.save() # 同步至大华人员库并下发人脸 HrmService.sync_dahua_employee(ep, '', visit.visit_time, visit.leave_time) # 发送通知?