employee字段修改
This commit is contained in:
parent
4139ef91c3
commit
a5494e8509
|
@ -1,5 +1,6 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
from apps.hrm.models import ClockRecord
|
from apps.hrm.models import ClockRecord, Employee
|
||||||
|
from utils.mixins import DynamicFieldsFilterMixin
|
||||||
|
|
||||||
class ClockRecordFilterSet(filters.FilterSet):
|
class ClockRecordFilterSet(filters.FilterSet):
|
||||||
create_time_start = filters.DateFilter(field_name="create_time", lookup_expr='gte')
|
create_time_start = filters.DateFilter(field_name="create_time", lookup_expr='gte')
|
||||||
|
@ -7,3 +8,9 @@ class ClockRecordFilterSet(filters.FilterSet):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ClockRecord
|
model = ClockRecord
|
||||||
fields = ['create_by', 'create_time_start', 'create_time_end']
|
fields = ['create_by', 'create_time_start', 'create_time_end']
|
||||||
|
|
||||||
|
class EmployeeFilterSet(DynamicFieldsFilterMixin, filters.FilterSet):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Employee
|
||||||
|
fields = ['job_state']
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Generated by Django 3.2.9 on 2022-01-26 05:51
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('hrm', '0004_clockrecord'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name='employee',
|
||||||
|
old_name='birthdate',
|
||||||
|
new_name='birthday',
|
||||||
|
),
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name='employee',
|
||||||
|
old_name='ID_number',
|
||||||
|
new_name='id_number',
|
||||||
|
),
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name='employee',
|
||||||
|
old_name='jobstate',
|
||||||
|
new_name='job_state',
|
||||||
|
),
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name='employee',
|
||||||
|
old_name='academic',
|
||||||
|
new_name='qualification',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='employee',
|
||||||
|
name='job',
|
||||||
|
),
|
||||||
|
]
|
|
@ -14,20 +14,21 @@ class Employee(CommonAModel):
|
||||||
"""
|
"""
|
||||||
员工信息
|
员工信息
|
||||||
"""
|
"""
|
||||||
|
JOB_ON = 1
|
||||||
|
JOB_OFF = 2
|
||||||
jobstate_choices = (
|
jobstate_choices = (
|
||||||
(1, '在职'),
|
(JOB_ON, '在职'),
|
||||||
(2, '离职'),
|
(JOB_OFF, '离职'),
|
||||||
)
|
)
|
||||||
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employee_user')
|
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employee_user')
|
||||||
number = models.CharField('人员编号', max_length=50,null=True, blank=True, unique=True)
|
number = models.CharField('人员编号', max_length=50,null=True, blank=True, unique=True)
|
||||||
photo = models.CharField('证件照', max_length=1000, null=True, blank=True)
|
photo = models.CharField('证件照', max_length=1000, null=True, blank=True)
|
||||||
ID_number = models.CharField('身份证号', max_length=100, null=True, blank=True)
|
id_number = models.CharField('身份证号', max_length=100, null=True, blank=True)
|
||||||
gender = models.CharField('性别', max_length=10, default='男')
|
gender = models.CharField('性别', max_length=10, default='男')
|
||||||
signature = models.CharField('签名图片', max_length=200, null=True, blank=True)
|
signature = models.CharField('签名图片', max_length=200, null=True, blank=True)
|
||||||
birthdate = models.DateField('出生年月', null=True, blank=True)
|
birthday = models.DateField('出生年月', null=True, blank=True)
|
||||||
academic = models.CharField('学历', max_length=50, null=True, blank=True)
|
qualification = models.CharField('学历', max_length=50, null=True, blank=True)
|
||||||
jobstate = models.IntegerField('在职状态', choices=jobstate_choices, default=1)
|
job_state = models.IntegerField('在职状态', choices=jobstate_choices, default=1)
|
||||||
job = models.ForeignKey(Position, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='岗位')
|
|
||||||
face_data = models.JSONField('人脸识别数据', null=True, blank=True)
|
face_data = models.JSONField('人脸识别数据', null=True, blank=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '员工补充信息'
|
verbose_name = '员工补充信息'
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
from apps.system.models import User
|
from apps.system.models import User
|
||||||
from rest_framework.serializers import ModelSerializer
|
from rest_framework.serializers import ModelSerializer
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
from utils.mixins import DynamicFieldsSerializerMixin
|
||||||
from .models import ClockRecord, Employee
|
from .models import ClockRecord, Employee
|
||||||
from apps.system.serializers import UserListSerializer, UserSimpleSerializer
|
from apps.system.serializers import OrganizationSimpleSerializer, UserListSerializer, UserSimpleSerializer
|
||||||
from django.db.models.query import Prefetch
|
from django.db.models.query import Prefetch
|
||||||
|
|
||||||
class EmployeeSerializer(ModelSerializer):
|
class EmployeeSerializer(DynamicFieldsSerializerMixin, ModelSerializer):
|
||||||
|
name = serializers.CharField(source='user.name', read_only=True)
|
||||||
|
dept_ = OrganizationSimpleSerializer(source='user.dept_', read_only=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Employee
|
model = Employee
|
||||||
exclude = ['face_data']
|
exclude = ['face_data']
|
||||||
|
|
|
@ -4,7 +4,7 @@ from django.utils import timezone
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.viewsets import ModelViewSet, GenericViewSet
|
from rest_framework.viewsets import ModelViewSet, GenericViewSet
|
||||||
from rest_framework.mixins import UpdateModelMixin, RetrieveModelMixin, CreateModelMixin, ListModelMixin
|
from rest_framework.mixins import UpdateModelMixin, RetrieveModelMixin, CreateModelMixin, ListModelMixin
|
||||||
from apps.hrm.filters import ClockRecordFilterSet
|
from apps.hrm.filters import ClockRecordFilterSet, EmployeeFilterSet
|
||||||
from apps.hrm.services import HRMService
|
from apps.hrm.services import HRMService
|
||||||
from apps.hrm.tasks import update_all_user_facedata_cache
|
from apps.hrm.tasks import update_all_user_facedata_cache
|
||||||
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
||||||
|
@ -30,6 +30,7 @@ class EmployeeViewSet(CreateUpdateModelAMixin, OptimizationMixin, UpdateModelMix
|
||||||
"""
|
"""
|
||||||
perms_map = {'get': '*', 'put': 'employee_update'}
|
perms_map = {'get': '*', 'put': 'employee_update'}
|
||||||
queryset = Employee.objects.all()
|
queryset = Employee.objects.all()
|
||||||
|
filterset_class = EmployeeFilterSet
|
||||||
serializer_class = EmployeeSerializer
|
serializer_class = EmployeeSerializer
|
||||||
ordering = ['-pk']
|
ordering = ['-pk']
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue