591 Commits

Author SHA1 Message Date
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
026733e919 fix: 修正退货确认回执北京时间 (#869)
回执和机器人最近推送时间改用平台时区,避免 UTC 导致北京时间少 8 小时。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-11-04 17:31:08 +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
10e20f0df7 fix(发货数据): 采购退货出库商品明细以采购退货明细为准 (#865)
发货视图对采购退货单会重复出很多行(每行都写整单数量),拼接条码还会被截断出残码,
按视图累加把数量放大(如 1190330222661 聚水潭 93 件、财务 1083 件)。
现改为商品行以 rpt.jst_purchaseoutItem 为准:视图同条码沿用名称/长宽高,数量取明细;
视图没有的条码按明细补行;视图多出的残码/重复行丢弃;明细为空时仍按视图。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhry6eiuwf

> 开工时标题使用 `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: #865
2026-11-04 16:07:35 +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
973433a4b7 feat: 厂家确认后退货群发送回执 (#859) 2026-11-04 14:41:48 +08:00
3538ed40b4 feat: 接入退款待确认数据 (#858)
固定筛选聚水潭售后待确认且线上退款成功的数据,支持查询、分页和导出。
2026-11-04 14:26:23 +08:00
9e66ada22b fix: 厂家退货净扣减不计预估金额 (#856) 2026-11-04 13:50:13 +08:00
3cefc22aaa feat: 调整供应商退货字段与明细布局 (#853) 2026-11-04 12:06:32 +08:00
42cdcec9c2 feat: 厂家退货明细支持全部确认回传 (#851) 2026-11-04 11:54:01 +08:00
61ab46c708 feat: 钉钉退货推送改为表格明细链接 (#850) 2026-11-04 11:40:29 +08:00
4449ef899c fix: 供应商查询同步过滤退货厂家 (#849) 2026-11-04 11:14:05 +08:00
ba62b2bb10 feat: 恢复对账人选项并支持批量推送退货 (#848) 2026-11-04 10:59:37 +08:00
0ed02e95f7 feat: 供应商列表分页并增加整月退货推送 (#847) 2026-11-04 10:08:50 +08:00
661fbca7d3 fix: 供应商对账日期容差调整为一周 (#846) 2026-11-04 09:31:01 +08:00
6e054e4e8a fix: 供应商对账支持日期两天容差匹配 (#845)
严格匹配未命中时,同采购单号、同商品编码且数量金额一致、日期相差不超过 2 天,按一致处理。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-11-04 09:17:18 +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
78115f38d2 feat: 新增店铺收支明细页
新增店铺收支明细页,支持店铺/账户筛选、余额自检、整卡关联店铺与流式 CSV 导出。
2026-11-03 16:07:13 +08:00
255effb085 fix: 店铺下钻仅在管理费用弹窗生效 (#839) 2026-11-03 13:22:18 +08:00
aac29710fe feat: 管理费用明细增加店铺与金额下钻 (#837) 2026-11-03 11:11:11 +08:00
9189d33ec5 fix(发货数据): 出库单实发明细与旧记录条码不同时以出库单为准覆盖 (#835)
- 早期同步时找不到出库单实发明细的包裹,商品用订单商品兜底(配件母件、被替换的原商品等,数量多为0但带金额);
  之后出库单明细到齐,因新明细没有金额、"金额对不上"一直保留旧记录,导致条码/件数/体积与聚水潭不符
  (10.1-10.25 约 3000 单,如配件仓记成母件 DNZ0134108N24V01,实发为 -23/-30/-31/-41 配件)。
- 新商品取自出库单实发明细(发货数据视图)且条码集合与旧记录不同:按出库单覆盖,条码相同的行沿用旧金额,
  计入 packages_items_corrected;条码完全相同或旧记录无条码时仍按原规则保留,避免丢金额。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf

> 开工时标题使用 `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: #835
2026-11-03 10:41:34 +08:00
801df996d4 feat: 增加供应商整月退货钉钉推送 (#833)
增加供应商对账整月退货推送入口,支持全部确认状态、按消息容量自动分批、不限制退货行数;补充设置字段容量迁移。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-11-02 22:02:18 +08:00
67c85678e6 feat: 接入网商银行每日动账明细 (#831)
Co-authored-by: 92451 <924518135@qq.com>
Co-committed-by: 92451 <924518135@qq.com>
2026-11-02 20:58:42 +08:00
46f62575ff perf: 优化OA流程刷新等待与并发 (#830) 2026-11-02 18:14:11 +08:00
fb5311d159 fix: 纳入有打款时间的承兑付款 (#827) 2026-11-02 17:32:15 +08:00
7f4de3fb8f fix: 增加OA流程定向快速补刷新 (#826) 2026-11-02 17:22:34 +08:00
c8a941e085 fix: 对平OA付款月份与费用明细 (#824) 2026-11-02 16:54:38 +08:00
9260549d83 fix: 管理费用按付款明细行分摊到月份 (#823)
新增付款明细行分摊镜像,跨月分笔付款按实际月份和金额统计管理费用。
2026-11-02 16:32:14 +08:00
e7eb1c9398 fix: 为无科目OA模板增加费用归类兜底 (#822)
应付申请和线上代发模板缺少科目时使用默认费用归类,保留已有具体科目优先。
2026-11-02 16:15:52 +08:00
2eacf65c22 fix: 补齐OA明细科目并自动回补历史空值 (#821)
按官方明细补齐副本缺失科目列,自动回补历史空科目,并增加其他押金映射。
2026-11-02 16:06:20 +08:00
d9d7b270d7 fix: 用钉钉官方状态纠正OA副本滞后 (#820)
审批副本仍为 RUNNING 时,以钉钉官方最终状态和最后完成节点校正镜像。
2026-11-02 15:50:52 +08:00
71af899230 feat: 管理费用纳入未完成已打款审批 (#819)
管理费用纳入审批未完成但已打款的流程,汇总改为万元展示,明细保持元。
2026-11-02 14:32:48 +08:00
4e019244f9 fix: 管理费用按整张已打款审批汇总 (#818)
管理费用按打款月份命中审批单后,汇总整张审批单的全部费用明细。
2026-11-02 14:22:25 +08:00
0484944cbc fix: 统一OA流程打款日期汇总口径 (#817)
统一 OA 流程按审批单日期筛选,多行明细与付款金额按整单汇总。
2026-11-02 13:58:04 +08:00
d45dc19261 fix(发货数据): 清理包裹里残留的订单占位商品行(数量0),件数随之更正 (#815)
- 订单里被替换的原商品、组合装原套装等(数量 0、金额 0/空、item_status=Replaced),
  聚水潭销售出库单不显示;占位过滤上线前入库的包裹,之后因"金额对不上保留旧包裹"一直保留着这些行,
  导致商品编码多出、件数(1/N)偏大,按件数加收的面单费跟着多算。
- 每次窗口同步后,包裹已有实发商品时删除这些占位行,件数改为实发行数;
  首行若是占位行,其上的重量/运费/结算等包裹级字段先挪到保留的首行。
- 同步修正单测 test_view_item_with_unmatched_synthetic_sku_retains_old_package_and_marks_items_pending 的预期:
  main 上已上线"新旧条码完全不同视为商品已更正、覆盖旧记录",原用例仍按旧行为断言 2 个保留包裹,与现行逻辑不符。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf

> 开工时标题使用 `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: #815
2026-11-02 13:19:19 +08:00
094be29e4f fix: 管理费用按打款月份筛选并补充映射 (#814)
按打款时间筛选,并补充两个货代与种菜科目映射。
2026-11-02 13:10:47 +08:00
18ca6c6f11 fix: 回填钉钉表头科目到流程明细 (#812)
明细行缺少科目时使用审批表头科目回填。
2026-11-02 11:29:25 +08:00
bc4844ed36 fix: 补齐钉钉未命名费用明细表 (#810)
按金额列识别未命名费用明细表,补齐科目和金额。
2026-11-02 10:58:11 +08:00
675ed67211 fix: 负数预警发送剔除已回传处理结果
自动推送与页面发送统一按账期和供应商剔除已回传处理结果。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-11-02 10:19:21 +08:00
54e43be89f feat: 管理费用改为整月筛选 (#807)
审批月份改为整月选择,默认上个月。
2026-11-02 09:09:03 +08:00
8132406482 fix(发货数据): 商品更正不再被旧金额挡住;信誉订单仓/礼品单只记虚拟码 (#806) 2026-11-02 08:37:08 +08:00
20b6b0ea15 fix(发货数据): 快递单号对应本包裹实发商品;虚拟单只记虚拟码;新增只读诊断命令 (#805) 2026-11-01 19:10:33 +08:00
92a720d4c4 feat: 开放财务台账动账明细编辑权限 2026-10-30 23:33:56 +08:00
6dc8f24564 fix: 管理费用汇总排除不涉及付款和未打款流程 (#802)
管理费用汇总只保留审批已完成、涉及付款且出纳已打款的流程。
2026-10-30 22:02:31 +08:00
7b0b132514 fix: 管理费用改按本月已审批流程统计 (#801)
管理费用默认展示本月审批已完成的数据,去掉审批单和明细行数量,并同步审批完成时间用于筛选。
2026-10-30 21:25:37 +08:00