From 840f7c707b94e50733e6238ea52be9f8c92728b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Thu, 15 Sep 2022 15:47:35 +0800 Subject: [PATCH] =?UTF-8?q?rpm=20=E5=88=86=E9=85=8D=E8=B4=A6=E5=8F=B7bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/hrm/views.py | 2 +- apps/rpm/serializers.py | 9 +++++++-- apps/rpm/views.py | 6 +++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/hrm/views.py b/apps/hrm/views.py index 52a696bc..cace99be 100755 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -85,7 +85,7 @@ class EmployeeViewSet(CustomModelViewSet): if ep.type == 'remployee': from apps.rpm.services import sync_to_rep sync_to_rep(ep) - elif ep.type == 'visitor': + elif ep.type in ['visitor', 'driver']: from apps.vm.services import sync_to_visitor sync_to_visitor(ep) return Response() diff --git a/apps/rpm/serializers.py b/apps/rpm/serializers.py index 9187e9fc..c33ac25d 100644 --- a/apps/rpm/serializers.py +++ b/apps/rpm/serializers.py @@ -27,8 +27,12 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer): def create(self, validated_data): instance = super().create(validated_data) with transaction.atomic(): - dept = Dept.objects.create(name=instance.name, - parent=instance.belong_dept, type='rparty') + dept = Dept.objects.get_or_create(name=instance.name, + defaults={ + "name": instance.name, + "parent": instance.belong_dept, + "type": "rparty" + }) sync_dahua_dept(dept) instance.dept = dept instance.save() @@ -47,6 +51,7 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer): class RpartySerializer(CustomModelSerializer): admin_username = serializers.CharField(source='admin.username', read_only=True) + admin_name = serializers.CharField(source='admin.name', read_only=True) belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True) class Meta: diff --git a/apps/rpm/views.py b/apps/rpm/views.py index 3de3c677..25de5fb6 100644 --- a/apps/rpm/views.py +++ b/apps/rpm/views.py @@ -49,11 +49,11 @@ class RpartyViewSet(CustomModelViewSet): if obj.admin: ins = obj.admin else: - if User.objects.get_queryset(all=True).filter(Q(phone=vdata['phone']) | Q(username=vdata['username'])).exist(): + if User.objects.get_queryset(all=True).filter(Q(phone=vdata['phone']) | Q(username=vdata['username'])).exists(): raise ParseError('该账号已存在,请选择绑定') serializer = UserCreateSerializer(data=request.data) serializer.is_valid(raise_exception=True) - serializer.save(type='remployee', password=make_password('0000')) + ins = serializer.save(type='remployee', password=make_password('0000')) obj.admin = ins obj.save() # 岗位设置为相关方岗位 @@ -70,7 +70,7 @@ class RpartyViewSet(CustomModelViewSet): ins.update_by = self.request.user ins.save() # 同步设置rep - sync_to_rep(ins.employee) + # sync_to_rep(ins.employee) return Response()