XH_Digital_Management/application/fac_mgnt/tests.py

82 lines
3.2 KiB
Python
Raw Permalink Normal View History

2024-06-04 16:50:30 +08:00
import os
import django
import random
from datetime import date, timedelta
2024-06-04 16:50:30 +08:00
# 设置 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()