employee detail serializer

This commit is contained in:
曹前明 2022-09-16 09:52:47 +08:00
parent 4e93418739
commit a01f29d4a1
3 changed files with 10 additions and 8 deletions

View File

@ -8,7 +8,7 @@ from rest_framework import serializers
from apps.system.serializers import UserSimpleSerializer from apps.system.serializers import UserSimpleSerializer
from apps.utils.constants import EXCLUDE_FIELDS from apps.utils.constants import EXCLUDE_FIELDS
from rest_framework.exceptions import ParseError from rest_framework.exceptions import ParseError
from apps.hrm.serializers import EmployeeSerializer, EmployeeSimpleSerializer from apps.hrm.serializers import EmployeeSimpleSerializer
class EventCateCreateUpdateSerializer(CustomModelSerializer): class EventCateCreateUpdateSerializer(CustomModelSerializer):
@ -93,7 +93,7 @@ class EventSerializer(serializers.ModelSerializer):
class EventDetailSerializer(serializers.ModelSerializer): class EventDetailSerializer(serializers.ModelSerializer):
area_ = AreaSerializer(source='area', read_only=True) area_ = AreaSerializer(source='area', read_only=True)
cates_ = EventCateSimpleSerializer(source='cates', read_only=True, many=True) cates_ = EventCateSimpleSerializer(source='cates', read_only=True, many=True)
employee_ = EmployeeSerializer(source='employee', read_only=True) employee_ = EmployeeSimpleSerializer(source='employee', read_only=True)
operation_name = serializers.CharField(source='opl.operation.name', read_only=True) operation_name = serializers.CharField(source='opl.operation.name', read_only=True)
vchannel_ = TDeviceSimpleSerializer(source='vchannel', read_only=True) vchannel_ = TDeviceSimpleSerializer(source='vchannel', read_only=True)
handle_user_name = serializers.CharField(source='handle_user.name', read_only=True) handle_user_name = serializers.CharField(source='handle_user.name', read_only=True)

View File

@ -111,7 +111,6 @@ class EmployeeSerializer(CustomModelSerializer):
blt_ = serializers.SerializerMethodField() blt_ = serializers.SerializerMethodField()
photo_f = MyFilePathField(source='photo', read_only=True) photo_f = MyFilePathField(source='photo', read_only=True)
signature_f = MyFilePathField(source='signature', read_only=True) signature_f = MyFilePathField(source='signature', read_only=True)
door_range = serializers.SerializerMethodField()
class Meta: class Meta:
model = Employee model = Employee
@ -124,14 +123,16 @@ class EmployeeSerializer(CustomModelSerializer):
return TDeviceSimpleSerializer(instance=obj.tdevice).data return TDeviceSimpleSerializer(instance=obj.tdevice).data
return return
class EmployeeDetailSerializer(EmployeeSerializer):
door_range = serializers.SerializerMethodField()
def get_door_range(self, obj): def get_door_range(self, obj):
third_info = obj.third_info third_info = obj.third_info
try: dh_face_card = third_info.get('dh_face_card', None)
dh_face_card = third_info['dh_face_card'] if dh_face_card:
_, res = dhClient.request(**dhapis['card_detail'], params={'cardNumber': dh_face_card}) _, res = dhClient.request(**dhapis['card_detail'], params={'cardNumber': dh_face_card})
return [res['startDate'], res['endDate']] return [res['startDate'], res['endDate']]
except Exception:
pass
class EmployeeNotWorkRemarkSerializer(ModelSerializer): class EmployeeNotWorkRemarkSerializer(ModelSerializer):

View File

@ -15,7 +15,7 @@ from apps.hrm.filters import (CertificateFilterSet, ClockRecordFilterSet, Employ
from apps.hrm.models import Certificate, ClockRecord, Employee, NotWorkRemark from apps.hrm.models import Certificate, ClockRecord, Employee, NotWorkRemark
from apps.hrm.serializers import (CertificateCreateUpdateSerializer, CertificateSerializer, ChannelAuthoritySerializer, from apps.hrm.serializers import (CertificateCreateUpdateSerializer, CertificateSerializer, ChannelAuthoritySerializer,
ClockRecordListSerializer, ClockRecordListSerializer,
EmployeeCreateUpdateSerializer, EmployeeImproveSerializer, EmployeeCreateUpdateSerializer, EmployeeDetailSerializer, EmployeeImproveSerializer,
EmployeeNotWorkRemarkSerializer, EmployeeNotWorkRemarkSerializer,
EmployeeSerializer, EmployeeSerializer,
NotWorkRemarkListSerializer) NotWorkRemarkListSerializer)
@ -36,6 +36,7 @@ class EmployeeViewSet(CustomModelViewSet):
select_related_fields = ['user'] select_related_fields = ['user']
filterset_class = EmployeeFilterSet filterset_class = EmployeeFilterSet
serializer_class = EmployeeSerializer serializer_class = EmployeeSerializer
retrieve_serializer_class = EmployeeDetailSerializer
create_serializer_class = EmployeeCreateUpdateSerializer create_serializer_class = EmployeeCreateUpdateSerializer
update_serializer_class = EmployeeCreateUpdateSerializer update_serializer_class = EmployeeCreateUpdateSerializer
partial_update_serializer_class = EmployeeCreateUpdateSerializer partial_update_serializer_class = EmployeeCreateUpdateSerializer