yueyang 9f67e2a308 feat: 增加系统化待办操作记录并修正 Excel 同步匹配 (#690)
## 任务占用与边界

- 任务名称:系统化待办操作记录与 Excel 同步修正
- 实际开发者:Codex
- 任务来源:负责人要求对照新版工作簿同步待办,并提供类似科目映射表的操作记录
- 目标结果:新增、修改、删除、Excel 导入均可追溯;修正工作簿编号前缀导致的重复匹配风险
- 预计修改路径:系统化待办导入器、页面、控制器、路由、操作记录表迁移及专项测试
- 将写入的公共契约:新增 business_systemization_todo_audit_logs、操作记录查询及 CSV 导出路由
- 仅复用、不修改的公共契约:现有待办表、附件表、分页和筛选结构
- 数据源、表/视图和字段:新版 10.19 工作梳理 Excel;待办表现有字段
- 上游 source_key / scope:不涉及上游
- 权限名、菜单键或共享组件:复用现有 business.page:other,systemization-todos
- 明确不修改的范围:不删除工作簿外事项,不覆盖完成截图

## 实际改动

- 新增操作记录:类型、内容、待办事项、负责人、责任人、日期、状态、完成情况、备注、排序、截图数量
- 支持按操作类型和关键词筛选,支持导出 CSV,保留最近 500 条
- 手工新增、编辑、删除、类型/内容批量修改、Excel 导入均写入操作记录
- Excel 同步会去除类型、内容和待办事项前的文字序号,并按无编号分组匹配,避免重复新增
- 保留工作簿外事项和已有截图

## 验证证据

- 待办专项测试:16 tests,299 assertions
- 覆盖:手工新增/修改/删除、操作记录查询、CSV 导出、Excel 新增/修改/保留截图、编号前缀匹配、干跑不落日志
- 页面 Blade 在测试中正常渲染
- 本次发布后将在线上实际导入新版工作簿并核验操作记录

## 风险检查

- [x] 涉及数据库迁移:仅新增 systemization todo audit logs 表,不影响既有业务表
- [x] 迁移已由任务内核对并随正式发布执行
- [x] 未提交 .env、密码、Token、私钥、真实财务数据、生产日志或构建产物
- [x] 前端改动符合 DESIGN.md,复用 VIP 黑金设计令牌

## 合并前复查

- [x] 已基于最新 main 开发
- [x] 已运行目标专项测试并通过
- [x] 已逐文件核对实际 diff
- [x] 允许任务 Codex 完成 Squash merge、验证 main、清理分支并部署

Reviewed-on: #690
2026-10-27 15:45:11 +08:00
2026-09-01 15:08:53 +08:00

CaiWuXiTong 财务系统

本项目基于 Akaunting 二次开发,包含统一系统设置、用户和侧边栏管理、多个只读云数据库来源,以及财务业务页面。

开发者快速开始

新人只需要做两件事:

  1. 启动 Docker Desktop;
  2. 在系统数据库页面输入负责人提供的系统数据库密码。

其余工作交给 Codex:拉取最新 main、执行 bash deploy/local-init.sh、处理本机引导库迁移、启动服务、清理缓存、打开 http://127.0.0.1:18088,并在连接后自动核对两套上游、数据字典和真实只读查询。初始化脚本会比较当前构建输入与镜像指纹,并校验必要静态资源;需要更新时自动重建,不再要求新人判断是否添加 --build。Codex 不得把这些命令、迁移或排错步骤转交给新人执行。

首次登录账号由初始化脚本生成并保存在本机私有凭据文件中。连接系统数据库成功后,临时登录会自动失效,改用系统数据库中属于自己的正式账号登录。

连接成功后,用户、侧边栏、系统设置、云数据库登记和共享快照会自动统一。不需要填写主机、端口、库名、账号、TLS、证书或两个云数据库密码,也不要复制生产环境或其他开发者的 APP_KEY、.env。

Codex 的接入验收不能只回答“成功”或“失败”,必须逐个来源报告:来源标识、数据库和 Schema、验证对象、读取字段、返回行数、耗时、数据状态及失败阶段。连接资料由系统自动处理,不属于新人操作项。

完整步骤和排错说明见 LOCAL_DEPLOY.md。需要在另一台电脑继续开发时,按 新电脑开发接续指南 操作;所有 Markdown 文档的入口见 文档索引。

数据库边界

  • 本机 MySQL 只负责第一次启动和临时登录,不是团队业务数据源。
  • 系统数据库统一保存应用用户、系统设置、侧边栏配置和云数据库连接记录。
  • 云数据库属于只读上游。本地开发从系统数据库自动取得连接资料并执行固定只读查询;生产页面使用共享按需查询快照。
  • 系统数据库保存查询登记、数据字典和生产共享快照,但不会执行 SQL,也不是 SQL Server 网络代理。
  • 开发者需要新表或字段时,Codex 先通过共享数据字典和通用只读入口完成真实数据探索,再实现 Repository、生产范围和刷新器;新人不需要配置上游或执行探测命令。
  • 不得把数据库密码、连接串、生产 APP_KEY、Token、SSH 私钥或 runtime/.env 提交到 Git。

开发和发布

正式发布只能使用已经合并的 main,并通过 scripts/deploy-from-workstation.ps1 在开发机构建提交 SHA 镜像。生产服务器只运行镜像,不执行源码构建。

技术基础

  • PHP 8.3
  • Laravel
  • Vue
  • Apache
  • MySQL / MariaDB
  • Docker
  • Akaunting

上游 Akaunting 的版权和许可证信息见 LICENSE.txt。

Description
财务系统,需要开分支
Readme 59 MiB
Languages
PHP 74.8%
Blade 20.6%
Vue 2.8%
Shell 0.5%
PowerShell 0.5%
Other 0.8%