Commit Graph
33 Commits
Author SHA1 Message Date
总工 642604f688 HEL-171 部署合并:公司端工作台待办同步(bf5754e) + 登录限流运维开关(551909a) 2026-08-27 12:28:04 +00:00
bf5754ee09 HEL-168: 公司端工作台待办按权威单边集合同步
确认成功后重拉 /api/company/workspace,去确认数字与本月待办共用同一口径;
新增公司端确认接口与 3→2→1→0 集成测试,失败/重复确认不误减。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-08-27 12:10:38 +00:00
总工andmultica-agent 551909ad0c HEL-166: 增加 APP_LOGIN_RATE_LIMIT_DISABLED 运维开关(默认保持限流)
Co-authored-by: multica-agent <github@multica.ai>
2026-08-27 11:48:00 +00:00
总工andmultica-agent eefdc92ab6 HEL-165 部署:admin 端 app.js 缓存版本升至 v=9
Co-authored-by: multica-agent <github@multica.ai>
2026-08-27 09:59:36 +00:00
fdc5616115 HEL-154: 结账日联动、公司越权 POST 测试与 docs 收尾
流水页范围文案改为读取 settings 的 closing_day/start_date,去掉写死顺延日;
补公司端对设置/提醒/审核写接口的 403 覆盖;从 main 恢复手册 docs 并保留 006。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-08-27 09:44:46 +00:00
c4f7573653 HEL-162: 修复宽屏主从列表无法内部滚动
为 .dash-master-split 增加 grid-template-rows: minmax(0,1fr),使 max-height 真正约束行高,左侧 7 家公司可滚可选;顺手删除无调用的 statusPill。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-08-26 16:14:37 +00:00
5b3ebad757 HEL-162: 按方案A重做首页一体卡片主从区域
合并公司往来合计/明细为一张共享头卡片;左侧改列表行选中态,右侧加汇总条与克制空态;取消固定大高度,模块内滚动。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-08-26 15:40:07 +00:00
总工andmultica-agent b42b6481f5 HEL-158 部署:app.js 缓存版本升至 v=6
Co-authored-by: multica-agent <github@multica.ai>
2026-08-26 10:59:20 +00:00
e04f47b9d2 HEL-157: 审核中心接入三类待办完整队列
将待复核账户、待审手工单、匹配异常统一渲染到审核中心列表,
处置走既有 decision API,并补三类种子一致性与处置减一集成测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-08-26 10:45:03 +00:00
7fb97119ba HEL-157: 删除首页图表、校正主从模块并统一待审核口径
移除柱状图/折线图死代码;主从改为 480px+明细宽栏;待审核首页卡、侧栏角标与后端口径同源。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-08-26 10:09:01 +00:00
815b68c1fc HEL-156 返工:起算日读 settings、动态状态列头、明细默认收起
首页 from 取自 /api/admin/settings 的 start_date 并省略 cutoff;
状态列头按 period_month 显示;renderDashDetail 二级默认全部收起。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-08-26 03:37:44 +00:00
施工员andmultica-agent 609ebffdc9 HEL-155: 合计列表状态列头与首页 7 月账期对齐
Co-authored-by: multica-agent <github@multica.ai>
2026-08-26 03:32:47 +00:00
77fc625ded HEL-155: 按第三轮效果图改造管理端首页
替换借贷轧差为待审核统计卡;公司往来合计/明细合成主从模块(折叠明细);
新增柱状图与折线图位;接入 /api/admin/dashboard 真实归集与审核队列数据。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-08-26 03:32:47 +00:00
leeferandmultica-agent ece3e53472 HEL-144 返工A:四件事(改名/登录端标识/结账设置真保存/提醒回改)+ 迁移升为 7 + 移除废弃 B-44 前端样式测试
Co-authored-by: multica-agent <github@multica.ai>
2026-08-25 18:41:01 +08:00
leeferandmultica-agent 5816e8aa71 baseline: 测试环境现行树(b44 后端 + main web)
Co-authored-by: multica-agent <github@multica.ai>
2026-08-25 18:35:41 +08:00
腾讯WorkBuddyandCursor 4add17f2b8 B-44: 返修——768px 超大期末金额与未决状态避让
在 376–900px 五列目录把方向 chip 与期末金额分行,并加 Chromium 盒模型回归,避免 15 位金额盖住未决状态。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:22:13 +08:00
腾讯WorkBuddyandCursor 95ad9c939a B-44: 返修——375px 超大金额降级与审核弹窗必展字段
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 01:54:32 +08:00
腾讯WorkBuddyandCursor 1fe073066e B-44: 返修——余额目录视觉、八列事件表、抽屉键盘与审核三项决定
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:37:27 +08:00
腾讯WorkBuddy f16e8aad34 B-44: 返修——多币种对方汇总、镜像科目筛选、冲销独立生效日、创建来源撤销边界与并发幂等 2026-08-19 13:28:28 +08:00
腾讯WorkBuddy d59576739f B-44: fix empty-state retry selector in balance directory 2026-08-19 12:00:59 +08:00
腾讯WorkBuddy 85293b79df B-44: intercompany ledger events, subject review and drill-down evidence
- migration 6: manual_records, ledger_event_revisions chain, current
  projections, source claims, subject suggestions, eligible_position_events
- ledger_events.py: bank-event reconciliation, reversal/adjustment/reopen,
  append-only revision chain and rebuildable current projection
- subjects.py: fixed subject mirror, draft suggestion dictionary, explicit
  administrator subject confirmation with expected_revision + idempotency
- manual_records.py: submit, approve new/link, return/exception/reverse,
  candidate hints, idempotent replay and concurrency-safe claims
