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

137 lines
9.4 KiB
Python
Raw Normal View History

# 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')),
2024-05-29 09:27:39 +08:00
('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='说明')),
2024-05-29 09:27:39 +08:00
('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': '其他假期详细记录',
},
),
]