15 Commits

Author SHA1 Message Date
c9f5e358c4 费用分类弹窗增加平台汇总
费用分类弹窗增加平台汇总
2026-10-25 14:50:52 +08:00
7170b4626a 费用明细分类汇总改为弹窗明细
费用明细分类汇总改为弹窗明细
2026-10-25 03:33:38 +08:00
9c4a86aa24 feat: 费用明细支持分类下钻 (#517) 2026-10-24 19:39:23 +08:00
4a343b92a1 费用明细:按总账备注分类并精简明细列 (#514) 2026-10-24 19:16:20 +08:00
9577099087 费用明细:紧凑汇总布局并按开票口径拆分 (#513) 2026-10-24 19:02:54 +08:00
0c92ae62b1 费用明细:新增账单项目万元汇总 (#509) 2026-10-24 18:16:31 +08:00
37090291b1 业绩明细:增加跨月对平备注并拆分费用明细 (#504) 2026-10-24 17:27:29 +08:00
f7197b4976 财务分析新增开票/不开票费用,并补齐违约赔付预览 (#480)
## 任务占用与边界

- 任务名称:财务分析开票费用与业绩明细违约赔付预览
- 实际开发者:yueyang
- 任务来源/团队分工:负责人直接指定
- 目标结果:财务经营分析表按科目映射表拆分开票费用/不开票费用;业绩明细增加违约赔付(冲减收入)列并按指定顺序展示。
- 预计修改路径:业务 Pages Controller、财务分析视图、账单明细数据服务、业绩明细配置与相关测试。
- 将写入的公共契约:财务分析费用聚合、默认补偿预览命令、业绩明细列配置。
- 仅复用、明确不修改的公共契约:store_receipt_order_match_rows、ec_account_mapping_rules。
- 数据源、表/视图和字段:店铺收款账单镜像、store_receipt_order_match_rows、store_receipt_product_cost_rows、ec_account_mapping_rules。
- 明确不修改的范围:账单抓取与上游同步链路。

## 开工碰撞检查

- [x] Codex 已执行 scripts/codex-task-preflight.ps1
- [x] 已检查最新 main 和远程任务分支
- [x] 已搜索主线既有页面、接口和数据服务
- [x] 已将写入和复用契约分开
- [x] 预检列出的残留分支均无开放 PR;当前 2 个开放 PR 与本任务无关,确认无活跃写入冲突

## 实际改动

- 财务经营分析表增加“开票费用”“不开票费用”及合计;财务类型=费用,票据口径 0.06/0.09 归入开票,不开票归入不开票,金额按支出减收入净额。
- 费用聚合并入现有月度缓存,缓存键包含科目映射哈希,映射变化后自动失效。
- 业绩明细增加违约赔付(冲减收入)列,放在冲减金额后。
- CSV 导出列同步更新。

## 验证证据

- 正常流程:2026-07/08/09 实库数据计算成功;2026-09 开票费用 3,896,538.65,不开票费用 81,377.62。
- 实际页面:2026-09 财务经营分析表 438 行,两列与合计正常展示。
- 性能:单月费用聚合 7.0–13.6 秒,PHP 峰值约 65.5 MB;页面结果缓存 5 分钟。
- 自动测试:NavigationTest 目标 2 条通过(35 assertions),StoreReceiptMappingPreviewOverrideTest 2 条通过(5 assertions)。

## 风险检查

- [x] 不涉及数据库迁移或生产数据写入
- [x] 涉及金额口径,已用实库页面和固定总额核对
- [x] 未提交 .env、密码、Token、真实数据或构建产物
- [x] 前端符合 DESIGN.md 黑金表格样式

## 合并前复查

- [x] 已基于最新 main 53bd1dc4 变基
- [x] 完整 diff 自审,无冲突标记
- [x] 目标测试通过
- [x] 负责人已授权 Squash merge 和发布

Reviewed-on: #480
2026-10-23 19:05:35 +08:00
c4a39ec265 科目映射表:存储改共享数据库(ec_account_mapping_rules / ec_account_mapping_events,本地与生产同一份,改完两边同时生效);旧文件保留为只读备份镜像;账单明细改读共享库;新增 account-mapping:import-files 导入命令 2026-10-16 17:19:37 +08:00
dd03037105 账单页签/账单明细:财务备注按科目映射表关键词取最具体规则
- 行内财务备注把 channel/business_type/order_type 等业务字段纳入关键词匹配(得物退款行可识别)
- 「总账备注/财务备注」筛选折算 SQL 时支持同一账单项目多条规则的关键词条件与兜底反向条件
- 与业绩明细、科目映射表口径对齐(得物退款行统一显示/筛选为退款)
2026-10-10 11:13:46 +08:00
0f7f72be71 账单明细联动:行数为0的取值不展示,联动结果缓存放宽到5分钟 2026-10-09 11:19:21 +08:00
cfdda94da8 账单明细:财务备注/财务类型筛选按平台限定,修同项目跨平台串行(优惠收入带出冲减收入) 2026-10-09 10:36:27 +08:00
f56bd9d3ea 账单明细:新增财务备注筛选、筛选联动(行数为0的取值不展示)、行距放宽 2026-10-09 10:30:43 +08:00
96b8f503c6 账单明细:平台筛选改为按账户/数据来源分类(与店铺收款账户账单页签一致)
- 平台下拉改为淘系支付宝/淘系微信/拼多多/京东账单/京喜账单/京东网银钱包/抖音/得物

- 京东账单与京喜账单同表,按店铺前缀切分;财务备注/财务类型仍按店铺前缀匹配映射表
2026-10-07 11:12:24 +08:00
6af12c030e 财务经营报表:新增账单明细页(多选筛选/日历选择/四项汇总/按列导出与进度/收款明细同款分页),科目映射表字段改名财务备注与财务类型
- 账单明细:7 个平台账单分支下推查询,按 active_generation 取当前版本(修正抖音重复计数),跨月大数据量由 73s 降到 1-2s

- 筛选:平台/店铺/账单项目/财务类型多选下拉(打字模糊搜索+滚动),日期改日历选择

- 导出:全部筛选结果 CSV 流式下载并按显示列最小取数,带进度轮询;列设置按账号存本机

- 分页:每页 10/20/50,首页/上下页/末页,第 X-Y 条/共 N 条

- 科目映射表:字段改名财务备注/财务类型(导入兼容旧名)
2026-10-06 15:35:16 +08:00