# 02-项目程序开发详细步骤

## 1. 需求解析

1. 解包并读取 `doc/新增及时齐套跟踪结果.docx`。
2. 确认需求：新增页面“及时齐套跟踪结果”，一级字段和过滤条件按“计划用表”一致，重点新增绿色二级缺件跟踪数据。
3. 确认 SAP 数据源为四段名：`[SAP].[SBO_YL].[dbo].[VIEW_Jijiankukc]`。

## 2. 数据库开发

1. 新增 `db_backups/create_timely_kit_tracking_result_20260629.sql`。
2. 创建或更新存储过程 `dbo.生产管理_及时齐套跟踪结果_查询`。
3. 查询过程输入参数沿用“计划用表”：
   - 订单号、物料类型、合同号、产品编码、产品名称、工序名称、计划开始、计划完成、排产状态、指派对象、计划号、发货状态、齐套、检验状态、发料状态、自制件属性。
4. 使用 `[SAP].[SBO_YL].[dbo].[VIEW_Jijiankukc]` 读取缺件明细。
5. 使用 `View_生产订单_MES` 匹配 MES 计划、任务状态、工艺路线和预计完成时间。
6. 使用 `YL_质量检验_质检记录` 判断终检和外购到货草稿对应的来料检验状态。
7. 脚本补充 `SET ANSI_NULLS ON` 和 `SET QUOTED_IDENTIFIER ON`，避免 XML `.value()` 和索引视图相关 SET 选项错误。
8. 2026-06-30 新增 `db_backups/update_timely_kit_tracking_result_inventory_20260630.sql`，在不覆盖历史脚本的前提下更新查询过程。
9. 2026-06-30 查询过程从 SAP 视图 `库存量` 读取并输出为页面字段 `库存数量`。
10. 2026-06-30 外购采购状态文本保留采购员、采购未清数量、到货草稿、质检状态，不单独输出采购员列。
11. 2026-06-30 新增 `db_backups/update_timely_kit_tracking_result_multi_detail_orders_20260630.sql`，去掉自制缺件生产订单匹配处的单行限制，同一缺件物料匹配到的多个生产订单全部返回，并按缺件生产订单号去重。

## 3. 菜单开发

1. 新增 `db_backups/add_timely_kit_tracking_result_menu_20260629.sql`。
2. 以“计划用表”菜单为权限来源，复制已有角色的菜单授权。
3. 新菜单：
   - `path = TimelyKitTrackingResult/index`
   - `componet = /PlanManagement/TimelyKitTrackingResult/index`
   - `name = TimelyKitTrackingResult`
   - `title = 及时齐套跟踪结果`

## 4. 前端开发

1. 新增页面 `src/views/PlanManagement/TimelyKitTrackingResult/index.vue`。
2. 主表过滤区参考 `src/views/PlanManagement/PlanShell/index.vue`。
3. 主表一级字段按计划用表展示。
4. 使用 `el-table-column type="expand"` 展示缺件二级明细。
5. 二级行使用浅绿色背景，贴合原文档“绿色部分二级数据”的表达。
6. 状态字段使用与既有页面一致的绿色/橙色标签样式。
7. 2026-06-30 二级缺件明细在“缺件数量”后增加“库存数量”列。
8. 2026-06-30 二级缺件明细去掉单独“采购员”列，采购员仅在外购采购状态文本中显示。
9. 2026-06-30 二级工艺路线样式参考 `src/views/ProductionManagement/ProductionPlanTrack/index.vue`，调整为左对齐、缩小间距、红/蓝/绿三色，不使用橙色。

## 5. 验证

1. 执行查询脚本到 `YL_MESDB`。
2. 执行菜单脚本，确认菜单写入 `登录基础数据_二级菜单`。
3. 直接执行 `dbo.生产管理_及时齐套跟踪结果_查询`，确认 SAP linked server 可访问并返回数据。
4. 执行 `npm run build`，确认前端构建通过。
5. 复制原始 docx 到 `work/PlanManagement/TimelyKitTrackingResult` 并补齐 README、01-06 文档。
6. 2026-06-30 执行线上过程定义检查，确认包含 `库存数量`；最新口径为外购采购状态文本包含 `采购员:`，但结果集和页面均无单独采购员列。
7. 2026-06-30 查询 SAP 视图 `VIEW_Jijiankukc`，确认 `库存量` 字段存在且样例有库存值。
8. 2026-06-30 执行 `EXEC dbo.[生产管理_及时齐套跟踪结果_查询] @订单号 = 4222`，确认缺件物料 `22-103-060-YDZF-20V1.0-4.1` 同时返回生产订单 `5960` 和 `7142`，且同一生产订单号未重复。
