diff --git a/application/hrm_mgnt/models.py b/application/hrm_mgnt/models.py index 429afb1..bd8ee6d 100644 --- a/application/hrm_mgnt/models.py +++ b/application/hrm_mgnt/models.py @@ -96,45 +96,43 @@ class EmployeeInformation(models.Model): employee_id = models.AutoField(primary_key=True) name = models.CharField(max_length=255, verbose_name='姓名') - id_number = models.CharField(max_length=255, verbose_name='身份证号', unique=True) - gender = models.CharField(max_length=10, choices=GENDER_CHOICES, verbose_name='性别') - birthday = models.DateField(verbose_name='生日') - age = models.IntegerField(verbose_name='年龄') - height = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='身高(cm)') - weight = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='体重(kg)') - blood_type = models.CharField(max_length=3, choices=BLOOD_TYPE_CHOICES, verbose_name='血型') - ethnicity = models.CharField(max_length=255, verbose_name='民族', blank=True) - domicile = models.CharField(max_length=255, verbose_name='户籍地', blank=True) - marital_status = models.CharField(max_length=50, choices=MARITAL_STATUS_CHOICES, verbose_name='婚姻状态') - political_affiliation = models.CharField(max_length=50, choices=POLITICAL_AFFILIATION_CHOICES, - verbose_name='政治面貌') - entry_date = models.DateField(verbose_name='入职日期') - regularization_date = models.DateField(null=True, blank=True, verbose_name='转正日期') - employment_type = models.CharField(max_length=50, choices=EMPLOYMENT_TYPE_CHOICES, verbose_name='用工性质') - status = models.CharField(max_length=50, choices=STATUS_CHOICES, verbose_name='状态') - primary_department = models.CharField(max_length=255, verbose_name='一级部门', default='星河') - secondary_department = models.CharField(max_length=255, verbose_name='二级部门', default='数资团队') - position = models.CharField(max_length=255, verbose_name='岗位', default='数据分析师') - rank = models.CharField(max_length=255, verbose_name='职级', default='P1') - contract_end_date = models.DateField(null=True, blank=True, verbose_name='当前合同到期日期') - mobile_number = models.CharField(max_length=255, verbose_name='手机号') - email = models.EmailField(verbose_name='邮箱') - mailing_address = models.CharField(max_length=255, verbose_name='通信地址', blank=True) - emergency_contact = models.CharField(max_length=255, verbose_name='紧急联系人', blank=True) - relation_with_contact = models.CharField(max_length=255, verbose_name='与本人关系', blank=True) - emergency_contact_phone = models.CharField(max_length=255, verbose_name='紧急联系人电话', blank=True) - education = models.CharField(max_length=50, choices=EDUCATION_CHOICES, verbose_name='学历') - undergraduate_school = models.CharField(max_length=255, verbose_name='本科毕业院校', blank=True) - graduate_school = models.CharField(max_length=255, verbose_name='研究生毕业院校', blank=True) - major = models.CharField(max_length=255, verbose_name='专业', blank=True) - technical_title = models.CharField(max_length=255, verbose_name='技术职称', blank=True) - base_salary = models.TextField(verbose_name='基础工资(元)', blank=True) - salary_account_number = models.CharField(max_length=255, verbose_name='工资卡号', blank=True) - bank_of_salary_account = models.CharField(max_length=255, verbose_name='工资卡开户行', blank=True) - resignation_type = models.CharField(max_length=50, choices=RESIGNATION_TYPE_CHOICES, verbose_name='离职类型', - blank=True) - resignation_reason = models.TextField(verbose_name='离职原因', blank=True) - resignation_date = models.DateField(null=True, blank=True, verbose_name='离职日期') + id_number = models.CharField(max_length=255, verbose_name='身份证号', unique=True, blank=True, null=True) + gender = models.CharField(max_length=10, choices=GENDER_CHOICES, verbose_name='性别', blank=True, null=True) + birthday = models.DateField(verbose_name='生日', blank=True, null=True) + age = models.IntegerField(verbose_name='年龄', blank=True, null=True) + height = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='身高(cm)', blank=True, null=True) + weight = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='体重(kg)', blank=True, null=True) + blood_type = models.CharField(max_length=3, choices=BLOOD_TYPE_CHOICES, verbose_name='血型', blank=True, null=True) + ethnicity = models.CharField(max_length=255, verbose_name='民族', blank=True, null=True) + domicile = models.CharField(max_length=255, verbose_name='户籍地', blank=True, null=True) + marital_status = models.CharField(max_length=50, choices=MARITAL_STATUS_CHOICES, verbose_name='婚姻状态', blank=True, null=True) + political_affiliation = models.CharField(max_length=50, choices=POLITICAL_AFFILIATION_CHOICES, verbose_name='政治面貌', blank=True, null=True) + entry_date = models.DateField(verbose_name='入职日期', blank=True, null=True) + regularization_date = models.DateField(verbose_name='转正日期', blank=True, null=True) + employment_type = models.CharField(max_length=50, choices=EMPLOYMENT_TYPE_CHOICES, verbose_name='用工性质', blank=True, null=True) + status = models.CharField(max_length=50, choices=STATUS_CHOICES, verbose_name='状态', blank=True, null=True) + primary_department = models.CharField(max_length=255, verbose_name='一级部门', blank=True, null=True) + secondary_department = models.CharField(max_length=255, verbose_name='二级部门', blank=True, null=True) + position = models.CharField(max_length=255, verbose_name='岗位') + rank = models.CharField(max_length=255, verbose_name='职级') + contract_end_date = models.DateField(verbose_name='当前合同到期日期', blank=True, null=True) + mobile_number = models.CharField(max_length=255, verbose_name='手机号', blank=True, null=True) + email = models.EmailField(verbose_name='邮箱', blank=True, null=True) + mailing_address = models.CharField(max_length=255, verbose_name='通信地址', blank=True, null=True) + emergency_contact = models.CharField(max_length=255, verbose_name='紧急联系人', blank=True, null=True) + relation_with_contact = models.CharField(max_length=255, verbose_name='与本人关系', blank=True, null=True) + emergency_contact_phone = models.CharField(max_length=255, verbose_name='紧急联系人电话', blank=True, null=True) + education = models.CharField(max_length=50, choices=EDUCATION_CHOICES, verbose_name='学历', blank=True, null=True) + undergraduate_school = models.CharField(max_length=255, verbose_name='本科毕业院校', blank=True, null=True) + graduate_school = models.CharField(max_length=255, verbose_name='研究生毕业院校', blank=True, null=True) + major = models.CharField(max_length=255, verbose_name='专业', blank=True, null=True) + technical_title = models.CharField(max_length=255, verbose_name='技术职称', blank=True, null=True) + base_salary = models.TextField(verbose_name='基础工资(元)', blank=True, null=True) + salary_account_number = models.CharField(max_length=255, verbose_name='工资卡号', blank=True, null=True) + bank_of_salary_account = models.CharField(max_length=255, verbose_name='工资卡开户行', blank=True, null=True) + resignation_type = models.CharField(max_length=50, choices=RESIGNATION_TYPE_CHOICES, verbose_name='离职类型', blank=True, null=True) + resignation_reason = models.TextField(verbose_name='离职原因', blank=True, null=True) + resignation_date = models.DateField(verbose_name='离职日期', blank=True, null=True) def save(self, *args, **kwargs): primary_department_name = PrimaryDepartment.objects.filter(department_name=self.primary_department).first() @@ -152,7 +150,7 @@ class EmployeeInformation(models.Model): raise ValueError("岗位不存在") if not rank: - raise ValueError("职位不存在") + raise ValueError("职级不存在") super(EmployeeInformation, self).save(*args, **kwargs)