- positions.py: Decimal aggregation, both-perspective conservation asserts,
  cutoff window, unresolved gross buckets, keyset pagination, evidence
  visibility (visible/masked/missing)
- server.py: admin + company intercompany APIs with tenant isolation (404 on
  cross-tenant reads, 403 on company writes) and auto reconcile wiring
- admin/company portals: balance directory, pair drill-down drawer, evidence
  drawer, subject/manual audit queue, company balance summary
- tests: ledger events, subjects, manual records, positions, HTTP API and
  migration persistence (233 total, all green)
2026-08-19 11:58:25 +08:00
腾讯WorkBuddy f99917321b B-43: M3空参考号不再视为相等,单边intercompany需锁定才可计算 2026-08-18 22:10:27 +08:00
腾讯WorkBuddy df517d4a68 B-43: 双边流水归并与规范事件层——迁移5、匹配引擎、个人过账映射与事件API 2026-08-18 21:06:08 +08:00
腾讯WorkBuddy 486842963e B-42: 导入功能加固——逐工作表确认、流式上传与诊断证据 2026-08-17 01:00:19 +08:00
腾讯WorkBuddy 7f1a93f6a6 B-64: 安全修复——随机初始密码与跨公司重复上传隔离
- 公司账号创建改为随机一次性初始密码,只在创建响应中显示一次,
  密码保证不等于用户名;删除「用户名即初始密码」兼容分支,继续
  强制首次登录改密。
- 跨公司相同字节文件上传只返回通用重复状态:不再返回其他公司的
  原批次 ID、银行、模板、期间、交易数或诊断;同公司重复上传的
  幂等摘要保持可用。
- 补充服务端回归测试,覆盖同公司与跨公司两个分支及随机密码;
  完整测试 85 项全绿,node --check 通过。
2026-08-16 01:50:42 +08:00
腾讯WorkBuddy 545837446c B-39~B-41: 服务端 API 与双端页面接入
- server.py 新增认证、批次/行/导出、公司/账号/别名主数据、审核
  与审计接口,全部在服务端实施租户隔离与权限校验。
- 前端接入真实登录、首次改密、公司账号、账户登记/审核、批次查询
  与上传持久化;移除演示账号密码预填。
- README 更新运行、登录与样本数据政策说明;HANDOFF 同步默认监听
  行为。DESIGN-TOKENS 与样式对齐当前中性石墨玻璃视觉。
2026-08-16 01:49:54 +08:00
腾讯WorkBuddy 51c301d9df B-41: 动态主数据——公司、银行账户、别名与审核轨迹
- 公司、公司账号、银行账户、账户类型、户名/账号别名和生效区间
  全部来自数据库,新增公司无需改代码即可检索与使用。
- 公司端提交账户登记,总账端审核为启用/退回/停用;未启用账户
  不参与所有权识别、上传或覆盖计算。
- 账号归一化、脱敏显示与数据库 UNIQUE 约束,并发提交不产生重复
  有效账户;别名匹配有优先级和有效期。
- 所有主数据变更记录前值、后值、操作人、时间和原因。
- 决策记录见 docs/decisions/004-master-data.md。
2026-08-16 01:49:03 +08:00
腾讯WorkBuddy f7aa4a8d06 B-40: 正式登录与租户隔离——认证、会话、权限与审计
- 管理员/公司两类角色:PBKDF2 密码散列、随机初始密码、首次改密、
  停用、重置密码与吊销会话。
- 会话只存令牌摘要,8 小时绝对过期;登录失败同 (账号,IP) 限流。
- 公司账号服务端绑定唯一公司;读取/上传/导出/主数据/审核接口逐项
  服务端授权,跨公司访问返回 404 而非 403。
- 审计日志记录登录、改密、上传、导出、建公司、建/停/启用户。
- 决策记录见 docs/decisions/003-auth.md。
2026-08-16 01:48:58 +08:00
腾讯WorkBuddy 763a940683 B-39: 数据库持久化与不可变导入
- 版本化 SQLite 迁移(向前/回滚)与连接助手。
- 导入管线:上传文件按 SHA-256 内容哈希不可变保存,文件/行/批次
  幂等;重复上传返回 duplicate 并复用已有批次,不产生第二份事实。
- 每条规范化源行反查文件、工作表、原始行号与模板版本。
- 解析失败保留 exception/failed 批次与诊断,不产生已确认交易。
- 决策记录见 docs/decisions/002-persistence.md。
2026-08-16 01:48:53 +08:00
腾讯WorkBuddy c292fb791d B-38: 样本数据安全——运行数据目录隔离
运行时数据、真实银行上传文件与导出文件一律不进仓库;样本仅限
流水模板/ 中已脱敏的六份。新增 data/、uploads/、exports/、日志与
PID 文件的忽略规则。
2026-08-16 01:48:49 +08:00
腾讯WorkBuddy 24d645b77c 界面优化:对齐参考图视觉风格
- 统计卡图标改为圆形光盘并加发光环(危险/警告/成功语义用边框色强调)
- 新增 3D 卡片栈视觉:总账端「重点公司」、公司端「账户覆盖」以透视扇形呈现,高亮当前需关注项
- 新增覆盖连续性时间轴(横向 12 月轴 + 账户覆盖条 + 今日指示)
- 统计卡与玻璃面板加入顶部内高光,提升层次与深度
- 补齐 1180/900/720/460 断点的卡片栈与时间轴响应式

Refs BAI-28
2026-08-07 01:03:05 +08:00
leefer 13a5b2787d docs: add project handoff and implementation backlog 2026-08-07 00:04:51 +08:00
leefer b3043f9430 Initial commit: intercompany ledger app 2026-08-06 23:46:04 +08:00