190 lines
13 KiB
Python
190 lines
13 KiB
Python
# 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': '项目进度表',
|
||
},
|
||
),
|
||
]
|