# 批次托盘

## 1. 功能概述

批次托盘属于 MES 系统的核心模块，用于管理生产批次与托盘的关联关系，实现批次在生产过程中的物流跟踪和管理。托盘是承载物料的生产容器，批次托盘管理贯穿整个生产物流环节。

**核心功能：**

- 批次托盘查询：查询批次与托盘的关联信息
- 批次托盘详情：查看批次托盘的详细信息
- 批次跟踪：跟踪批次在托盘上的流转状态
- 解绑操作：解除批次与托盘的绑定关系
- 停止操作：停止批次托盘的当前状态

**功能对应截图** ：
![图片：批次托盘功能截图](/public/image/process_model/图片：工艺模型功能截图.png)


## 2. 术语说明

| 术语 | 定义 | 说明 |
|------|------|------|
| 批次托盘 | Batch Tray，批次与托盘的关联记录 | 记录批次货物所在的托盘信息 |
| 托盘 | Tray，承载物料的容器 | 用于物料的存储和流转 |
| 托盘激活状态 | Tray Activation Status，托盘是否激活 | 记录托盘的激活状态 | 
| 托盘编号 | Tray Number，托盘的唯一标识 | 每 个托盘都有唯一编号 |
| 批次编号 | Batch，批次的唯一标识 | 用于追溯产品的生产信息 |
| 解绑 | Unbind，解除批次与托盘的关联 | 当物料离开托盘时执行 |
| 停止 | Stop，停止批次托盘的当前状态 | 暂停批次的进一步流转 |


## 3. 数据模型关系说明

### 3.1 批次托盘电池层级关系

批次作为顶层实体，工序表示生产阶段，部分工序需要托盘运载电池，部分工序电池解绑后独立存在。

```mermaid
flowchart TB
    subgraph 批次
        subgraph 工序1["工序1(托盘运载)"]
            subgraph 托盘1
                Bat1[电池1]
                Bat2[电池2]
            end
        end
        subgraph 工序2["工序2（无需托盘）"]
            Bat3[电池3]
            Bat4[电池4]
        end
    end
```

**关系说明：**

| 关系类型 | 说明 |
|---------|------|
| 批次 → 工序 | **1:N**：一个批次可包含多个工序 |
| 工序 → 托盘 | **1:N**：一个工序可包含多个托盘（工序1有托盘） |
| 托盘 → 电池 | **1:N**：一个托盘可包含多个电池 |
| 工序 → 电池 | **1:N**：一个工序可直接包含多个电池（工序2无托盘） |


### 3.2 电池托盘绑定方式

电池与托盘的绑定有两种方式，均可将电池和托盘绑定并登录到批次上：

| 绑定方式 | 接口 | 电池状态要求 | 说明 |
|---------|------|------------|------|
| 绑定接口 | `set_tray_binding` | 电池必须已激活 | 电池需处于激活状态，且与托盘属于同一批次 |
| 登录接口 | `set_tray_login` | 电池无需激活 | 电池无需处于激活状态，即可绑定并登录到批次 |



## 4. 批次托盘交互流程

### 4.1 批次托盘列表

#### 4.1.1 批次托盘列表说明

批次托盘列表展示所有批次与托盘的关联信息，支持按多种条件查询和筛选。

**功能对应截图** ：
![图片：批次托盘列表截图](/public/image/process_model/图片：工序单元列表截图.png)

**字段说明：**

| 字段 | 说明 |
|------|------|
| 托盘编号 | 托盘的唯一标识代码 |
| 流水号 | 批次托盘的流水号，用于唯一标识每次绑定 |
| 托盘状态 | 当前托盘状态 |
| 批次编号 | 关联的批次编号 |
| 工艺流程名称 | 关联的工艺流程名称 |
| 当前工序 | 托盘当前所在工序 |
| 载入电池数量 | 托盘当前载入的电池数量 |
| 登录时间 | 批次托盘登录时间 |


#### 4.1.2 批次托盘查询

**查询条件：**

| 查询条件 | 说明 |
|---------|------|
| 托盘号 | 按托盘编号精确查询 |
| 批次号 | 按批次编号精确查询 |
| 托盘激活状态 | 按状态筛选（激活、停止） |
| 登录时间 | 按创建时间范围筛选 |

### 4.2 批次托盘详情

#### 4.2.1 详情查看说明

查看批次托盘的详细信息，包括托盘基本信息、工序的流转时间信息、工序流程设备、载入的电池数量、电池编号、电池位置、电池状态等。

**操作步骤：**

1. 进入【生产配置】→【批次管理】→【批次托盘】
2. 在列表中找到需要查看详情的批次托盘记录
3. 点击【详情】按钮
4. 查看批次托盘的完整信息

**字段说明：**

| 字段 | 说明 |
|------|------|
| 托盘编号 | 托盘的唯一标识代码 |
| 工序开始时间 | 工序开始时间，用于记录工序开始的时间 |
| 工序结束时间 | 工序结束时间，用于记录工序结束的时间 |
| 当前工序 | 托盘当前所在工序 |
| 序号 | 电池条码在托盘里的位置 |
| 电池条码 | 电池的唯一标识代码 |
| 电池激活状态 | 电池的当前状态，如激活、停用等 |

**功能对应截图** ：
![图片：批次托盘详情截图](/public/image/process_model/图片：新增工序单元截图.png)


### 4.3 解绑操作

#### 4.3.1 解绑说明

解除批次与托盘的绑定关系，解绑后托盘状态会变成停止，但是电池状态不会改变。

**操作步骤：**

1. 进入【生产配置】→【批次管理】→【批次托盘】
2. 在列表中找到需要解绑的批次托盘记录
3. 点击【解绑】按钮
4. 点击【确定】完成解绑操作

**【重要】** 解绑操作不可逆，请在确认后执行。

**功能对应截图** ：
![图片：解绑操作截图](/public/image/process_model/图片：新增工序单元截图.png)

### 4.4 停止操作

#### 4.4.1 停止说明

停止托盘和电池的激活状态，暂停该托盘的进一步流转，用于处理异常情况。

**操作步骤：**

1. 进入【生产配置】→【批次管理】→【批次托盘】
2. 在列表中找到需要停止的批次托盘记录
3. 点击【停止】按钮
4. 点击【确定】完成停止操作

**【重要】** 停止操作不可逆，请在确认后执行。

**功能对应截图** ：
![图片：停止操作截图](/public/image/process_model/图片：新增工序单元截图.png)

