573 Commits

Author SHA1 Message Date
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
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