employee字段修改
This commit is contained in:
parent
4139ef91c3
commit
a5494e8509
|
@ -1,9 +1,16 @@
|
|||
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):
|
||||
create_time_start = filters.DateFilter(field_name="create_time", lookup_expr='gte')
|
||||
create_time_end = filters.DateFilter(field_name="create_time", lookup_expr='lte')
|
||||
class Meta:
|
||||
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 = (
|
||||
(1, '在职'),
|
||||
(2, '离职'),
|
||||
(JOB_ON, '在职'),
|
||||
(JOB_OFF, '离职'),
|
||||
)
|
||||
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employee_user')
|
||||
number = models.CharField('人员编号', max_length=50,null=True, blank=True, unique=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='男')
|
||||
signature = models.CharField('签名图片', max_length=200, null=True, blank=True)
|
||||
birthdate = models.DateField('出生年月', null=True, blank=True)
|
||||
academic = models.CharField('学历', max_length=50, null=True, blank=True)
|
||||
jobstate = models.IntegerField('在职状态', choices=jobstate_choices, default=1)
|
||||
job = models.ForeignKey(Position, null=True, blank=True, on_delete=models.SET_NULL, verbose_name='岗位')
|
||||
birthday = models.DateField('出生年月', null=True, blank=True)
|
||||
qualification = models.CharField('学历', max_length=50, null=True, blank=True)
|
||||
job_state = models.IntegerField('在职状态', choices=jobstate_choices, default=1)
|
||||
face_data = models.JSONField('人脸识别数据', null=True, blank=True)
|
||||
class Meta:
|
||||
verbose_name = '员工补充信息'
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
from apps.system.models import User
|
||||
from rest_framework.serializers import ModelSerializer
|
||||
from rest_framework import serializers
|
||||
|
||||
from utils.mixins import DynamicFieldsSerializerMixin
|
||||
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
|
||||
|
||||
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:
|
||||
model = Employee
|
||||
exclude = ['face_data']
|
||||
|
|
|
@ -4,7 +4,7 @@ from django.utils import timezone
|
|||
from rest_framework.response import Response
|
||||
from rest_framework.viewsets import ModelViewSet, GenericViewSet
|
||||
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.tasks import update_all_user_facedata_cache
|
||||
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
||||
|
@ -30,6 +30,7 @@ class EmployeeViewSet(CreateUpdateModelAMixin, OptimizationMixin, UpdateModelMix
|
|||
"""
|
||||
perms_map = {'get': '*', 'put': 'employee_update'}
|
||||
queryset = Employee.objects.all()
|
||||
filterset_class = EmployeeFilterSet
|
||||
serializer_class = EmployeeSerializer
|
||||
ordering = ['-pk']
|
||||
|
||||
|
|
Loading…
Reference in New Issue