Files
2026-06-01 16:30:29 +08:00

2.8 KiB
Raw Permalink Blame History

数据看板查询逻辑重构 - 产品需求文档

Overview

  • Summary: 重构 batch_query.html 中的数据看板查询逻辑,从到货交接单的数据开始,以到货交接单的交接单号去匹配提单号和主包号,从而统计到货情况
  • Purpose: 优化数据看板的查询逻辑,使其更加准确地反映到货情况
  • Target Users: 物流操作人员、数据分析师

Goals

  • 从到货交接单的数据开始,以交接单号匹配提单号和主包号
  • 保持现有的两个模块:提单号预报和大箱号预报
  • 确保统计数据的准确性
  • 优化查询性能

Non-Goals (Out of Scope)

  • 不修改现有的UI结构
  • 不修改其他模块的功能
  • 不涉及数据库结构变更

Background & Context

当前数据看板的查询逻辑是从标签替换请求表开始,直接按提单号或大箱号分组统计。这种方式可能会导致统计结果不准确,因为它没有考虑到到货交接单的实际情况。

Functional Requirements

  • FR-1: 保持现有的两个模块结构(提单号预报和大箱号预报)
  • FR-2: 修改查询逻辑,从到货交接单的数据开始
  • FR-3: 以到货交接单的交接单号去匹配提单号和主包号
  • FR-4: 统计到货订单数量、无标签数据数量、已有标签率等指标
  • FR-5: 支持按客户ID、日期范围等条件过滤

Non-Functional Requirements

  • NFR-1: 性能优化,避免全表扫描
  • NFR-2: 代码可读性和可维护性
  • NFR-3: 数据准确性

Constraints

  • Technical: 使用现有的API架构
  • Business: 无特殊业务约束
  • Dependencies: 依赖 arrival_handover_forms 表和 label_replace_requests

Assumptions

  • 数据库表结构已正确创建
  • 所有必要的索引已添加
  • 数据量在合理范围内

Acceptance Criteria

AC-1: 基本查询功能

  • Given: 存在到货交接单记录
  • When: 执行提单号预报查询
  • Then: 从到货交接单开始,以交接单号匹配提单号统计
  • Verification: programmatic

AC-2: 大箱号查询功能

  • Given: 存在到货交接单记录
  • When: 执行大箱号预报查询
  • Then: 从到货交接单开始,以交接单号匹配主包号统计
  • Verification: programmatic

AC-3: 数据准确性

  • Given: 存在测试数据
  • When: 执行查询并与手动计算结果比较
  • Then: 统计数据与手动计算一致
  • Verification: human-judgment

AC-4: 性能优化

  • Given: 数据量较大如10万条记录
  • When: 执行查询
  • Then: 查询响应时间在可接受范围内(<5秒
  • Verification: programmatic

Open Questions

  • 如何处理一个到货交接单对应多个提单号或主包号的情况?
  • 是否需要修改后端API还是只需要修改前端逻辑