校正性别
This commit is contained in:
parent
97710370b6
commit
08d1faf97e
|
@ -13,12 +13,14 @@ from apps.develop.tasks import backup_database, backup_media, reload_web_git, re
|
|||
from rest_framework.exceptions import APIException
|
||||
from apps.ecm.service import check_not_in_place, create_remind, handle_xx_event, loc_change, notify_event, rail_in, snap_and_analyse
|
||||
from apps.ecm.tasks import opl_task, update_count_people
|
||||
from apps.hrm.models import Employee
|
||||
from apps.opm.models import Opl
|
||||
from apps.third.dahua import dhClient
|
||||
from apps.third.speaker import spClient
|
||||
from apps.third.models import TDevice
|
||||
from apps.utils.sms import send_sms
|
||||
from apps.utils.speech import generate_voice
|
||||
from apps.utils.tools import get_info_from_id
|
||||
|
||||
from apps.utils.viewsets import CustomGenericViewSet
|
||||
from apps.utils.wx import wxClient
|
||||
|
@ -297,11 +299,6 @@ class TestViewSet(CustomGenericViewSet):
|
|||
def correct_rail(self, request, pk=None):
|
||||
pass
|
||||
|
||||
@action(methods=['post'], detail=False, serializer_class=Serializer)
|
||||
def test_not_in_place(self, request, pk=None):
|
||||
check_not_in_place(Opl.objects.get(id='1568880208688320512'))
|
||||
return Response()
|
||||
|
||||
@action(methods=['post'], detail=False, serializer_class=SpeakerSerializer)
|
||||
def test_speaker(self, request, pk=None):
|
||||
spClient.speak(path='/media/2022/09/11/349b3451-50b9-4501-aded-c85a76967920.mp3', sns=request.data['sns'],
|
||||
|
@ -314,6 +311,16 @@ class TestViewSet(CustomGenericViewSet):
|
|||
check_not_in_place(opl=Opl.objects.get(id=opl))
|
||||
return Response()
|
||||
|
||||
@action(methods=['post'], detail=False, serializer_class=Serializer)
|
||||
def correct_gender(self, request, pk=None):
|
||||
objs = Employee.objects.get_queryset(all=True).all()
|
||||
for i in objs:
|
||||
if i.id_number:
|
||||
ret = get_info_from_id(i.id_number)
|
||||
i.gender = ret['gender']
|
||||
i.save()
|
||||
return Response()
|
||||
|
||||
@action(methods=['post'], detail=False, serializer_class=Serializer)
|
||||
def send_wx_msg(self, request, pk=None):
|
||||
"""微信模板消息发送测试
|
||||
|
|
|
@ -15,7 +15,7 @@ from apps.third.dahua 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_id_number_e, check_phone_e
|
||||
from apps.utils.tools import check_id_number_e, check_phone_e, get_info_from_id
|
||||
|
||||
|
||||
class EmployeeSimpleSerializer(CustomModelSerializer):
|
||||
|
@ -60,6 +60,9 @@ class EmployeeCreateUpdateSerializer(CustomModelSerializer):
|
|||
return instance
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
id_number = validated_data['id_number']
|
||||
ret = get_info_from_id(id_number)
|
||||
validated_data['gender'] = ret['gender']
|
||||
old_photo = instance.photo
|
||||
old_job_state = instance.job_state
|
||||
instance = super().update(instance, validated_data)
|
||||
|
@ -98,6 +101,17 @@ class EmployeeImproveSerializer(CustomModelSerializer):
|
|||
class Meta:
|
||||
model = Employee
|
||||
fields = ['photo', 'id_number', 'email', 'gender', 'signature', 'photo_f', 'signature_f', 'phone']
|
||||
extra_kwargs = {
|
||||
'number': {'required': True},
|
||||
'photo': {'required': True},
|
||||
'id_number': {'required': True},
|
||||
}
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
id_number = validated_data['id_number']
|
||||
ret = get_info_from_id(id_number)
|
||||
validated_data['gender'] = ret['gender']
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
|
||||
class ChannelAuthoritySerializer(serializers.Serializer):
|
||||
|
|
|
@ -112,6 +112,17 @@ def check_id_number_e(val):
|
|||
return val
|
||||
|
||||
|
||||
def get_info_from_id(val):
|
||||
birth = val[6:14]
|
||||
birth_year = birth[0:4]
|
||||
age = datetime.now().year - int(birth_year)
|
||||
sex = int(val[-2])
|
||||
gender = '女'
|
||||
if sex/2:
|
||||
gender = '男'
|
||||
return dict(age=age, gender=gender)
|
||||
|
||||
|
||||
def check_id_number(idcard):
|
||||
"""校验身份证号
|
||||
|
||||
|
|
Loading…
Reference in New Issue