- 新增数字员工财务报告生成、邮件投递与渲染调度器 - 引入员工画像扫描调度与定时提醒任务 - 完善财务看板快照、排行口径与部门人员占比计算 - 优化数字员工工作看板仪表盘与技能目录 - 增强前端总览页图表、工作台摘要与顶部导航栏交互 - 新增差旅申请规划推动提醒与报销创建会话状态管理 - 补充财务报告、看板调度、数字员工工作记录测试覆盖
4.3 KiB
4.3 KiB
数字员工财务经验沉淀与定时提醒开发 TODO
阶段一:调研与文档
- 梳理现有数字员工技能、画像扫描、财务看板快照和看板聚合链路。[CONCEPT: 背景与问题] 证据:已核对
agent_foundation_digital_employee_tasks.py、digital_employee_dashboard.py、employee_profile_scan_task.py。 - 梳理审批、预算、出差申请和报销单模型字段。[CONCEPT: 方案设计] 证据:已核对
approval.py、budget.py、financial_record.py、user_agent_application.py。 - 明确第一阶段不新增数据库结构,只用
agent_runs和agent_tool_calls保存提醒扫描报告。[CONCEPT: 目标与非目标] 证据:CONCEPT.md已写明。 - 创建概念文档和开发 TODO。[CONCEPT: 全文] 证据:本目录
CONCEPT.md与TODO.md。
阶段二:后端提醒扫描任务
- 新增
digital_employee_reminder_task.py,定义DigitalEmployeeReminderTaskService。[CONCEPT: 后端] 证据:新增服务文件并通过 ruff。 - 实现待审批提醒扫描,按直属领导聚合待审批单据。[CONCEPT: 定时提醒技能] 证据:
test_digital_employee_reminder_task.py覆盖approval_pending。 - 实现预算编制/预算缺口提醒,按当前年度和期间识别预算池缺口。[CONCEPT: 定时提醒技能] 证据:
test_digital_employee_reminder_task.py覆盖budget_compilation。 - 实现出差申请到期提醒,识别已结束但未报销或未关闭的申请单。[CONCEPT: 定时提醒技能] 证据:
test_digital_employee_reminder_task.py覆盖travel_application_expiry。 - 实现报销逾期/补材料/付款/归档提醒,识别流程卡点。[CONCEPT: 定时提醒技能] 证据:
test_digital_employee_reminder_task.py覆盖reimbursement_overdue。 - 将提醒报告写入
AgentRun和AgentToolCall,包含recipient_count、reminder_count和分类计数。[CONCEPT: 数据输出结构] 证据:任务服务测试读取返回 summary 与 report。
阶段三:调度与看板
- 新增
digital_employee_reminder_scheduler.py,默认每天 02:00 扫描,支持开发环境首次延迟运行。[CONCEPT: 后端] 证据:新增调度器并通过 ruff。 - 在
main.py生命周期中启动和关闭提醒调度器。[CONCEPT: 后端] 证据:main.py已接入 scheduler start/shutdown。 - 扩展
DigitalEmployeeDashboardService,识别digital_employee_reminder_scan。[CONCEPT: 前端] 证据:看板聚合测试覆盖 task type。 - 看板指标增加提醒产出计数,最近运行记录显示“定时提醒扫描”。[CONCEPT: 指标与验收] 证据:
test_digital_employee_dashboard_service.py覆盖reminders和businessOutputs。
阶段四:测试与验证
- 新增后端单元测试,验证四类提醒的收件人、数量和摘要。[CONCEPT: 测试方案] 证据:
server/tests/test_digital_employee_reminder_task.py。 - 新增数字员工看板聚合测试,验证提醒数量进入
businessOutputs。[CONCEPT: 测试方案] 证据:server/tests/test_digital_employee_dashboard_service.py。 - 在容器内运行 ruff:
docker exec -w /app -e SERVER_VENV_DIR=/tmp/x-financial-server-venv x-financial-main /tmp/x-financial-server-venv/bin/python -m ruff check <changed-files>。[CONCEPT: 测试方案] 证据:All checks passed。 - 在容器内运行定向 pytest,超时 60s,验证提醒任务和看板聚合。[CONCEPT: 测试方案] 证据:
5 passed in 3.39s。 - 重启
x-financial-main,查询agent_runs确认提醒扫描运行记录成功生成。[CONCEPT: 指标与验收] 证据:run_4c3a2b847fae4adasucceeded,提醒 47 人,生成 403 条事项。 - 调用
/api/v1/analytics/digital-employee-dashboard,确认任务分布包含定时提醒扫描。[CONCEPT: 指标与验收] 证据:HTTP 200,reminders=403,任务分布包含digital_employee_reminder_scan。
后续阶段:消息投递闭环
- 评估是否新增提醒消息表、已读状态和重复提醒抑制策略。[CONCEPT: 风险与开放问题]
- 设计站内信、邮件或企业微信投递通道。[CONCEPT: 非目标]
- 设计提醒处理结果回流,用于沉淀“哪些提醒真正有效”。[CONCEPT: 行为沉淀技能]