317 Commits

Author SHA1 Message Date
40d3ce162a feat: 淘系微信账单增加淘系支付宝账户余额 (#898)
淘系微信账户新增期初余额与淘系支付宝期末余额。

测试:7 tests / 41 assertions;前端生产构建通过。
2026-11-05 18:36:23 +08:00
5a84a7f207 fix: 完善商品成本全字段导出 (#897) 2026-11-05 18:14:56 +08:00
b4f89a86a2 fix: 淘系支付宝首月按首笔余额倒推期初 (#891) 2026-11-05 13:12:11 +08:00
5183ab650a feat: 增加日志漏写翻倍扣分规则 (#885) 2026-11-05 11:45:16 +08:00
5eea1c440b fix: 日志统计纳入财务中心空白日志 (#883) 2026-11-05 11:19:07 +08:00
54a4bf00db feat: 淘系支付宝账单新增期初余额与月度余额 (#881)
按所选月份上一月末各支付宝账号最后一笔余额汇总期初余额,余额按“期初余额 + 本期收入 - 本期支出”计算;页面新增期初余额卡片并补全余额展示。

> 开工时标题使用 `WIP: <任务名称>` 并先填写“任务占用与边界”。Codex 完成独立合并前自审后补齐其余内容并移除 `WIP:`。

## 任务占用与边界

- 任务名称:
- 实际开发者:
- 任务来源/团队分工:
- 目标结果:
- 预计修改路径:
- 将写入的公共契约(路由、Controller 方法、Repository、表/视图、`source_key`、`scope`、权限名、菜单键或共享组件):
- 仅复用、明确不修改的公共契约:
- 数据源、表/视图和字段:
- 上游 `source_key` / `scope`:
- 权限名、菜单键或共享组件:
- 明确不修改的范围:

## 开工碰撞检查

- [ ] Codex 已执行 `scripts/codex-task-preflight.ps1`
- [ ] 已检查最新 `main` 和所有远程任务分支
- [ ] 已搜索主线既有页面、接口、Repository 和数据查询
- [ ] 已把“将写入”和“仅复用、不修改”的公共契约分开;仅复用项不作为单独阻断条件
- [ ] 未发现实际写入重叠;或已在下方写明相关分支、具体重叠项和协调结论

相关分支、重叠项与协调结论:

## 实际改动

- 完成内容:
- Codex 实际修改的文件:
- 新增或变更的公共契约:
- 与原计划的差异:

## 验证证据

- 正常流程:
- 空数据/错误输入/无权限场景:
- 受影响旧功能:
- 自动测试及结果:
- 实际页面、接口或只读业务查询结果:

## 风险检查

- [ ] 不涉及金额、权限、审批、数据库迁移、生产配置或数据修复
- [ ] 如涉及上述高风险内容,已在下方写明影响、回滚和所需授权
- [ ] 未提交 `.env`、密码、Token、私钥、真实财务数据、生产日志或构建产物
- [ ] 前端改动符合 `DESIGN.md`;无前端改动则写“不适用”

高风险影响、回滚和授权状态:

## 合并前复查

- [ ] 已重新拉取远程引用并用实际修改范围再次运行碰撞检查
- [ ] PR 不再是 `WIP:`,所有测试结果已经补齐
- [ ] Codex 已重新读取原始需求和验收标准,并逐文件审核 `origin/main...任务分支` 的完整 diff
- [ ] Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果
- [ ] 合并顺序不会覆盖其他未合并任务
- [ ] 已授权当前任务的 Codex 执行 Squash merge、验证 `main` 并清理任务分支
- [ ] 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权

Reviewed-on: #881
2026-11-05 11:05:05 +08:00
fe208e0e51 fix: 退款待确认使用聚水潭当前状态 (#879) 2026-11-05 10:09:59 +08:00
825a9a1964 feat: 接入钉钉财务日报日志统计 (#876) 2026-11-04 22:19:15 +08:00
4783185e3f feat(线上代发价格): 新增标签筛选,关键字支持审批编号 (#872)
- 筛选栏增加“标签”:刘萧代发 / 1688代发 / 采购单管理(钉钉行按收款人区分,采购单行固定为采购单管理),页面、汇总、成本核查和导出同一口径
- 关键字原本标注支持审批编号但实际不查,钉钉来源增加匹配审批 JSON(businessId)
涉及:只读查询与页面筛选;不涉及迁移、权限和上游写入。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VANWYsNUbu2piMtCKymoyd
2026-11-04 18:30:13 +08:00
23f2e9943c feat: 增加退款每日同步和驾驶舱预警
退款待确认改为每日06:00专属同步,异常状态显示到财务驾驶舱。
2026-11-04 17:46:57 +08:00
c7654fe74d feat: 退款月度汇总支持点击查看明细
月度合计移入汇总表最后一行,汇总数字支持按平台和月份查看明细。
2026-11-04 17:33:22 +08:00
cf708b1131 fix(线上代发价格): 店铺单号按字符串查聚水潭订单,修复订单关联走全表扫描 (#868)
纯数字店铺单号作数组键被 PHP 转成 int,绑定到 varchar 的 so_id 上触发隐式类型转换、索引失效:
淘系订单表(500 万行)一次 IN 查询 118 秒,100 行订单关联 151 秒,页面和成本核查预计算都卡死。
loadJstOrders 统一把 so_id 转成字符串再查。
涉及:只读查询;不涉及迁移、权限和上游写入。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VANWYsNUbu2piMtCKymoyd
2026-11-04 17:28:55 +08:00
f3a5788c67 feat: 增加退款待确认平台月度汇总 (#864)
退款待确认页面增加平台月度汇总。
2026-11-04 15:58:36 +08:00
7a6fc997f3 perf(线上代发价格): 成本核查改为全量预计算缓存,页面打开不再现算 (#862)
#844 已去掉整表合并;但成本核查仍按“筛选条件+同步时间”缓存 10 分钟,生产 cron 每轮同步都会刷新同步时间,
等于每次打开页面都要把全部钉钉行逐批关联聚水潭订单重算一遍,页面依旧打不开。
- 核查结果按数据指纹(行数/最新创建时间/金额合计)缓存全量结果,最长 6 小时;筛选只取行键再查缓存
- 数据变化时先用旧结果,响应结束后后台重算(加锁防并发)
- 每日同步命令完成后预计算成本核查
涉及:只读查询与缓存;不涉及迁移、权限和上游写入。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VANWYsNUbu2piMtCKymoyd
2026-11-04 15:16:06 +08:00
9dbfb180f5 feat: 增加退款待确认月度汇总 (#860)
新增退款待确认月度汇总、按需展开明细、分页和共享镜像组合索引。
2026-11-04 14:45:43 +08:00
3538ed40b4 feat: 接入退款待确认数据 (#858)
固定筛选聚水潭售后待确认且线上退款成功的数据,支持查询、分页和导出。
2026-11-04 14:26:23 +08:00
f62ce3fbc6 perf(线上代发价格): 分页不再整表合并两个来源,修复页面打开超时 (#844) 2026-11-03 22:54:33 +08:00
43390be327 feat(线上代发价格): 识别改版明细表格 + 新增报销成本核查(多报销) (#841)
1) 钉钉「线上代发业务报销」有 23 张已通过审批单的商品明细表格不叫“收款费用明细”(新版模板表格名为空、旧单叫“费用明细”),
   同步时整单只剩一行空明细。按名称找不到时改取行内含“商品ID”列的明细表格;料号兼容新版“商品编码”。上线后对该数据集全量重同步。
2) 新增报销成本核查:按聚水潭订单由本行商品编码拆出的子商品,取普通商品资料成本价×发货数量求和为系统成本,
   与代发订单金额比较,高出 0.01 元以上判“多报销”,另有“成本缺失”“无发货明细”;页面新增筛选、计数、多报销金额汇总及四列,导出同步。

涉及:金额核查展示(只读)、镜像全量重同步;不涉及迁移、权限和上游写入。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VANWYsNUbu2piMtCKymoyd
2026-11-03 17:13:56 +08:00
0484944cbc fix: 统一OA流程打款日期汇总口径 (#817)
统一 OA 流程按审批单日期筛选,多行明细与付款金额按整单汇总。
2026-11-02 13:58:04 +08:00
a67d458310 feat: 增加OA已等待区间筛选 (#793)
以已等待时长替代进入时间日期筛选,支持不足1小时至2天以上区间。
2026-10-30 16:58:18 +08:00
7484b25e46 feat: 增加OA审批人联想筛选 (#792)
当前审批人支持从明细实际人员中选择,同时保留文字查询。
2026-10-30 16:50:12 +08:00
fe43d392e2 feat: 优化OA流程筛选与口径展示 (#791)
新增当前审批人、进入时间筛选;重排筛选区;将统计口径说明改为默认折叠。
2026-10-30 16:20:30 +08:00
3bd2587c04 feat: 新增订单利润页面与明细查询 (#786)
新增订单利润页面、共享镜像查询、筛选聚合、明细展示、列设置与导出。

验证:20 项测试通过,249 个断言;真实页面代表订单 26092142570188 验收通过。
2026-10-30 15:24:09 +08:00
7b8a5e1214 feat: 增加OA进行中流程按需刷新 (#785)
页面进入时仅异步刷新当前页审批中的流程,并自动载入最新镜像。
2026-10-30 15:04:43 +08:00
6b8c447134 fix: 修正OA等待时间时区与镜像调度 (#781)
修正 OA 任务 UTC 时间转换、等待时长粒度和流程增量同步调度。
2026-10-30 10:18:57 +08:00
263bf5bd51 fix: 取消OA付款待核实中间状态 2026-10-29 20:20:57 +08:00
e0b7a66d37 feat: 完善售后退货退款查询与导出
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-29 16:25:35 +08:00
28f50f56bd fix: 修正OA付款状态默认判定 2026-10-29 15:36:20 +08:00
00d1c8b90f feat: 推广费营销账户增加收入与余额统计 (#748)
推广费(营销账户)新增收入金额、余额列和三项汇总卡,余额按收入减支出计算。
2026-10-28 17:43:36 +08:00
6eae3c6da5 feat: 供应商负数预警展示采购人员 (#734)
按供应商名称批量匹配供应商管理中的采购人员,并在负数原因后展示。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-28 14:41:10 +08:00
a20af2e067 feat(线上代发价格): 新增实际发货商品编码与聚水潭标记|多标签两列 (#730)
## 做了什么
线上代发价格页面与 CSV 导出新增两列:
- **实际发货商品编码**:按店铺交易单号(钉钉行)/内部单号(采购单行)关联聚水潭订单(非淘系 + 淘系),列出组合装拆开后的子商品编码×数量;优先只取本行商品编码拆出的子商品,普通商品取自身,对不上时列整单;忽略被拆分/合并/作废原单,拆单合并显示
- **聚水潭标记|多标签**:订单 labels

## 修改文件
- modules/EcommerceFinance/Repositories/DingOnlineDaifaPriceMirrorRepository.php
- app/Http/Controllers/Business/Pages.php(导出加列)
- resources/views/business/pages/product-inventory/online-daifa-price.blade.php
- tests/Unit/EcommerceFinance/OnlineDaifaShipSkuLabelsTest.php(新增)、tests/Feature/Business/OnlineDaifaPricePageTest.php

## 验证
- 新增 4 个单测(组合装、混合订单、拆单、无订单)+ 原采购单单测在精简 Laravel 环境通过;Feature 测试新增断言未在完整环境运行
- 只按当前页/导出每 200 行的单号做 so_id/o_id 索引等值查询,不扫全表

## 风险
不涉及金额计算、权限、数据库结构或配置;只读镜像表。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_012AvVQFrueqWakFKTdSyu5q

Reviewed-on: #730
2026-10-28 14:34:05 +08:00
965b70df7e fix: 统一OA撤销状态和付款明细口径 (#709)
OA流程展示已撤销;付款待核实改用付款明细口径。
2026-10-28 10:07:29 +08:00
3be1639fb2 feat: 推广费营销账户明细汇总
新增推广费(营销账户)页签、平台与原始店铺汇总、备注筛选和明细弹窗。
2026-10-27 19:27:41 +08:00
26c86df915 fix: 修正OA拒绝状态并支持打款日期范围 (#704)
审批拒绝优先于流程完成;打款时间改为开始至结算日期范围。
2026-10-27 19:23:46 +08:00
fd7078182c fix: 完善OA流程付款状态与日期筛选 (#702)
按实际数据展示OA流程付款状态,完善打款日期选择,并修复增量同步重复排序。
2026-10-27 18:32:50 +08:00
4cd3a9e571 fix: 隔离店铺台账余额快照来源
避免店铺台账专用快照影响提现管理余额匹配。
Co-authored-by: 92451 <924518135@qq.com>
Co-committed-by: 92451 <924518135@qq.com>
2026-10-27 18:21:55 +08:00
1cb04adc7b feat: 店铺台账接入每日余额、预留标准与预警
完成店铺台账每日余额来源、日期筛选、预留标准和连续3天预警。
Co-authored-by: 92451 <924518135@qq.com>
Co-committed-by: 92451 <924518135@qq.com>
2026-10-27 18:13:00 +08:00
b3e6f85934 流程数据导航、OA流程改名及分页选项 (#689)
把原流程明细移入流程数据分类并改名OA流程,支持每页 50/100/200 条。
2026-10-27 16:29:04 +08:00
2cf75ac10b feat: 按出纳节点重做流程付款状态 (#685)
付款状态改由出纳任务节点判断,金额差额独立展示。
2026-10-27 14:01:23 +08:00
6f4883a9ec feat: 钉钉官方接口补取流程付款明细 (#681)
使用官方审批实例接口补取副本缺失的付款明细,并支持定向和自动轮转补取。
2026-10-27 11:56:35 +08:00
20de1a28bb 91 料号改用普通商品启用状态 (#680)
91 料号从系统普通商品资料判断启用状态,并用外部条码创建时间选择最新唯一编码。
2026-10-27 11:51:05 +08:00
401334bdcb fix: 修正流程明细付款数据缺失误判 (#676)
区分付款明细缺失与真实未付款,并补跟踪后补表单行。
2026-10-27 11:17:24 +08:00
fa8ec043a5 商品成本拆分组件改为流式处理 (#673)
商品成本拆分组件按批流式读取并即时聚合,避免大批量月份重跑触发 2GB 内存上限。
2026-10-27 11:01:40 +08:00
79a09022ca feat: 稳定流程明细同步并增加付款状态 (#670)
新增独立流程明细同步任务,增加付款状态筛选与同步滞后提示。
2026-10-27 10:43:47 +08:00
16ff4dcfaa 91 料号按启用状态和最新条码映射 (#671)
91 料号仅匹配销售状态商品,并按条码档案创建时间选择最新唯一候选。
2026-10-27 10:43:46 +08:00
7ea2d9c7ef 修复钉钉流程明细漏抓与付款金额重复 (#651)
改为按审批主表、费用明细、付款明细结构化同步;补全14类财务流程,付款按对应序号只计一次,合计读取独立付款事实。
2026-10-26 20:46:13 +08:00
c4b61e7daa feat: 流程明细按打款日期筛选 (#644) 2026-10-26 20:10:46 +08:00
e2e77d6d20 fix: 统一工商类型核定与个人独资口径
工商类型仅保留核定、个人独资企业,其他统一显示斜杠。
2026-10-26 16:40:16 +08:00
deae0c3e21 feat: 财务经营报表新增流程明细页面 (#608) 2026-10-26 16:31:03 +08:00
450a9e42f9 feat: 完善经营报表汇总与基础资料状态标签
经营报表保留原表头并补齐本表汇总;基础资料只增加表内分色标签。
2026-10-26 16:13:27 +08:00