# 半成品管理

## 1. 功能概述

半成品管理用于记录和查询生产过程中各工序产出的半成品信息，支持半成品的录入与追溯。

**主要功能：**

- 半成品数据录入：将各工序产出的半成品信息登记到系统中
- 半成品列表查询：按批次号、半成品ID、工序单元、下料时间等条件检索半成品记录
- 物料状态查看：查看半成品当前是"已完成"还是"未使用"状态

**对应功能截图**：
![图片：半成品管理功能截图](/public/image/process_model/图片：工艺模型功能截图.png)

## 2. 术语说明

| 术语 | 定义 |
|------|------|
| 半成品 | 生产过程中各工序产出的中间物料 |
| 半成品ID | 系统自动为每个半成品生成的唯一编号 |
| 半成品编码 | 标识半成品物料类型的编码 |
| 批次号 | 半成品所属的生产批次编号 |
| 工序单元 | 产出该半成品的具体工序 |
| 物料状态 | 半成品当前使用情况：已完成 / 未使用 |

## 3. 半成品管理交互流程

### 3.1 半成品列表

#### 3.1.1 列表说明

半成品列表展示所有已录入的半成品记录，默认按下料时间由近到远排列，支持分页浏览。

**对应功能截图**：
![图片：半成品列表截图](/public/image/process_model/图片：工序单元列表截图.png)

**表格字段说明：**

| 字段 | 说明 |
|------|------|
| 批次号 | 半成品所属的生产批次编号 |
| 半成品ID | 系统自动生成的唯一编号，格式为"工序属性-物料类别-物料编码-时间戳" |
| 半成品编码 | 表示半成品物料类型的编码 |
| 产出数量 | 该工序产出的半成品数量 |
| 工序单元 | 产出该半成品的工序名称 |
| 生产设备 | 生产该半成品所使用的设备编号 |
| 物料状态 | 红色标签表示"已完成"，绿色标签表示"未使用" |
| 下料时间 | 半成品产出完成的时间 |

#### 3.1.2 列表查询

可通过以下条件筛选半成品记录：

| 查询条件 | 说明 |
|---------|------|
| 批次号 | 输入批次编号进行模糊搜索 |
| 半成品ID | 输入半成品ID进行精确查找 |
| 工序单元 | 从下拉列表中选择工序单元进行筛选 |
| 下料时间 | 选择一个时间范围，查询该时间段内产出的半成品 |

### 3.2 录入半成品数据

#### 3.2.1 录入流程说明

**操作步骤：**

1. 进入【计划生产】→【半成品管理】
2. 点击表格上方的 **【录入半成品数据】** 按钮
3. 在弹出的对话框中填写以下信息：

| 字段 | 必填 | 说明 |
|------|------|------|
| 生产批次 | 是 | 从下拉列表中选择关联的生产批次 |
| 工序单元 | 是 | 从下拉列表中选择产出半成品的工序单元（选项根据所选批次自动联动） |
| 设备编码 | 是 | 从下拉列表中选择生产设备编号 |
| 产出数量 | 是 | 输入该工序的产出数量，最小为 1 |
| 产出日期 | 否 | 选择半成品的产出日期 |

4. 填写完成后点击 **确定** 提交

#### 3.2.2 录入校验说明

| 校验项 | 规则 |
|--------|------|
| 生产批次 | 必填，必须从列表中选择 |
| 工序单元 | 必填，必须从列表中选择 |
| 产出数量 | 必填，须为大于 0 的数字 |

#### 3.2.3 录入处理过程

提交录入后，系统会自动执行以下处理：

1. **校验关联数据**：确认批次号存在、工序单元有效、该工序的物料产出配置已设置
2. **生成半成品ID**：系统根据工序属性、物料类别、物料编码和当前时间自动生成唯一的半成品编号
3. **计算后续工序**：根据工艺流程自动确定该半成品的下一个流转工序
4. **保存数据**：将半成品信息写入系统，若任一步失败则自动回滚，保证数据一致性

## 4. 物料状态说明

| 状态 | 标签颜色 | 说明 |
|------|---------|------|
| 已完成 | 红色 | 该半成品已被后续工序使用 |
| 未使用 | 绿色 | 该半成品尚未被后续工序使用 |
