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

3.0 KiB
Raw Permalink Blame History

出货交接单添加功能修复 - 产品需求文档

概述

  • Summary: 修复出货交接单添加时出现的验证错误问题,确保 POD 和 Remarks 字段在没有上传文件或填写备注时也能正常提交。
  • Purpose: 解决用户在添加出货交接单时遇到的 400 错误,提升用户体验。
  • Target Users: 使用 LabelReplaceServer 系统添加出货交接单的操作人员。

Goals

  • 修复出货交接单添加时的验证错误问题
  • 确保 POD 和 Remarks 字段在为空时能正常提交
  • 保持与后端 API 的兼容性

Non-Goals (Out of Scope)

  • 不修改后端 API 验证逻辑
  • 不改变其他功能模块的行为
  • 不添加新的功能特性

Background & Context

  • 当前在添加出货交接单时,如果没有上传 POD 图片或填写备注,会收到 400 错误,提示 "The POD field is required." 和 "The Remarks field is required."
  • 从前端代码分析当没有上传文件时POD 字段被设置为空字符串Remarks 字段也可能为空字符串
  • 后端 API 似乎要求这些字段不为空

Functional Requirements

  • FR-1: 当用户没有上传 POD 图片时,系统应该能正常提交出货交接单
  • FR-2: 当用户没有填写备注时,系统应该能正常提交出货交接单
  • FR-3: 修复后的功能应该与现有的到货交接单添加功能保持一致

Non-Functional Requirements

  • NFR-1: 修复不应该影响其他功能模块的正常运行
  • NFR-2: 修复应该保持代码的可读性和可维护性
  • NFR-3: 修复后的功能应该与后端 API 完全兼容

Constraints

  • Technical: 前端使用 jQuery 和 Bootstrap后端使用 .NET Core
  • Dependencies: 依赖后端 API 的验证逻辑

Assumptions

  • 后端 API 实际上接受 POD 和 Remarks 字段为 null 或 undefined但不接受空字符串
  • 到货交接单的添加功能已经正确处理了类似情况

Acceptance Criteria

AC-1: 无 POD 图片时能正常添加

  • Given: 用户未上传 POD 图片
  • When: 用户点击 "添加" 按钮提交出货交接单
  • Then: 系统成功添加出货交接单,不返回 400 错误
  • Verification: programmatic
  • Notes: POD 字段应该传递 null 或 undefined而不是空字符串

AC-2: 无备注时能正常添加

  • Given: 用户未填写备注
  • When: 用户点击 "添加" 按钮提交出货交接单
  • Then: 系统成功添加出货交接单,不返回 400 错误
  • Verification: programmatic
  • Notes: Remarks 字段应该传递 null 或 undefined而不是空字符串

AC-3: 有 POD 图片和备注时能正常添加

  • Given: 用户上传了 POD 图片并填写了备注
  • When: 用户点击 "添加" 按钮提交出货交接单
  • Then: 系统成功添加出货交接单,与修复前行为一致
  • Verification: programmatic

Open Questions

  • 后端 API 对 POD 和 Remarks 字段的具体验证规则是什么?
  • 到货交接单是如何处理这些字段的?