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.utils.constants import EXCLUDE_FIELDS
from rest_framework.exceptions import ParseError
from apps.hrm.serializers import EmployeeSerializer, EmployeeSimpleSerializer
from apps.hrm.serializers import EmployeeSimpleSerializer
class EventCateCreateUpdateSerializer(CustomModelSerializer):
@ -93,7 +93,7 @@ class EventSerializer(serializers.ModelSerializer):
class EventDetailSerializer(serializers.ModelSerializer):
area_ = AreaSerializer(source='area', read_only=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)
vchannel_ = TDeviceSimpleSerializer(source='vchannel', 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()
photo_f = MyFilePathField(source='photo', read_only=True)
signature_f = MyFilePathField(source='signature', read_only=True)
door_range = serializers.SerializerMethodField()
class Meta:
model = Employee
@ -124,14 +123,16 @@ class EmployeeSerializer(CustomModelSerializer):
return TDeviceSimpleSerializer(instance=obj.tdevice).data
return
class EmployeeDetailSerializer(EmployeeSerializer):
door_range = serializers.SerializerMethodField()
def get_door_range(self, obj):
third_info = obj.third_info
try:
dh_face_card = third_info['dh_face_card']
dh_face_card = third_info.get('dh_face_card', None)
if dh_face_card:
_, res = dhClient.request(**dhapis['card_detail'], params={'cardNumber': dh_face_card})
return [res['startDate'], res['endDate']]
except Exception:
pass
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.serializers import (CertificateCreateUpdateSerializer, CertificateSerializer, ChannelAuthoritySerializer,
ClockRecordListSerializer,
EmployeeCreateUpdateSerializer, EmployeeImproveSerializer,
EmployeeCreateUpdateSerializer, EmployeeDetailSerializer, EmployeeImproveSerializer,
EmployeeNotWorkRemarkSerializer,
EmployeeSerializer,
NotWorkRemarkListSerializer)
@ -36,6 +36,7 @@ class EmployeeViewSet(CustomModelViewSet):
select_related_fields = ['user']
filterset_class = EmployeeFilterSet
serializer_class = EmployeeSerializer
retrieve_serializer_class = EmployeeDetailSerializer
create_serializer_class = EmployeeCreateUpdateSerializer
update_serializer_class = EmployeeCreateUpdateSerializer
partial_update_serializer_class = EmployeeCreateUpdateSerializer