feat(platform): close AI expense value loop
Add tenant-safe value, telemetry, connector, commercial, and production-readiness foundations.
This commit is contained in:
@@ -65,6 +65,7 @@ def _persist_claim(
|
||||
manager = (
|
||||
Employee(
|
||||
id=f"manager-{suffix}",
|
||||
tenant_id=tenant_id,
|
||||
employee_no=f"M-{suffix}",
|
||||
name=f"经理{suffix}",
|
||||
email=f"manager-{suffix}@example.com",
|
||||
@@ -74,6 +75,7 @@ def _persist_claim(
|
||||
)
|
||||
employee = Employee(
|
||||
id=f"employee-{suffix}",
|
||||
tenant_id=tenant_id,
|
||||
employee_no=f"E-{suffix}",
|
||||
name=f"员工{suffix}",
|
||||
email=f"employee-{suffix}@example.com",
|
||||
@@ -81,6 +83,7 @@ def _persist_claim(
|
||||
)
|
||||
claim = ExpenseClaim(
|
||||
id=f"claim-{suffix}",
|
||||
tenant_id=tenant_id,
|
||||
claim_no=f"RE-BACKFILL-{suffix}",
|
||||
employee=employee,
|
||||
employee_name=employee.name,
|
||||
@@ -326,6 +329,7 @@ def test_entered_at_fallback_order_is_explicit_and_deterministic() -> None:
|
||||
submitted_at = datetime(2026, 7, 14, 10, 0, tzinfo=UTC)
|
||||
claim = ExpenseClaim(
|
||||
id="claim-time-fallback",
|
||||
tenant_id="tenant-a",
|
||||
claim_no="RE-TIME-FALLBACK",
|
||||
employee_name="张三",
|
||||
department_name="市场部",
|
||||
|
||||
Reference in New Issue
Block a user