用户编辑时更新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['time1'] = time2
|
||||||
ep_loc_dict['area_fix_id'] = area_fix['id'] if area_fix else None
|
ep_loc_dict['area_fix_id'] = area_fix['id'] if area_fix else None
|
||||||
cache.set(key_str, ep_loc_dict)
|
cache.set(key_str, ep_loc_dict)
|
||||||
|
myLogger.info('人员位置:' + str(ep_loc_dict))
|
||||||
return ep_loc_dict
|
return ep_loc_dict
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from rest_framework.serializers import ModelSerializer
|
from rest_framework.serializers import ModelSerializer
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
from apps.ecm.service import get_ep_default
|
||||||
from apps.hrm.services import HrmService
|
from apps.hrm.services import HrmService
|
||||||
from apps.utils.fields import MyFilePathField
|
from apps.utils.fields import MyFilePathField
|
||||||
|
|
||||||
|
|
@ -13,7 +14,7 @@ from django.db import transaction
|
||||||
from apps.third.clients import dhClient
|
from apps.third.clients import dhClient
|
||||||
from apps.third.tapis import dhapis
|
from apps.third.tapis import dhapis
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.core.cache import cache
|
||||||
from apps.utils.tools import check_phone_e
|
from apps.utils.tools import check_phone_e
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -126,6 +127,7 @@ class EmployeeSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
class EmployeeDetailSerializer(EmployeeSerializer):
|
class EmployeeDetailSerializer(EmployeeSerializer):
|
||||||
door_range = serializers.SerializerMethodField()
|
door_range = serializers.SerializerMethodField()
|
||||||
|
location = serializers.SerializerMethodField()
|
||||||
|
|
||||||
def get_door_range(self, obj):
|
def get_door_range(self, obj):
|
||||||
third_info = obj.third_info
|
third_info = obj.third_info
|
||||||
|
|
@ -133,6 +135,13 @@ class EmployeeDetailSerializer(EmployeeSerializer):
|
||||||
if 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']]
|
||||||
|
|
||||||
|
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):
|
class EmployeeNotWorkRemarkSerializer(ModelSerializer):
|
||||||
|
|
|
||||||
|
|
@ -431,6 +431,22 @@ class UserViewSet(CustomModelViewSet):
|
||||||
# self.request.query_params._mutable = True
|
# self.request.query_params._mutable = True
|
||||||
# self.request.query_params.setdefault('type', 'employee')
|
# self.request.query_params.setdefault('type', 'employee')
|
||||||
# return super().filter_queryset(queryset)
|
# 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):
|
def create(self, request, *args, **kwargs):
|
||||||
"""创建用户
|
"""创建用户
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue