552 Commits

Author SHA1 Message Date
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
68765b580b feat: 增加OA流程科目管理费用页 (#800)
新增OA已付款流程的二级/三级汇总和Sheet2明细模板页面,接入191条科目映射。
2026-10-30 20:46:17 +08:00
040d0d08ae feat: 接入公司支付宝账单与台账手动编辑 (#797)
接入公司非店铺支付宝账单、受限批处理导入,并为账户总表及每日资金流水增加管理员手动编辑与审计。
Co-authored-by: 92451 <924518135@qq.com>
Co-committed-by: 92451 <924518135@qq.com>
2026-10-30 20:03:04 +08:00
0591d0d94f feat: 同步OA发起人部门 (#796)
新增发起人部门镜像字段,并在表格和导出中放到发起人之前。
2026-10-30 19:39:46 +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
685ff90b36 hotfix: 修复OA任务时间与页面刷新入口 (#790)
恢复钉钉北京时间显示,并将页面刷新请求接到实际控制器。
2026-10-30 15:43:09 +08:00
5dd729f663 hotfix: 修复OA页面刷新路由缺失 (#788)
复用现有OA页面路由承载刷新请求,恢复生产页面。
2026-10-30 15:29:26 +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
7f9f13025d fix: 展示OA真实等待小时并优化同步状态 (#784)
等待时长改为实际小时,并修正无在途任务提示与同步完成时间。
2026-10-30 14:50:34 +08:00
65fbb1a179 fix/shipping-ship-time-outbound-1030122606 (#782)
> 开工时标题使用 `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: #782
2026-10-30 12:59:49 +08:00
6b8c447134 fix: 修正OA等待时间时区与镜像调度 (#781)
修正 OA 任务 UTC 时间转换、等待时长粒度和流程增量同步调度。
2026-10-30 10:18:57 +08:00
122dda9907 fix: 补全OA离职员工审批人姓名 (#779) 2026-10-29 22:59:38 +08:00
d5c55a8dbb fix: 精确隔离OA审批接口故障 (#778) 2026-10-29 22:41:53 +08:00
9ae1c05862 fix: 隔离OA审批接口单条失败 (#777) 2026-10-29 22:27:28 +08:00
4c746d488d fix: 补全OA审批中流程当前办理人 (#775) 2026-10-29 22:14:55 +08:00
8ae27c56eb fix: 显示OA出纳节点当前审批人 (#774) 2026-10-29 22:03:23 +08:00
07e429bc6a fix: 补查OA当前审批人
审批中记录缺少当前审批人时自动补查钉钉任务
2026-10-29 21:46:19 +08:00
4bd9f19044 fix: OA流程展示当前审批人并移除出纳节点
- 当前审批人从钉钉任务 userId 映射员工姓名
- 移除出纳节点列
- 新增 current_approver_name 镜像字段
2026-10-29 21:34:08 +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
393784a5e3 feat: 展示OA当前节点与等待时长 2026-10-29 16:02:28 +08:00
28f50f56bd fix: 修正OA付款状态默认判定 2026-10-29 15:36:20 +08:00
00d1c8b90f feat: 推广费营销账户增加收入与余额统计 (#748)
推广费(营销账户)新增收入金额、余额列和三项汇总卡,余额按收入减支出计算。
2026-10-28 17:43:36 +08:00
7048910e01 fix: 避免OA付款补查被接口额度饿死 2026-10-28 17:41:07 +08:00
79fad431df feat: 自动推送负数预警并支持处理截图 (#742)
每日自动推送未处理供应商,增加处理截止时间和截图上传。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-28 16:32:21 +08:00
75d63602ad feat: 展示负数预警最新账期合计 (#741)
在采购钉钉任务页展示最新账期供应商负数合计。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-28 16:19:00 +08:00
c64c6f5a54 feat: 供应商负数预警按采购一键分派 (#740)
一次点击按采购拆分任务,并用一条钉钉群消息发送全部采购独立处理链接。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-28 16:09:53 +08:00
aa3432d3ce feat: 供应商负数预警钉钉采购处理闭环 (#737)
增加采购筛选、群机器人任务发送、钉钉内逐供应商处理和结果回传。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-28 15:39:17 +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
32669b4bc9 fix: 调整供应商负数预警筛选公式
按供应商余额减应付余额加预估金额的公式筛选负数预警记录。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-28 14:12:13 +08:00
c71a608993 fix: 供应商负数预警展示完整终版字段
供应商负数预警按终版供应商应付表的完整字段与顺序展示负余额记录。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-28 13:59:58 +08:00
a934229ccc feat: 接入供应商负数预警数据
供应商负数预警读取供应商应付终版数据集,筛选供应商余额小于 0 的记录。
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-10-28 13:42:28 +08:00
965b70df7e fix: 统一OA撤销状态和付款明细口径 (#709)
OA流程展示已撤销;付款待核实改用付款明细口径。
2026-10-28 10:07:29 +08:00
7dd2d66935 fix(发货数据): 补拉改到每晚21:28并记录日志,过滤订单商品数量0占位行,超长文本按列宽截断 (#707)
- 早上 7:28 的补拉在白天副本库高负载时频繁超时断开、未写入任何数据,改为每晚 21:28 拉最近 3 天;
  两次同步输出追加到 storage/logs/jst-sync-shipping.log,便于排查。
- 订单商品表中平台原始商品行(数量 0、金额 0)没有实际出库,聚水潭工作平台也不显示;
  包裹已有实发商品时不再写入,避免多出一个"条码"(实为平台商品编号)。
- 上游偶有超长值(如组合装商品ID 78 位)导致整批写入失败,写入前按 jst_oms_shipping 列宽截断。

> 开工时标题使用 `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: #707
2026-10-28 09:24:56 +08:00
3be1639fb2 feat: 推广费营销账户明细汇总
新增推广费(营销账户)页签、平台与原始店铺汇总、备注筛选和明细弹窗。
2026-10-27 19:27:41 +08:00
26c86df915 fix: 修正OA拒绝状态并支持打款日期范围 (#704)
审批拒绝优先于流程完成;打款时间改为开始至结算日期范围。
2026-10-27 19:23:46 +08:00