XH_Digital_Management/application/org_mgnt/tests.py

98 lines
3.8 KiB
Python

import os
import django
from datetime import datetime, timedelta
import random
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'XH_Digital_Management.settings')
django.setup()
from application.org_mgnt.models import CompanyEntity, EntityChangeRecord, CompanyBankAccount, PrimaryDepartment, \
SecondaryDepartment
def generate_test_data():
# Create PrimaryDepartment
primary_departments = []
for i in range(3):
department = PrimaryDepartment.objects.create(
department_name=f"一级部门{i}",
description=f"描述{i}"
)
primary_departments.append(department)
print(f"Created PrimaryDepartment: {department}")
# Create SecondaryDepartment
secondary_departments = []
for i in range(3):
department = SecondaryDepartment.objects.create(
primary_department=random.choice(primary_departments),
secondary_department_name=f"二级部门{i}",
description=f"描述{i}"
)
secondary_departments.append(department)
print(f"Created SecondaryDepartment: {department}")
# Create CompanyEntity
company_entities = []
for i in range(5):
company = CompanyEntity.objects.create(
company_type=f"类型{i}",
company_name=f"公司名称{i}",
registration_address=f"注册地址{i}",
registered_capital=random.uniform(1000000, 10000000),
capital_paid_time=datetime.now().date() - timedelta(days=random.randint(1, 365)),
capital_paid=random.uniform(500000, 9000000),
establishment_time=datetime.now().date() - timedelta(days=random.randint(365, 3650)),
operation_period=f"{random.randint(1, 50)}",
taxpayer_identification_number=f"纳税人识别号{i}",
business_status=random.choice(['存续', '注销']),
scope_of_business=f"营业范围{i}",
purpose_of_company=f"公司用途{i}",
shareholders_and_stakes=f"股东{i}: {random.uniform(10, 50)}%",
chairman=f"董事长{i}",
directors=f"董事{i}",
supervisor_chairman=f"监事长{i}",
employee_supervisor=f"职工监事{i}",
supervisors=f"监事{i}",
general_manager=f"总经理{i}",
financial_officer=f"财务负责人{i}",
historical_evolution=f"历史沿革{i}",
)
company_entities.append(company)
print(f"Created CompanyEntity: {company}")
# Create CompanyBankAccount
company_bank_accounts = []
for company in company_entities:
for i in range(2):
account = CompanyBankAccount.objects.create(
entity_id=company,
bank_name=f"开户行名称{i}",
account_number=f"账号{i}",
account_type=random.choice(['基本户', '一般户'])
)
company_bank_accounts.append(account)
print(f"Created CompanyBankAccount: {account}")
# Add related bank accounts
company.related_bank_accounts.set(company_bank_accounts)
print(f"Added related bank accounts to CompanyEntity: {company}")
# Create EntityChangeRecord
for company in company_entities:
for i in range(2):
change_record = EntityChangeRecord.objects.create(
company_entity=company,
change_date=datetime.now().date() - timedelta(days=random.randint(1, 365)),
change_type=f"变更类型{i}",
content_before_change=f"变更前内容{i}",
content_after_change=f"变更后内容{i}",
change_reason=f"变更原因{i}",
change_executed_by=f"变更执行人{i}"
)
print(f"Created EntityChangeRecord: {change_record}")
if __name__ == "__main__":
generate_test_data()