# Generated by Django 4.1.2 on 2025-08-08 14:41 from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [ ('userprofile', '0002_alter_academicprofile_department_and_more'), ] operations = [ migrations.CreateModel( name='InvoiceHeader', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='单位名称')), ('tax_id', models.CharField(max_length=50, verbose_name='纳税人识别号')), ('address', models.CharField(max_length=200, verbose_name='地址')), ('bank', models.CharField(max_length=100, verbose_name='开户银行')), ('account', models.CharField(max_length=50, verbose_name='银行账号')), ], options={ 'verbose_name': '发票抬头信息', 'verbose_name_plural': '发票抬头信息', 'db_table': 'invoice_header', 'ordering': ['name'], }, ), migrations.CreateModel( name='InvoiceRecord', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('amount', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='金额')), ('date', models.DateField(verbose_name='时间')), ('purpose', models.CharField(max_length=100, verbose_name='用途')), ('project', models.CharField(max_length=100, verbose_name='归属项目')), ('actual_paid', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='实付金额')), ('is_reported', models.BooleanField(default=False, verbose_name='是否申报')), ('invoice_attachment', models.FileField(blank=True, null=True, upload_to='invoices/', verbose_name='发票附件')), ('payment_attachment', models.FileField(blank=True, null=True, upload_to='payments/', verbose_name='支付附件')), ('status', models.CharField(choices=[('P', '待审批'), ('A', '已通过'), ('R', '已拒绝')], default='P', max_length=1, verbose_name='审批状态')), ('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('header', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='invoices', to='invoice.invoiceheader', verbose_name='单位抬头')), ('teacher', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='teacher_invoices', to='userprofile.users', verbose_name='归属老师')), ], options={ 'verbose_name': '发票记录', 'verbose_name_plural': '发票记录', 'db_table': 'invoice_record', 'ordering': ['-date'], }, ), ]