供应商对账:按采购单号日期条码核对数量金额 #405

Merged
renshen merged 1 commits from feature/renshen-purchase-date-barcode-match into main 2026-10-20 13:44:01 +08:00
Collaborator

任务占用与边界

  • 任务名称:厂家对账单按采购单号+日期+条码核对数量与金额
  • 目标结果:财务端和钉钉差异通知明确展示采购单号、日期、条码、我方数量/单价/金额、厂家数量/单价/金额,以及厂家多算或少算的数量和金额。
  • 实际修改路径:供应商对账匹配服务、钉钉通知、财务端比对页面、上传说明和对应测试。
  • 公共契约:沿用现有结算口径和 push-differences 接口,单条/多选身份改为采购单号+日期+条码+差异类型。
  • 明确不修改:模板表头、厂家上传接口、退货逻辑、权限和数据库结构。

实际改动

  • 原“条码+单价”匹配改为“采购单号+日期+条码”三元组匹配,同键多行先合并。
  • 日期和采购单号做格式标准化,条码继续去除厂家编号/版本后缀再核对。
  • 双方分别汇总数量和金额;不一致时明确显示厂家多/少数量与金额。
  • 厂家未填采购单号时,仅在日期+条码唯一对应我方一行时兜底;多条候选不猜测,直接提示无法唯一匹配。
  • 财务端比对表新增采购单号、日期、我方/厂家单价与金额、数量和金额差异列。
  • 钉钉消息按采购单号、日期、条码分组显示双方数据和厂家多算/少算结果。
  • 单条和批量推送的差异定位同步改为新三元组,避免同条码多条采购单误推。

验证证据

  • 正常匹配:同采购单号、日期、条码及数量金额一致时正常结算。
  • 差异场景:数量或金额不一致、厂家整条多报、厂家漏报均逐项列明。
  • 未填采购单号:唯一候选可兜底;两个候选时不自动猜测。
  • 推送验证:单条推送和勾选多条推送均只发送目标差异,钉钉文本包含采购单号、日期、双方数量单价金额及差异结论。
  • 自动测试:SupplierReconciliationTest 27 项通过、275 个断言;SupplierReconciliationDingTalkTest 6 项通过、41 个断言。仅有本机缺少 .env 的非业务警告。
  • 无数据库迁移。

合并前复查

  • 已基于最新 main 重新执行完整回归。
  • 已逐文件检查 diff,未带入旧任务代码。
  • 未发现敏感信息、冲突或未验证结果。
## 任务占用与边界 - 任务名称:厂家对账单按采购单号+日期+条码核对数量与金额 - 目标结果:财务端和钉钉差异通知明确展示采购单号、日期、条码、我方数量/单价/金额、厂家数量/单价/金额,以及厂家多算或少算的数量和金额。 - 实际修改路径:供应商对账匹配服务、钉钉通知、财务端比对页面、上传说明和对应测试。 - 公共契约:沿用现有结算口径和 `push-differences` 接口,单条/多选身份改为采购单号+日期+条码+差异类型。 - 明确不修改:模板表头、厂家上传接口、退货逻辑、权限和数据库结构。 ## 实际改动 - 原“条码+单价”匹配改为“采购单号+日期+条码”三元组匹配,同键多行先合并。 - 日期和采购单号做格式标准化,条码继续去除厂家编号/版本后缀再核对。 - 双方分别汇总数量和金额;不一致时明确显示厂家多/少数量与金额。 - 厂家未填采购单号时,仅在日期+条码唯一对应我方一行时兜底;多条候选不猜测,直接提示无法唯一匹配。 - 财务端比对表新增采购单号、日期、我方/厂家单价与金额、数量和金额差异列。 - 钉钉消息按采购单号、日期、条码分组显示双方数据和厂家多算/少算结果。 - 单条和批量推送的差异定位同步改为新三元组,避免同条码多条采购单误推。 ## 验证证据 - 正常匹配:同采购单号、日期、条码及数量金额一致时正常结算。 - 差异场景:数量或金额不一致、厂家整条多报、厂家漏报均逐项列明。 - 未填采购单号:唯一候选可兜底;两个候选时不自动猜测。 - 推送验证:单条推送和勾选多条推送均只发送目标差异,钉钉文本包含采购单号、日期、双方数量单价金额及差异结论。 - 自动测试:`SupplierReconciliationTest` 27 项通过、275 个断言;`SupplierReconciliationDingTalkTest` 6 项通过、41 个断言。仅有本机缺少 `.env` 的非业务警告。 - 无数据库迁移。 ## 合并前复查 - [x] 已基于最新 `main` 重新执行完整回归。 - [x] 已逐文件检查 diff,未带入旧任务代码。 - [x] 未发现敏感信息、冲突或未验证结果。
renshen added 1 commit 2026-10-20 13:43:43 +08:00
renshen merged commit ad8da1264d into main 2026-10-20 13:44:01 +08:00
renshen deleted branch feature/renshen-purchase-date-barcode-match 2026-10-20 13:44:02 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WuYongJie/CaiWuXiTong#405
No description provided.