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

190 lines
13 KiB
Python
Raw Normal View History

# Generated by Django 5.0.6 on 2024-05-27 07:42
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='ProjectLedger',
fields=[
('project_id', models.AutoField(primary_key=True, serialize=False, verbose_name='项目编号')),
('project_name', models.CharField(max_length=255, verbose_name='项目名称')),
('start_date', models.DateField(verbose_name='开始日期')),
('end_date', models.DateField(verbose_name='结束日期')),
('primary_department', models.CharField(max_length=255, verbose_name='一级部门')),
('customer_name', models.CharField(max_length=255, verbose_name='客户名称')),
('province', models.CharField(max_length=255, verbose_name='')),
('city', models.CharField(max_length=255, verbose_name='')),
('district', models.CharField(max_length=255, verbose_name='区县')),
('project_leader', models.CharField(max_length=255, verbose_name='负责人')),
('project_members', models.TextField(verbose_name='项目组员')),
('project_status', models.CharField(choices=[('进行中', '进行中'), ('暂停', '暂停'), ('待收款', '待收款'), ('完成', '完成')], max_length=100, verbose_name='项目状态')),
('resource_type', models.CharField(choices=[('公司', '公司'), ('个人', '个人')], max_length=50, verbose_name='资源类型')),
('project_nature', models.CharField(choices=[('新增', '新增'), ('存量', '存量'), ('新增及存量', '新增及存量'), ('老客户新业务', '老客户新业务')], max_length=100, verbose_name='项目性质')),
('project_progress', models.CharField(max_length=255, verbose_name='项目进度')),
('contract_date', models.DateField(verbose_name='签约时间')),
('contract_amount', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='标的金额')),
('contract_rate', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='合同费率')),
('revenue', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='收入')),
('cost_rate', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='成本费率')),
('cost', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='成本')),
('net_income', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='净收入')),
('total_amount_including_tax', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='价税合计金额')),
('repayment_amount', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='回款金额')),
('receivable_net_income', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='应收净收入')),
('actual_net_income', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='实收净收入')),
('outstanding_net_income', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='待收净收入')),
('notes', models.TextField(verbose_name='备注')),
],
options={
'verbose_name': '项目台账',
'verbose_name_plural': '项目台账',
},
),
migrations.CreateModel(
name='ProjectProgressSettings',
fields=[
('config_id', models.AutoField(primary_key=True, serialize=False, verbose_name='配置ID')),
('project_type', models.CharField(max_length=255, verbose_name='项目类型')),
('flow_nodes_setting', models.CharField(help_text='项目进度设置示例:买菜;洗菜;切菜;烧菜;', max_length=255, verbose_name='项目进度设置')),
],
options={
'verbose_name': '项目进度设置表',
'verbose_name_plural': '项目进度设置表',
},
),
migrations.CreateModel(
name='ChildProjectLedgerA',
fields=[
('project_id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='pjt_mgnt.projectledger', verbose_name='项目编号')),
('project_type', models.CharField(choices=[('cbc', 'cbc'), ('债拍', '债拍'), ('其他', '其他')], max_length=255, verbose_name='项目类型')),
('resource_party', models.CharField(max_length=255, verbose_name='资源方')),
('cooperation_party', models.CharField(max_length=255, verbose_name='合作方')),
('transaction_amount', models.DecimalField(decimal_places=2, max_digits=15, verbose_name='成交金额')),
('target_amount', models.DecimalField(decimal_places=2, max_digits=15, verbose_name='标的金额')),
],
options={
'verbose_name': '项目台账续表A',
'verbose_name_plural': '项目台账续表A',
},
),
migrations.CreateModel(
name='ChildProjectLedgerB',
fields=[
('project_id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='pjt_mgnt.projectledger', verbose_name='项目编号')),
('project_type', models.CharField(choices=[('承销', '承销'), ('贸易', '贸易'), ('其他', '其他')], max_length=255, verbose_name='项目类型')),
('partner', models.CharField(max_length=255, verbose_name='合作方')),
('start_interest_date', models.DateField(verbose_name='起息日期')),
('interest_payment_date', models.DateField(verbose_name='付息日期')),
('number_of_people', models.IntegerField(verbose_name='人数')),
('amount', models.DecimalField(decimal_places=2, max_digits=15, verbose_name='金额')),
],
options={
'verbose_name': '项目台账续表B',
'verbose_name_plural': '项目台账续表B',
},
),
migrations.CreateModel(
name='ChildProjectLedgerC',
fields=[
('project_id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='pjt_mgnt.projectledger', verbose_name='项目编号')),
('project_type', models.CharField(choices=[('咨询', '咨询'), ('科技', '科技'), ('新媒体', '新媒体'), ('其他', '其他')], max_length=100, verbose_name='项目类型')),
('resource_party', models.CharField(max_length=255, verbose_name='资源方')),
('cooperation_party', models.CharField(max_length=255, verbose_name='合作方')),
('service_period', models.CharField(max_length=100, verbose_name='服务周期')),
],
options={
'verbose_name': '项目台账续表C',
'verbose_name_plural': '项目台账续表C',
},
),
migrations.CreateModel(
name='ChildProjectLedgerD',
fields=[
('project_id', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='pjt_mgnt.projectledger', verbose_name='项目编号')),
('project_type', models.CharField(choices=[('非标', '非标'), ('贸易', '贸易'), ('其他', '其他')], max_length=50, verbose_name='项目类型')),
('capital_demand_party', models.CharField(blank=True, max_length=255, verbose_name='资金需求方')),
('capital_provider', models.CharField(blank=True, max_length=255, verbose_name='资金提供方')),
('financing_method', models.CharField(blank=True, max_length=255, verbose_name='融资方式')),
('target_amount', models.DecimalField(blank=True, decimal_places=2, max_digits=15, null=True, verbose_name='标的金额')),
('term', models.CharField(blank=True, max_length=100, verbose_name='期限')),
('nominal_rate', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True, verbose_name='票面利率')),
('total_cost', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True, verbose_name='综合成本')),
('trade_type', models.CharField(blank=True, choices=[('带量', '带量'), ('取信', '取信'), ('补票', '补票')], max_length=50, verbose_name='贸易类型')),
('trade_entity', models.CharField(blank=True, max_length=255, verbose_name='贸易主体')),
('trade_service_provider', models.CharField(blank=True, max_length=255, verbose_name='贸易服务商')),
('trade_variety', models.CharField(blank=True, max_length=255, verbose_name='贸易品种')),
('demand_party', models.CharField(blank=True, max_length=255, verbose_name='需求方')),
('supply_party', models.CharField(blank=True, max_length=255, verbose_name='供给方')),
],
options={
'verbose_name': '项目台账续表D',
'verbose_name_plural': '项目台账续表D',
},
),
migrations.CreateModel(
name='EmployeeProjectIncomeSettlement',
fields=[
('record_id', models.AutoField(primary_key=True, serialize=False, verbose_name='记录ID')),
('year_month', models.CharField(help_text='格式为 YYYY-MM从开票记录中关联', max_length=7, verbose_name='年月')),
('project_name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pjt_mgnt.projectledger', verbose_name='项目名称')),
],
options={
'verbose_name': '项目组员收入结算表',
'verbose_name_plural': '项目组员收入结算表',
},
),
migrations.CreateModel(
name='EmployeeIncome',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='姓名')),
('contribution_rate', models.DecimalField(decimal_places=2, max_digits=5, verbose_name='贡献率')),
('sales_income', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='销售收入(元)')),
('employee_settlement', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='employee_income_settlements', to='pjt_mgnt.employeeprojectincomesettlement', verbose_name='员工收入结算')),
],
options={
'verbose_name': '项目组员收入详情表',
'verbose_name_plural': '项目组员收入详情表',
},
),
migrations.CreateModel(
name='ProjectIssuesLog',
fields=[
('issue_id', models.AutoField(primary_key=True, serialize=False, verbose_name='问题ID')),
('record_date', models.DateTimeField(verbose_name='记录时间')),
('description', models.TextField(verbose_name='问题描述')),
('handler', models.CharField(max_length=255, verbose_name='经办人')),
('reference', models.TextField(blank=True, verbose_name='参考依据')),
('solution', models.TextField(blank=True, verbose_name='解决方案')),
('decision_maker', models.CharField(blank=True, max_length=255, verbose_name='决策人')),
('status', models.CharField(choices=[('解决', '解决'), ('未解决', '未解决')], max_length=255, verbose_name='状态')),
('project_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pjt_mgnt.projectledger', verbose_name='项目ID')),
],
options={
'verbose_name': '项目问题记录表',
'verbose_name_plural': '项目问题记录表',
},
),
migrations.CreateModel(
name='ProjectProgress',
fields=[
('record_id', models.AutoField(primary_key=True, serialize=False, verbose_name='记录ID')),
('flow_nodes', models.JSONField(verbose_name='进度点')),
('project_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='pjt_mgnt.projectledger', verbose_name='项目编号')),
],
options={
'verbose_name': '项目进度表',
'verbose_name_plural': '项目进度表',
},
),
]