from django.db import models
from django.contrib.auth.models import AbstractUser
from django.db.models.base import Model
import django.utils.timezone as timezone
from django.db.models.query import QuerySet
from apps.system.models import CommonAModel, CommonBModel, Organization, User, Dict, File,Position
from utils.model import SoftModel, BaseModel
from simple_history.models import HistoricalRecords




class Employee(CommonAModel):
    """
    员工信息
    """
    jobstate_choices = (
         (1, '在职'),
         (2, '离职'),
    )
    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)
    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='岗位')
    face_data = models.JSONField('人脸识别数据', null=True, blank=True)
    class Meta:
        verbose_name = '员工补充信息'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.name


