XH_Digital_Management/application/hrm_mgnt/migrations/0001_initial.py

137 lines
9.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Generated by Django 5.0.6 on 2024-05-27 05:19
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='AnnualLeaveRecord',
fields=[
('record_id', models.AutoField(primary_key=True, serialize=False, verbose_name='记录编号')),
('year', models.IntegerField(verbose_name='年份')),
('employee_name', models.CharField(max_length=255, verbose_name='姓名')),
('primary_department', models.CharField(max_length=255, verbose_name='一级部门')),
('total_annual_leave', models.IntegerField(verbose_name='年假天数')),
('used_annual_leave', models.IntegerField(verbose_name='已请年假数')),
('remaining_annual_leave', models.IntegerField(verbose_name='剩余年假数')),
],
options={
'verbose_name': '年假使用记录',
'verbose_name_plural': '年假使用记录表',
},
),
migrations.CreateModel(
name='EmployeeInformation',
fields=[
('employee_id', models.AutoField(primary_key=True, serialize=False)),
('name', models.CharField(max_length=255, verbose_name='姓名')),
('id_number', models.CharField(max_length=255, unique=True, verbose_name='身份证号')),
('gender', models.CharField(choices=[('', ''), ('', ''), ('其他', '其他')], max_length=10, verbose_name='性别')),
('birthday', models.DateField(verbose_name='生日')),
('age', models.IntegerField(verbose_name='年龄')),
('height', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='身高cm')),
('weight', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='体重kg')),
('blood_type', models.CharField(choices=[('A', 'A'), ('B', 'B'), ('AB', 'AB'), ('O', 'O'), ('其他', '其他')], max_length=3, verbose_name='血型')),
('ethnicity', models.CharField(blank=True, max_length=255, verbose_name='民族')),
('domicile', models.CharField(blank=True, max_length=255, verbose_name='户籍地')),
('marital_status', models.CharField(choices=[('未婚', '未婚'), ('已婚未育', '已婚未育'), ('已婚已育', '已婚已育'), ('离婚', '离婚'), ('其他', '其他')], max_length=50, verbose_name='婚姻状态')),
('political_affiliation', models.CharField(choices=[('共产党员', '共产党员'), ('共青团员', '共青团员'), ('群众', '群众'), ('其他', '其他')], max_length=50, verbose_name='政治面貌')),
('entry_date', models.DateField(verbose_name='入职时间')),
('regularization_date', models.DateField(blank=True, null=True, verbose_name='转正日期')),
('departure_date', models.DateField(blank=True, null=True, verbose_name='离职时间')),
('employment_type', models.CharField(choices=[('全职', '全职'), ('兼职', '兼职'), ('实习', '实习')], max_length=50, verbose_name='用工性质')),
('status', models.CharField(choices=[('在职', '在职'), ('离职', '离职')], max_length=50, verbose_name='状态')),
('primary_department', models.CharField(max_length=255, verbose_name='一级部门')),
('secondary_department', models.CharField(blank=True, max_length=255, verbose_name='二级部门')),
('position', models.CharField(max_length=255, verbose_name='职务')),
('grade', models.CharField(blank=True, max_length=255, verbose_name='职级')),
('contract_end_date', models.DateField(blank=True, null=True, verbose_name='当前合同到期时间')),
('mobile_number', models.CharField(max_length=255, verbose_name='手机号')),
('email', models.EmailField(max_length=254, verbose_name='邮箱')),
('mailing_address', models.CharField(blank=True, max_length=255, verbose_name='通信地址')),
('emergency_contact', models.CharField(blank=True, max_length=255, verbose_name='紧急联系人')),
('relation_with_contact', models.CharField(blank=True, max_length=255, verbose_name='与本人关系')),
('emergency_contact_phone', models.CharField(blank=True, max_length=255, verbose_name='紧急联系人电话')),
('education', models.CharField(choices=[('高中', '高中'), ('大专', '大专'), ('本科', '本科'), ('硕士研究生', '硕士研究生'), ('博士研究生', '博士研究生'), ('其他', '其他')], max_length=50, verbose_name='学历')),
('undergraduate_school', models.CharField(blank=True, max_length=255, verbose_name='本科毕业院校')),
('graduate_school', models.CharField(blank=True, max_length=255, verbose_name='研究生毕业院校')),
('major', models.CharField(blank=True, max_length=255, verbose_name='专业')),
('technical_title', models.CharField(blank=True, max_length=255, verbose_name='技术职称')),
('base_salary', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True, verbose_name='基础工资')),
('salary_account_number', models.CharField(blank=True, max_length=255, verbose_name='工资卡号')),
('bank_of_salary_account', models.CharField(blank=True, max_length=255, verbose_name='工资卡开户行')),
('resignation_type', models.CharField(blank=True, choices=[('合同期满', '合同期满'), ('主动辞职', '主动辞职'), ('无条件辞职', '无条件辞职'), ('试用未通过', '试用未通过'), ('辞退', '辞退'), ('其他', '其他')], max_length=50, verbose_name='离职类型')),
('resignation_reason', models.TextField(blank=True, verbose_name='离职原因')),
],
options={
'verbose_name': '人员基本信息表',
'verbose_name_plural': '人员基本信息表',
},
),
migrations.CreateModel(
name='Position',
fields=[
('position_id', models.AutoField(primary_key=True, serialize=False)),
('position_name', models.CharField(max_length=255, verbose_name='职务名称')),
('position_description', models.TextField(verbose_name='职务描述')),
],
options={
'verbose_name': '职务表',
'verbose_name_plural': '职务表',
},
),
migrations.CreateModel(
name='Rank',
fields=[
('rank_id', models.AutoField(primary_key=True, serialize=False, verbose_name='职级ID')),
('rank_name', models.CharField(max_length=255, verbose_name='职级名称')),
('rank_description', models.TextField(verbose_name='职级描述')),
],
options={
'verbose_name': '职级表',
'verbose_name_plural': '职级表',
},
),
migrations.CreateModel(
name='EmployeeAttendanceRecord',
fields=[
('record_id', models.AutoField(primary_key=True, serialize=False)),
('year_month', models.DateField(verbose_name='年月')),
('late', models.IntegerField(default=0, verbose_name='迟到')),
('early_leave', models.IntegerField(default=0, verbose_name='早退')),
('absenteeism', models.IntegerField(default=0, verbose_name='旷工')),
('annual_leave', models.IntegerField(default=0, verbose_name='年假')),
('personal_leave', models.IntegerField(default=0, verbose_name='事假')),
('sick_leave', models.IntegerField(default=0, verbose_name='病假')),
('other_leave_details_id', models.IntegerField(blank=True, null=True, verbose_name='其他假期详细记录ID')),
('employee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='opa_mgnt.employeeinformation', verbose_name='员工')),
],
options={
'verbose_name': '员工考勤记录表',
'verbose_name_plural': '员工考勤记录表',
},
),
migrations.CreateModel(
name='OtherLeaveDetails',
fields=[
('record_id', models.AutoField(primary_key=True, serialize=False)),
('leave_type', models.CharField(choices=[('事假', '事假'), ('年假', '年假'), ('病假', '病假'), ('婚假', '婚假'), ('丧假', '丧假')], max_length=255, verbose_name='假期类型')),
('days', models.IntegerField(verbose_name='天数')),
('description', models.TextField(verbose_name='说明')),
('attendance_record', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='other_leaves', to='opa_mgnt.employeeattendancerecord', verbose_name='考勤记录')),
],
options={
'verbose_name': '其他假期详细记录',
'verbose_name_plural': '其他假期详细记录',
},
),
]