refactor: 彻底删除实际模块status字段
- 数据库: DROP project_finances.status 列(幂等迁移) - 后端: routes.py移除status过滤(12处), helpers.py修复SQL - 后端: 删除migrate_move_pending_to_plan, seed_data移除status - 前端: finance.js/performance.js/utils.js全部清除status引用 - finFilter默认值改为projects - 版本号 v1.0.0.23
This commit is contained in:
@@ -72,7 +72,7 @@ def make_budget_data(sign_amount, signed_month, status):
|
||||
"""生成12个月的预算数据"""
|
||||
months = []
|
||||
start_m = int(signed_month.split("-")[1]) if signed_month else 1
|
||||
rev_total = sign_amount if status == "已签约" else int(sign_amount * random.uniform(0.3, 0.7))
|
||||
rev_total = sign_amount
|
||||
gross_rate = random.uniform(0.25, 0.55)
|
||||
payment_rate = random.uniform(0.7, 0.95)
|
||||
|
||||
@@ -135,17 +135,17 @@ def seed_db():
|
||||
cust_idx += i % 3
|
||||
|
||||
# 70% 已签约, 30% 待签约
|
||||
status = "已签约" if random.random() < 0.7 else "待签约"
|
||||
sign_month = f"2026-{random.randint(1, 6):02d}" if status == "已签约" else ""
|
||||
status = "已签约"
|
||||
sign_month = f"2026-{random.randint(1, 6):02d}"
|
||||
project_code = f"{tenant[:2]}-2026-{i+1:03d}"
|
||||
business_type = random.choice(["学术推广", "医生教育", "患者管理", "科研合作", "科普内容"])
|
||||
|
||||
# 如果签约,总额 = 签约额;否则为0
|
||||
total_rev = int(sign_amount * random.uniform(0.8, 1.0)) if status == "已签约" else 0
|
||||
total_gross = int(total_rev * random.uniform(0.25, 0.5)) if status == "已签约" else 0
|
||||
total_payment = int(total_rev * random.uniform(0.7, 0.9)) if status == "已签约" else 0
|
||||
total_cost = int(total_rev * random.uniform(0.3, 0.5)) if status == "已签约" else 0
|
||||
total_paid = int(total_cost * random.uniform(0.7, 0.95)) if status == "已签约" else 0
|
||||
total_rev = int(sign_amount * random.uniform(0.8, 1.0))
|
||||
total_gross = int(total_rev * random.uniform(0.25, 0.5))
|
||||
total_payment = int(total_rev * random.uniform(0.7, 0.9))
|
||||
total_cost = int(total_rev * random.uniform(0.3, 0.5))
|
||||
total_paid = int(total_cost * random.uniform(0.7, 0.95))
|
||||
|
||||
budget_data = make_budget_data(sign_amount, sign_month, status)
|
||||
expense_data = make_expense_data() if status == "已签约" else "[]"
|
||||
@@ -157,16 +157,16 @@ def seed_db():
|
||||
|
||||
cur = _exec(conn, """
|
||||
INSERT INTO project_finances
|
||||
(tenant, project_id, business_type, customer_name, sign_amount, sign_month, status,
|
||||
(tenant, project_id, business_type, customer_name, sign_amount, sign_month,
|
||||
sales_person, total_rev, total_gross, total_payment, total_cost, total_paid,
|
||||
budget_data, expense_data, task_data,
|
||||
project_code, start_date, end_date, task_type, task_count,
|
||||
service_fee_standard, project_manager, contact_name, contact_phone, other_info,
|
||||
created_at, updated_at)
|
||||
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
||||
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
|
||||
""", (
|
||||
tenant, f"PF-{tenant[:2]}-{i+1:04d}", business_type, cust_name,
|
||||
sign_amount, sign_month, status,
|
||||
sign_amount, sign_month,
|
||||
f"销售{random.choice(['A','B','C','D'])}", total_rev, total_gross,
|
||||
total_payment, total_cost, total_paid,
|
||||
budget_data, expense_data, task_data,
|
||||
@@ -178,7 +178,7 @@ def seed_db():
|
||||
today, today,
|
||||
))
|
||||
# Store for later use
|
||||
pf_ids.setdefault(tenant, []).append((cur.lastrowid, proj_name, cust_name, status))
|
||||
pf_ids.setdefault(tenant, []).append((cur.lastrowid, proj_name, cust_name))
|
||||
|
||||
# operation_projects: 每个工作台 3-5 个
|
||||
op_count = random.randint(3, 5)
|
||||
|
||||
Reference in New Issue
Block a user