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

## 一、数据库开发

1. 已新建独立数据表：
   - `MES_设计报工_任务`。
   - `MES_设计报工_记录`。
   - `MES_设计报工_校验记录`。
2. 已新建设计任务增删改查存储过程：
   - `设计报工_任务_查询`。
   - `设计报工_任务_新增`。
   - `设计报工_任务_编辑`。
   - `设计报工_任务_删除`。
3. 已在删除过程增加约束：
   - 存在 `MES_设计报工_记录` 时禁止删除。
4. 已新建设计报工过程：
   - `设计报工_任务_开始`。
   - `设计报工_任务_结束`。
   - `设计报工_任务_完成`。
5. 已在完成过程增加约束：
   - 必须存在结束时间。
   - 未结束不能完成。
6. 已新建设计工时校验过程：
   - `设计报工_工时校验_查询`。
   - `设计报工_工时校验_保存`。
   - `设计报工_工时校验_批量保存`。
7. 已新建设计工时报表过程：
   - `设计报工_工时报表_作业者工时_查询`。
8. 已新增辅助下拉过程：
   - `设计报工_物料查询`。
   - `设计报工_人员查询`。
   - `设计报工_项目查询`。

## 二、前端开发

1. 已新建设计任务页面：`src/views/ProductionManagement/DesignReportTask/Task/index.vue`。
2. 已新建设计报工页面：`src/views/ProductionManagement/DesignReportTask/Report/index.vue`。
3. 已新建设计工时校验页面：`src/views/ProductionManagement/DesignReportTask/Check/index.vue`。
4. 已新建设计工时报表页面：`src/views/ProductionManagement/DesignReportTask/HoursReport/index.vue`。
5. 本阶段不分配菜单权限，不新增菜单权限脚本，不写入菜单表和角色权限表。
6. 物料编码、关联父件物料编码下拉查询参考 `ProcessManagement/PartDrawlook/index.vue`。
7. 指派对象多人员选择参考 `PlanManagement/SelfMakePlando/index.vue` 的二次派工。
8. 工时校验布局参考 `ProductionManagement/WorkHoursCheck/index.vue`，但移除 SAP 上传相关逻辑。
9. 工时报表布局参考 `ProductionManagement/Workhours/index.vue`，但查询独立设计报工表。

## 三、验证步骤

1. 已在事务内新建一条设计任务，确认 DID 和创建日期自动生成。
2. 编辑设计任务，确认 DID 和创建日期不可修改。
3. 未报工任务可删除。
4. 已存在报工记录任务不可删除。
5. 已验证点击开始后生成报工记录。
6. 已验证未结束时点击完成，返回“任务存在未结束报工，不能完成”。
7. 已验证点击结束后生成结束时间和工时秒数。
8. 已验证已结束后点击完成，任务变为已完成。
9. 已完成任务不能再次开始或结束。
10. 校验页面只更新设计报工数据，不触发 SAP 上传。
11. 报表页面只展示设计报工工时，不混入现有生产报工数据。
12. 已确认本阶段未新增菜单权限脚本，未写入菜单表和角色权限表。
13. 已执行 `npm run build`，构建通过。
