137 lines
9.4 KiB
Python
137 lines
9.4 KiB
Python
# 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='fac_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='fac_mgnt.employeeattendancerecord', verbose_name='考勤记录')),
|
||
],
|
||
options={
|
||
'verbose_name': '其他假期详细记录',
|
||
'verbose_name_plural': '其他假期详细记录',
|
||
},
|
||
),
|
||
]
|