diff --git a/apps/hrm/serializers.py b/apps/hrm/serializers.py index f045c32f..e5bc1fac 100755 --- a/apps/hrm/serializers.py +++ b/apps/hrm/serializers.py @@ -70,6 +70,9 @@ class EmployeeCreateUpdateSerializer(CustomModelSerializer): if instance.type == 'remployee': from apps.rpm.services import sync_to_rep sync_to_rep(instance) + elif instance.type == 'visitor': + from apps.vm.services import sync_to_visitor + sync_to_visitor(instance) if instance.job_state == 20 and instance.user: # 如果离职了关闭账户 instance.user.is_active = False instance.user.save() diff --git a/apps/hrm/views.py b/apps/hrm/views.py index 5fa78fed..e046eba6 100755 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -81,6 +81,9 @@ class EmployeeViewSet(CustomModelViewSet): if ep.type == 'remployee': from apps.rpm.services import sync_to_rep sync_to_rep(ep) + elif ep.type == 'visitor': + from apps.vm.services import sync_to_visitor + sync_to_visitor(ep) return Response() @action(methods=['post'], detail=True, perms_map={'post': 'employee.notworkremark'}, diff --git a/apps/vm/services.py b/apps/vm/services.py index 86545f73..9ed55785 100644 --- a/apps/vm/services.py +++ b/apps/vm/services.py @@ -1,7 +1,15 @@ from apps.hrm.models import Employee from apps.hrm.services import HrmService -from apps.vm.models import Visit, Vpeople +from apps.vm.models import Visit, Visitor, Vpeople + + +def sync_to_visitor(ep: Employee): + # 个人信息完善时同步到visitor表 + Visitor.objects.filter(employee=ep).update(name=ep.name, phone=ep.phone, id_number=ep.id_number, photo=ep.photo) + if not Visitor.objects.filter(employee=ep, create_by=ep.user).exists(): + Visitor.objects.create(employee=ep, name=ep.name, phone=ep.phone, + id_number=ep.id_number, photo=ep.photo, create_by=ep.user) def bind_visit(ticket, transition, new_ticket_data: dict):