feat: 数字员工财务报告体系与定时提醒及看板快照调度
- 新增数字员工财务报告生成、邮件投递与渲染调度器 - 引入员工画像扫描调度与定时提醒任务 - 完善财务看板快照、排行口径与部门人员占比计算 - 优化数字员工工作看板仪表盘与技能目录 - 增强前端总览页图表、工作台摘要与顶部导航栏交互 - 新增差旅申请规划推动提醒与报销创建会话状态管理 - 补充财务报告、看板调度、数字员工工作记录测试覆盖
This commit is contained in:
@@ -5,14 +5,17 @@ from typing import Any
|
||||
|
||||
from app.core.agent_enums import AgentName
|
||||
from app.services.agent_foundation_constants import (
|
||||
DIGITAL_EMPLOYEE_FINANCE_DASHBOARD_SNAPSHOT_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_FINANCE_REPORT_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_FINANCE_POLICY_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_PROFILE_SCAN_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_REMINDER_SCAN_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_SKILL_CATEGORIES,
|
||||
DIGITAL_EMPLOYEE_TASK_CATEGORY_MAP,
|
||||
)
|
||||
from app.services.agent_foundation_digital_employee_tasks import (
|
||||
AgentFoundationDigitalEmployeeTaskMixin,
|
||||
DIGITAL_EMPLOYEE_ANALYSIS_ROLE_BOUNDARY,
|
||||
AgentFoundationDigitalEmployeeTaskMixin,
|
||||
)
|
||||
|
||||
|
||||
@@ -56,11 +59,17 @@ def test_digital_employee_skill_catalog_has_complete_categories_and_packages() -
|
||||
categories = [str(spec["skill_category"]) for spec in specs]
|
||||
skill_names = [str(dict(spec["config"])["skill_name"]) for spec in specs]
|
||||
|
||||
assert len(specs) == 16
|
||||
assert len(specs) == 19
|
||||
assert len(set(codes)) == len(codes)
|
||||
assert set(categories) == set(DIGITAL_EMPLOYEE_SKILL_CATEGORIES)
|
||||
assert DIGITAL_EMPLOYEE_TASK_CATEGORY_MAP[DIGITAL_EMPLOYEE_PROFILE_SCAN_TASK_CODE] == "积累"
|
||||
assert len(set(codes + [DIGITAL_EMPLOYEE_FINANCE_POLICY_TASK_CODE])) == 17
|
||||
assert (
|
||||
DIGITAL_EMPLOYEE_TASK_CATEGORY_MAP[DIGITAL_EMPLOYEE_FINANCE_DASHBOARD_SNAPSHOT_TASK_CODE]
|
||||
== "整理"
|
||||
)
|
||||
assert DIGITAL_EMPLOYEE_TASK_CATEGORY_MAP[DIGITAL_EMPLOYEE_REMINDER_SCAN_TASK_CODE] == "升级"
|
||||
assert DIGITAL_EMPLOYEE_TASK_CATEGORY_MAP[DIGITAL_EMPLOYEE_FINANCE_REPORT_TASK_CODE] == "整理"
|
||||
assert len(set(codes + [DIGITAL_EMPLOYEE_FINANCE_POLICY_TASK_CODE])) == 20
|
||||
|
||||
for skill_name in ["finance-policy-knowledge-organizer", *skill_names]:
|
||||
skill_file = _skill_root() / skill_name / "SKILL.md"
|
||||
@@ -114,6 +123,9 @@ def test_digital_employee_skills_do_not_cross_rule_governance_boundary() -> None
|
||||
)
|
||||
|
||||
assert "risk-clue-collector" in skill_names
|
||||
assert "finance-dashboard-snapshot-analyst" in skill_names
|
||||
assert "digital-employee-reminder-scanner" in skill_names
|
||||
assert "finance-report-orchestrator" in skill_names
|
||||
assert "rule-execution-case-organizer" in skill_names
|
||||
assert "policy-reference-gap-hinter" in skill_names
|
||||
assert "risk-rule-discovery" not in skill_names
|
||||
|
||||
Reference in New Issue
Block a user