feat: 每日进销存支持导入聚水潭官方进销存校正数据 #46

Merged
youruo merged 1 commits from codex/daily-inventory-official-0927 into main 2026-09-27 14:29:21 +08:00
Collaborator

业务库只能还原 4/12 个流水列,且口径与聚水潭进销存不一致(采购按单据日期、销售按订单发货日期、jst_salesOutboundInfo.qty 全为 0),
调拨 / 盘点 / 加工 / 其它出入库更没有对应单据表,因此以聚水潭官方导出为准校正。

  • 新增本地表 daily_inventory_official(biz_date + warehouse 存期初 / 12 流水列 / 期末)
  • 新增解析与导入服务:xlsx 解析、仓库 ID 映射、「期初 + 流水 = 期末」恒等式校验
  • GET /api/daily-inventory 支持 ?date= 指定业务日;官方值优先、缺失回退推算,并返回来源标记
  • 新增 POST /api/daily-inventory/official-import(xlsx 上传 / JSON)与 GET /official 查询
  • 导入后回写本地库存快照(官方期初 → 上一日期末、官方期末 → 当日期末),使自动推算也对齐聚水潭口径
  • 前端:业务日切换、官方 / 推算来源标记、导入弹窗、口径说明同步更新
  • 仓库清单补入「简尚-横林三仓主仓」(聚水潭导出中存在)
  • 命令行导入:npm run inventory:import-official -- <日期>

验证:09-26 导出 23 仓导入后恒等式逐仓闭合,页面期初 / 12 流水列 / 期末与聚水潭导出逐仓一致;
后端新增 4 条单元测试通过,前端 eslint + build 通过。

业务库只能还原 4/12 个流水列,且口径与聚水潭进销存不一致(采购按单据日期、销售按订单发货日期、jst_salesOutboundInfo.qty 全为 0), 调拨 / 盘点 / 加工 / 其它出入库更没有对应单据表,因此以聚水潭官方导出为准校正。 - 新增本地表 daily_inventory_official(biz_date + warehouse 存期初 / 12 流水列 / 期末) - 新增解析与导入服务:xlsx 解析、仓库 ID 映射、「期初 + 流水 = 期末」恒等式校验 - GET /api/daily-inventory 支持 ?date= 指定业务日;官方值优先、缺失回退推算,并返回来源标记 - 新增 POST /api/daily-inventory/official-import(xlsx 上传 / JSON)与 GET /official 查询 - 导入后回写本地库存快照(官方期初 → 上一日期末、官方期末 → 当日期末),使自动推算也对齐聚水潭口径 - 前端:业务日切换、官方 / 推算来源标记、导入弹窗、口径说明同步更新 - 仓库清单补入「简尚-横林三仓主仓」(聚水潭导出中存在) - 命令行导入:npm run inventory:import-official -- <日期> <xlsx> 验证:09-26 导出 23 仓导入后恒等式逐仓闭合,页面期初 / 12 流水列 / 期末与聚水潭导出逐仓一致; 后端新增 4 条单元测试通过,前端 eslint + build 通过。
youruo added 1 commit 2026-09-27 14:19:53 +08:00
业务库只能还原 4/12 个流水列且口径与聚水潭不一致(采购按单据日期、销售按订单发货日期,
jst_salesOutboundInfo.qty 全为 0),调拨/盘点/加工/其它出入库无单据表,故以官方导出为准:

- 新增本地表 daily_inventory_official(biz_date + warehouse 存期初/12 流水列/期末)
- 新增解析与导入服务:xlsx 解析、仓库 ID 映射、「期初+流水=期末」恒等式校验
- GET /api/daily-inventory 支持 ?date= 指定业务日,官方值优先、缺失回退推算并返回来源标记
- 新增 POST /api/daily-inventory/official-import(xlsx 上传/JSON)与 GET /official 查询
- 导入后回写本地库存快照(官方期初→上一日期末、官方期末→当日期末),使推算也对齐
- 前端:业务日切换、官方/推算来源标记、导入弹窗、口径说明同步更新
- 仓库清单补入「简尚-横林三仓主仓」(聚水潭导出中存在)
- 命令行导入:npm run inventory:import-official -- <日期> <xlsx>
Author
Collaborator

合并授权记录:仓库所有者/管理员 youruo 已书面授权合并本 PR 并部署生产。
授权范围:本 PR 全部改动;授权时的最终提交 SHA = 0e77a70c338cffef341c3f3deb820f9f4b5ca925。
已完成的验证:后端新增 4 条单元测试通过(node --test test/*.test.js,唯一失败项 resilientSecretStore 为 Windows 权限相关,与本 PR 无关);
后端 npm run syntax 通过;前端 eslint + npm run build 通过;
本地端到端:09-26 聚水潭导出导入后恒等式逐仓闭合,页面期初/12 流水列/期末与导出逐仓一致,前端上传导入链路返回 imported=23。

合并授权记录:仓库所有者/管理员 youruo 已书面授权合并本 PR 并部署生产。 授权范围:本 PR 全部改动;授权时的最终提交 SHA = 0e77a70c338cffef341c3f3deb820f9f4b5ca925。 已完成的验证:后端新增 4 条单元测试通过(node --test test/*.test.js,唯一失败项 resilientSecretStore 为 Windows 权限相关,与本 PR 无关); 后端 npm run syntax 通过;前端 eslint + npm run build 通过; 本地端到端:09-26 聚水潭导出导入后恒等式逐仓闭合,页面期初/12 流水列/期末与导出逐仓一致,前端上传导入链路返回 imported=23。
youruo merged commit f815751634 into main 2026-09-27 14:29:21 +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: lunanting/cangku#46
No description provided.