用户编辑时更新ep
This commit is contained in:
parent
e137a7bf39
commit
8896cd0f4b
|
@ -478,6 +478,7 @@ def loc_change(data):
|
|||
ep_loc_dict['time1'] = time2
|
||||
ep_loc_dict['area_fix_id'] = area_fix['id'] if area_fix else None
|
||||
cache.set(key_str, ep_loc_dict)
|
||||
myLogger.info('人员位置:' + str(ep_loc_dict))
|
||||
return ep_loc_dict
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
from datetime import datetime, timedelta
|
||||
from rest_framework.serializers import ModelSerializer
|
||||
from rest_framework import serializers
|
||||
from apps.ecm.service import get_ep_default
|
||||
from apps.hrm.services import HrmService
|
||||
from apps.utils.fields import MyFilePathField
|
||||
|
||||
|
@ -13,7 +14,7 @@ from django.db import transaction
|
|||
from apps.third.clients import dhClient
|
||||
from apps.third.tapis import dhapis
|
||||
from django.conf import settings
|
||||
|
||||
from django.core.cache import cache
|
||||
from apps.utils.tools import check_phone_e
|
||||
|
||||
|
||||
|
@ -126,6 +127,7 @@ class EmployeeSerializer(CustomModelSerializer):
|
|||
|
||||
class EmployeeDetailSerializer(EmployeeSerializer):
|
||||
door_range = serializers.SerializerMethodField()
|
||||
location = serializers.SerializerMethodField()
|
||||
|
||||
def get_door_range(self, obj):
|
||||
third_info = obj.third_info
|
||||
|
@ -133,6 +135,13 @@ class EmployeeDetailSerializer(EmployeeSerializer):
|
|||
if dh_face_card:
|
||||
_, res = dhClient.request(**dhapis['card_detail'], params={'cardNumber': dh_face_card})
|
||||
return [res['startDate'], res['endDate']]
|
||||
|
||||
def get_location(self, obj):
|
||||
key_str = 'ep_{}'.format(obj.id)
|
||||
ep_loc_dict = cache.get_or_set(
|
||||
key_str, get_ep_default(), timeout=None
|
||||
)
|
||||
return ep_loc_dict
|
||||
|
||||
|
||||
class EmployeeNotWorkRemarkSerializer(ModelSerializer):
|
||||
|
|
|
@ -431,6 +431,22 @@ class UserViewSet(CustomModelViewSet):
|
|||
# self.request.query_params._mutable = True
|
||||
# self.request.query_params.setdefault('type', 'employee')
|
||||
# return super().filter_queryset(queryset)
|
||||
def perform_update(self, serializer):
|
||||
instance = serializer.save()
|
||||
ep = Employee.objects.get_queryset(all=True).filter(user=instance).first()
|
||||
ep2 = Employee.objects.get_queryset(all=True).filter(phone=instance.phone).first()
|
||||
if ep:
|
||||
pass
|
||||
elif ep2:
|
||||
ep = ep2
|
||||
else:
|
||||
ep = Employee()
|
||||
ep.user = instance
|
||||
ep.name = instance.name
|
||||
ep.phone = instance.phone
|
||||
ep.type = instance.type
|
||||
ep.is_deleted = False
|
||||
ep.save()
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
"""创建用户
|
||||
|
|
Loading…
Reference in New Issue