Files
JY1.0/docs/物料编码搜索功能/物料编号搜索功能设计说明.md

156 lines
7.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 物料编号搜索功能设计说明
## 01-功能内容
本次功能是在项目中涉及物料搜索的页面和弹窗中,新增“物料编号/物料编码”独立搜索条件。
目标效果:
1. 用户可以直接输入物料编号定位物料。
2. 原有物料名称、图号/型号、库位、类型等搜索条件保持不变。
3. 新增编号搜索与原有条件可以组合查询。
4. 后端存储过程新增可选参数,未传物料编号时不影响原查询结果。
5. 导出场景同步支持物料编号条件,避免页面查询和导出数据不一致。
覆盖范围:
| 模块 | 页面/组件 | 查询入口 |
| --- | --- | --- |
| 仓储管理 | 库存盘点 | 主列表查询、导出 |
| 仓储管理 | 库存查询 | 主列表查询、导出 |
| 仓储管理 | 入库记录 | 主列表查询、导出 |
| 仓储管理 | 物料库位 | 主列表查询 |
| 仓储管理 | 领料/耗材 | 耗材物料选择查询 |
| 技术中心 | 物料查询 | 主列表查询 |
| 技术中心 | 物料维护 | 主列表查询 |
| 技术中心 | 图纸确认 | 物料选择弹窗 |
| 技术中心 | 图纸确认分配 | 物料选择弹窗 |
| 销售管理 | 订单管理 | 物料选择弹窗 |
| 销售管理 | 订单审核 | 物料选择弹窗 |
| 销售管理 | 订单查询 | 物料选择弹窗 |
| 装配管理 | 接收装配任务 | 物料选择弹窗 |
| 装配管理 | 接收滑台装配任务 | 物料选择弹窗 |
## 02-程序开发步骤
### 前端改造
1. 定位所有已有物料搜索入口,重点筛选包含 `物料名称_check``物料名称规格型号``仓储管理_通用库存_查询``物料管理_查询数据_分页` 的组件。
2. 在搜索栏或物料选择弹窗中新增输入框:
- `placeholder="物料编号"``placeholder="物料编码"`
- 使用 Vue 2 Options API 的 `data()` 字段维护输入值。
3. 在查询方法中新增判断变量:
- `物料编码_check = 1/0`
- `物料编码 = 输入值`
4. 将新增参数追加到原有 `param` 数组中。
5. 导出方法同步追加相同参数,保证查询和导出一致。
6. 保持原有 `CreateData``ExecDatabase` 调用方式,不新增请求封装。
### 后端改造
1. 对相关 SQL Server 存储过程增加可选参数:
- `@物料编码_check bit = null`
- `@物料编码 nvarchar(50) = null`
2. 在动态 SQL WHERE 条件中追加:
-`@物料编码_check = 1` 时,按物料编码模糊查询。
3.`sp_executesql` 同步补充参数声明和值传递。
4. 保持兼容性:未传编号条件时,原查询逻辑不变。
## 03-推进台账
| 轮次 | 做了什么 | 改了哪些文件/对象 | 验证了什么 | 下一步 |
| --- | --- | --- | --- | --- |
| 1 | 全局扫描物料搜索入口 | `src/views/**` | 找到物料名称搜索、物料选择弹窗、库存类查询入口 | 确定改造范围 |
| 2 | 仓储核心页面新增编号搜索 | 库存盘点、库存查询、入库记录 | 前端参数可生成 `物料编码_check/物料编码` | 补后端过程 |
| 3 | 共用物料选择弹窗新增编号搜索 | 销售、装配、技术确认相关页面 | 统一覆盖 `仓储管理_通用库存_查询` | 补共用查询过程 |
| 4 | 剩余物料主数据类入口新增编号搜索 | 物料查询、物料维护、物料库位、耗材领料 | 页面输入框与参数完整 | 补对应过程 |
| 5 | 执行 SQL Server 存储过程改造 | 9 个存储过程 | 直接调用过程验证编号条件不报错 | 前端解析验证 |
| 6 | 前端结构验证 | 14 个 `.vue` 文件 | `vue-template-compiler` 模板解析通过 | 形成文档 |
## 04-任务矩阵
| 任务编号 | 任务内容 | 状态 | 验收标准 |
| --- | --- | --- | --- |
| M-001 | 库存盘点增加物料编号搜索 | 已完成 | 页面可输入物料编号查询,导出同条件 |
| M-002 | 库存查询增加物料编号搜索 | 已完成 | 主查询和导出均带编号条件 |
| M-003 | 入库记录增加物料编号搜索 | 已完成 | 主查询和导出均带编号条件 |
| M-004 | 物料库位增加物料编号搜索 | 已完成 | 可按物料编号定位库位记录 |
| M-005 | 耗材领料增加物料编号搜索 | 已完成 | 耗材列表可按编号查询 |
| M-006 | 物料查询增加物料编码搜索 | 已完成 | 物料主文件查询可按编码过滤 |
| M-007 | 物料维护增加物料编码搜索 | 已完成 | 维护列表可按编码过滤 |
| M-008 | 共用库存物料选择弹窗增加编号搜索 | 已完成 | 销售、装配、技术确认弹窗可按编号查 |
| M-009 | 后端查询过程增加编号参数 | 已完成 | 存储过程直接传编号参数执行成功 |
| M-010 | 前端模板结构验证 | 已完成 | 改动 `.vue` 模板解析全部通过 |
## 05-验收证据
### 前端解析验证
验证命令:
```powershell
node -e "使用 vue-template-compiler 解析改动的 .vue 文件"
```
验证范围:
- `src/views/WarehouseManagement/InventoryCheck/index.vue`
- `src/views/WarehouseManagement/InventoryQuery/index.vue`
- `src/views/WarehouseManagement/WarehousingRecord/WarehousingRecord.vue`
- `src/views/WarehouseManagement/MaterialLocation/index.vue`
- `src/views/WarehouseManagement/MaterialRequisition/index.vue`
- `src/views/TechnologyCenter/MaterialQuery/index.vue`
- `src/views/TechnologyCenter/MaterialMaintain/index.vue`
- `src/views/AssemblyManagement/ReceiveAssemblyTask/index.vue`
- `src/views/AssemblyManagement/ReceiveAssemblyTaskSliding/index.vue`
- `src/views/SalesManagement/OrderExamine/index.vue`
- `src/views/SalesManagement/OrderManagement/index.vue`
- `src/views/SalesManagement/OrderInquiry/index.vue`
- `src/views/TechnologyCenter/DrawingConfirmation/index.vue`
- `src/views/TechnologyCenter/DrawingConfirmationDistribution/index.vue`
结果:全部 `ok`
### SQL 执行验证
验证数据库:
- SQL Server`192.168.1.27`
- 数据库:`ERPTOOL_JY_20250826Back`
验证方式:直接调用相关存储过程并传入 `@物料编码_check=1,@物料编码=N'0'`
验证通过的过程:
- `物料管理_查询数据_分页`
- `仓储管理_物料库位_查询数据`
- `仓储管理_耗材出库_查询`
- `仓储管理_库存盘点_查询`
- `仓储管理_库存查询_查询`
- `仓储管理_通用库存_查询`
- `报表_仓储管理_通用库存_查询`
- `仓储管理_入库记录_查询`
- `仓储管理_入库记录_导出表格_查询`
结果:`all sql execution ok`
## 06-决策记录
| 决策点 | 选择 | 原因 |
| --- | --- | --- |
| 搜索字段命名 | 前端显示“物料编号/物料编码”,后端参数使用 `物料编码` | 数据库字段主要为 `物料编码`,页面展示常称为物料编号 |
| 是否复用物料名称输入框 | 不复用,新增独立输入框 | 用户明确要求“添加物料编号搜索功能”,独立条件更清晰 |
| 后端参数是否必传 | 可选参数 | 保持旧页面、旧查询兼容 |
| 查询方式 | 模糊查询 | 与项目内物料名称、图号搜索习惯一致 |
| 共用弹窗处理 | 统一改 `仓储管理_通用库存_查询` 调用方 | 多个页面共用同一库存物料选择过程,统一补能避免重复逻辑 |
| 导出是否同步 | 同步 | 防止页面筛选结果和导出结果不一致 |
| 是否完整构建 | 未执行完整 build | 当前工作区已有 `dist.7z` 等既有脏文件,避免构建重写产物 |
## 07-后续注意事项
1. 新增物料搜索页面时,如表格展示 `物料编码`,搜索栏应同步提供物料编号输入框。
2. 新增后端查询过程时,建议统一支持:
- `@物料编码_check`
- `@物料编码`
3. 如果后续改为统一物料选择组件,可将物料编号、物料名称、图号/型号三个搜索项抽成共用弹窗,减少重复页面维护。