import os import django import random from datetime import date, timedelta # 设置 Django 环境 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'XH_Digital_Management.settings') django.setup() from application.pjt_mgnt.models import ProjectLedger from application.fac_mgnt.models import * from application.hrm_mgnt.models import * def generate_test_data(): # 创建开票记录 for i in range(5): invoice_record = InvoiceRecord.objects.create( project_id=ProjectLedger.objects.order_by('?').first(), project_name=f"项目名称{i}", primary_department=f"一级部门{i}", project_manager=f"项目负责人{i}", nature=random.choice(['新增', '开票']), billing_entity=f"开票主体{i}", invoice_number=f"发票号码{i}", purchase_info=f"购票信息{i}", invoice_date=date.today() - timedelta(days=random.randint(1, 365)), invoice_content=f"开票内容{i}", total_amount=random.uniform(1000, 10000), tax_rate=random.uniform(0, 25), amount_excluding_tax=random.uniform(1000, 10000), tax_amount=random.uniform(100, 1000), invoice_type=random.choice(['专票', '普票']) ) print(f"Created InvoiceRecord: {invoice_record}") # 创建回款记录 for i in range(5): repayment_record = RepaymentRecord.objects.create( project_id=ProjectLedger.objects.order_by('?').first(), project_name=f"项目名称{i}", primary_department=f"一级部门{i}", project_manager=f"项目负责人{i}", invoice=InvoiceRecord.objects.order_by('?').first(), repayment_amount=random.uniform(1000, 10000) ) print(f"Created RepaymentRecord: {repayment_record}") # 创建员工提成情况 for i in range(5): commission = EmployeeCommission.objects.create( project_id=ProjectLedger.objects.order_by('?').first(), project_name=f"项目名称{i}", year_month=date.today() - timedelta(days=random.randint(1, 365)), company_retained=random.uniform(1000, 10000), name=f"员工姓名{i}", primary_department=f"一级部门{i}", total_commission=random.uniform(1000, 10000), amount_paid=random.uniform(1000, 5000), accrued_amount=random.uniform(1000, 5000), chairman_fund=random.uniform(1000, 5000) ) print(f"Created EmployeeCommission: {commission}") # 创建员工提成记录修改 for i in range(5): modification = CommissionModification.objects.create( commission_record=EmployeeCommission.objects.order_by('?').first(), modified_field=random.choice(['total_commission', 'amount_paid', 'accrued_amount', 'chairman_fund']), previous_amount=random.uniform(1000, 5000), modified_amount=random.uniform(1000, 5000), modified_by=f"修改人{i}", modification_date=date.today() ) print(f"Created CommissionModification: {modification}") if __name__ == "__main__": generate_test_data()