From f21c37e84f789bb419ef5379eb92b1fc4ac2e8b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Tue, 12 Jul 2022 15:17:25 +0800 Subject: [PATCH] =?UTF-8?q?ecm=20create=20=E5=A2=9E=E5=8A=A0=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ecm/filters.py | 11 +++++++++++ apps/ecm/views.py | 3 ++- apps/hrm/serializers.py | 2 +- apps/hrm/services.py | 4 ++-- apps/hrm/views.py | 6 +++++- apps/third/tapis.py | 8 ++++++++ 6 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 apps/ecm/filters.py diff --git a/apps/ecm/filters.py b/apps/ecm/filters.py new file mode 100644 index 00000000..01873b2e --- /dev/null +++ b/apps/ecm/filters.py @@ -0,0 +1,11 @@ +from django_filters import rest_framework as filters +from apps.ecm.models import Event + + +class EventFilterSet(filters.FilterSet): + start_create = filters.DateFilter(field_name="create_time", lookup_expr='gte') + end_create = filters.DateFilter(field_name="create_time", lookup_expr='lte') + + class Meta: + model = Event + fields = ['cates', 'start_create', 'end_create'] diff --git a/apps/ecm/views.py b/apps/ecm/views.py index ece10490..66e1e947 100644 --- a/apps/ecm/views.py +++ b/apps/ecm/views.py @@ -1,5 +1,6 @@ from threading import Thread +from apps.ecm.filters import EventFilterSet from apps.ecm.models import AlgoChannel, Event, EventCate, Remind, NotifySetting from apps.ecm.serializers import (AlgoChannelCreateSerializer, AlgoChannelCreatesSerializer, AlgoChannelSerializer, EventCateCreateUpdateSerializer, EventCateListSerializer, EventCateUpdateSerializer, EventHandleSerializer, EventSerializer, RemindSerializer, NotifySettingsSerializer) @@ -65,7 +66,7 @@ class EventViewSet(ListModelMixin, RetrieveModelMixin, CustomGenericViewSet): serializer_class = EventSerializer select_related_fields = ['area', 'employee', 'handle_user'] prefetch_related_fields = ['cates'] - filterset_fields = ['cates'] + filterset_class = EventFilterSet @transaction.atomic @action(methods=['post'], detail=True, perms_map={'post': '*'}, diff --git a/apps/hrm/serializers.py b/apps/hrm/serializers.py index 6566aa4a..90aa34b7 100755 --- a/apps/hrm/serializers.py +++ b/apps/hrm/serializers.py @@ -23,7 +23,7 @@ class EmployeeSimpleSerializer(CustomModelSerializer): class Meta: model = Employee - fields = ['id', 'type', 'name', 'belong_dept', 'belong_dept_name', 'post', 'post_name', 'photo'] + fields = ['id', 'type', 'name', 'belong_dept', 'belong_dept_name', 'post', 'post_name', 'photo', 'third_info'] class EmployeeBaseSerializer(CustomModelSerializer): diff --git a/apps/hrm/services.py b/apps/hrm/services.py index a52e6aa7..d0ab248c 100755 --- a/apps/hrm/services.py +++ b/apps/hrm/services.py @@ -115,7 +115,7 @@ class HrmService: def open_face_card(cls, ep, dh_id, departmentId, start_time, end_time): """开人脸卡/有卡就更新卡时间 """ - if not ep.third_info.get('dh_face_card', None): + if ep.third_info.get('dh_face_card', None): cardNumber = ep.third_info.get('dh_face_card') # 如果有人脸卡就执行更新操作 if start_time is None: # 如果时间段未提供,跳过更新操作 @@ -129,7 +129,7 @@ class HrmService: "endDate": endDate, } _, res = dhClient.request(**dhapis['card_update']) - return cardNumber + return cardNumber else: _, res = dhClient.request(**dhapis['card_gen_id']) cardId = res['id'] diff --git a/apps/hrm/views.py b/apps/hrm/views.py index 42a72582..f822e698 100755 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -74,10 +74,14 @@ class EmployeeViewSet(CustomModelViewSet): 完善个人信息 """ - ep = request.user.employee + user = request.user + ep = user.employee serializer = EmployeeImproveSerializer(instance=ep, data=request.data) serializer.is_valid(raise_exception=True) serializer.save() + if ep.phone: + user.phone = ep.phone + user.save() return Response() @action(methods=['post'], detail=True, perms_map={'post': 'employee:notworkremark'}, diff --git a/apps/third/tapis.py b/apps/third/tapis.py index 41ac6858..3c6899c1 100755 --- a/apps/third/tapis.py +++ b/apps/third/tapis.py @@ -99,6 +99,14 @@ dhapis = { "dev_snap": { "url": "/evo-apigw/admin/API/EVO/invoke/DMS", "method": "post" + }, + "open_door_stay": { + "url": "/evo-apigw/evo-accesscontrol/1.2.0/card/accessControl/channelControl/stayOpen", + "method": "post" + }, + "close_door": { + "url": "/evo-apigw/evo-accesscontrol/1.2.0/card/accessControl/channelControl/closeDoor", + "method": "post" } }