# 订单导入功能模块 - FTP 集成功能 - 产品需求文档 ## 概述 - **摘要**:在订单导入功能模块中整合面单文件上传功能和 FTP 上传检查功能,无需提供上传目录选择参数,系统默认使用预设的上传目录路径,实现文件自动上传至指定位置,并完成 FTP 上传状态的自动检查与反馈。 - **目的**:简化用户操作流程,减少用户输入错误,确保面单文件能够正确上传到指定的 FTP 位置,并及时反馈上传状态。 - **目标用户**:使用订单导入功能的操作人员,需要上传面单文件到 FTP 服务器的用户。 ## 目标 - 整合面单文件上传功能到订单导入模块 - 整合 FTP 上传检查功能到订单导入模块 - 系统默认使用预设的上传目录路径,无需用户输入 - 实现文件自动上传至指定位置 - 完成 FTP 上传状态的自动检查与反馈 ## 非目标(超出范围) - 不修改现有的订单导入核心逻辑 - 不改变现有的 FTP 服务器配置 - 不添加新的用户界面元素,保持界面简洁 ## 背景与上下文 - 现有系统已经实现了订单导入功能,可以通过 Excel 文件导入订单数据 - 现有系统已经实现了面单文件上传功能,可以上传文件到 FTP 服务器 - 现有系统已经实现了 FTP 上传检查功能,可以检查文件是否存在于 FTP 服务器 - 用户当前需要在不同的标签页之间切换来完成订单导入、文件上传和上传检查,操作繁琐 ## 功能需求 - **FR-1**:在订单导入功能模块中整合面单文件上传功能 - **FR-2**:在订单导入功能模块中整合 FTP 上传检查功能 - **FR-3**:系统默认使用预设的上传目录路径,无需用户输入 - **FR-4**:实现文件自动上传至指定位置 - **FR-5**:完成 FTP 上传状态的自动检查与反馈 ## 非功能需求 - **NFR-1**:保持现有界面的简洁性,不增加额外的用户输入字段 - **NFR-2**:上传和检查过程应该有明确的进度反馈 - **NFR-3**:错误处理应该清晰明确,方便用户理解和解决问题 ## 约束 - **技术**:基于现有的 ASP.NET Core Web API 和 FTP 上传服务 - **依赖**:依赖现有的 `FtpUploadService` 和相关的 API 端点 ## 假设 - 预设的上传目录路径是固定的,不需要用户配置 - 面单文件的命名规则与订单数据中的中性面单单号或尾程单号一致 ## 验收标准 ### AC-1:订单导入时自动上传面单文件 - **给定**:用户选择了包含订单数据的 Excel 文件和对应的面单文件 - **当**:用户点击 "导入订单" 按钮 - **然后**:系统自动将面单文件上传到预设的 FTP 目录 - **验证**:`programmatic` - **备注**:上传过程应该有进度反馈 ### AC-2:订单导入时自动检查 FTP 上传状态 - **给定**:面单文件已经上传到 FTP 服务器 - **当**:文件上传完成后 - **然后**:系统自动检查文件是否成功上传到 FTP 服务器 - **验证**:`programmatic` - **备注**:检查结果应该在导入结果中显示 ### AC-3:使用预设的上传目录路径 - **给定**:用户进行订单导入操作 - **当**:系统执行文件上传操作 - **然后**:系统使用预设的上传目录路径,无需用户输入 - **验证**:`programmatic` - **备注**:预设路径应该在代码中配置 ### AC-4:上传和检查状态的反馈 - **给定**:系统执行文件上传和检查操作 - **当**:操作完成后 - **然后**:系统在导入结果中显示上传和检查的状态 - **验证**:`human-judgment` - **备注**:状态信息应该清晰易读 ## 开放问题 - [ ] 预设的上传目录路径具体是什么? - [ ] 面单文件的命名规则是否与现有系统一致?