Files
HF-MES-manual/data_middleground/battery_detail_report.md

354 lines
16 KiB
Markdown
Raw Normal View History

# 电池详情报表
## 1. 功能概述
电池详情报表属于 MES 系统数据中台的报表分析模块,用于按**工艺流程 + 批次 + 工序**的维度查询电池在各工序中的详细结果参数数据。系统根据用户选择的工序,动态生成多级表头,将各工序的设定值参数和实际结果参数以表格形式展示,支持灵活筛选工序结果参数、按工序结束时间过滤,以及大批量数据导出为 CSV 文件。
**核心功能:**
- 工艺流程联动筛选:按工艺流程类别 → 工艺流程 → 批次 → 工序的层级联动选择,快速定位目标数据范围
- 工序参数动态选择:根据选中的工序,动态加载各工序的结果参数树,用户可自由勾选需要展示的参数列
- 多级表头展示:系统根据工序类型(常规工序 / 化成-分容多工步工序)自动生成多级嵌套表头,清晰展示工序 → 工步 → 结果参数的层级关系
- 时间范围过滤:以所选最后一个工序的完成时间作为筛选条件,精准定位时间段内的生产数据
- 数据导出:支持将查询条件下的全量数据通过异步任务导出为 CSV 文件,适用于大批量数据分析
**功能对应截图**
<div align="center">
<img style="margin-top:18px;" src="/public/image/data_middleground/battery_detail_report/电池详情报表页面截图.png" alt="电池详情报表页面截图">
<div style="font-size:12px; font-weight:bold;">图1 电池详情报表页面</div>
</div>
## 2. 术语说明
| 术语 | 定义 | 说明 |
|------|------|------|
| 电池详情报表 | Battery Detail Report按批次和工序维度查询电池结果参数的报表 | 数据中台报表分析模块的核心功能之一 |
| 工艺流程 | Process Flow定义产品从原材料到成品的完整加工顺序 | 筛选条件的一级维度,按工艺流程类别分组展示 |
| 批次 | Batch生产计划中的最小执行单元 | 筛选条件的二级维度,一个批次关联一个工艺流程 |
| 工序 | Process工艺流程中的一个加工环节 | 筛选条件的三级维度,支持多选 |
| 工序参数 | Process Result Param工序作业完成后记录的实际结果数据 | 如电压、电流、容量、内阻等,用户可选择性展示 |
| 多工步工序 | Multi-Step Process一个工序内包含多个工步如化成、分容 | 结果参数会按工步拆分如电压01、电压02 |
| 单工步结果参数 | 不随工步变化的工序结果参数 | 如进站时间、出站时间、设备编码等 |
| 工序结束时间 | 工序的完成时间finish_time | 时间范围的筛选依据,以所选最后一个工序的完成时间为准 |
| 档位/档位类别 | Classification电池按容量等级划分的档位 | 如 K1、K2、F1 等 |
| 导出任务 | Export Task异步大数据导出的任务机制 | 在系统顶部"系统下载任务"中查看进度并下载 |
**数据模型关系说明:**
```mermaid
flowchart TB
subgraph 筛选维度
FC[工艺流程类别]
TF[工艺流程]
BA[批次]
PR[工序]
end
subgraph 数据来源
BPL[电池工序聚合日志<br/>hf_mes_bkv_batch_process_log]
BKV[电池结果数据分表<br/>hf_mes_tmp_bkv_subbatch]
end
subgraph 工序相关
WS[工序单元<br/>ProcessWorkingsubclass]
RP[工序结果参数<br/>TechnologyProcessResultParam]
DP[默认结果参数<br/>DefaultResultParam]
PS[工序设定值<br/>setting字段]
end
FC -->|1:N| TF
TF -->|1:N| BA
TF -->|1:N| PR
PR -->|关联| WS
PR -->|拥有| RP
WS -->|预设| DP
PR -->|配置| PS
BA -->|产出| BPL
BPL -->|关联查询| BKV
```
**关系说明:**
| 关系类型 | 说明 |
|---------|------|
| 工艺流程类别 → 工艺流程 | **1 对 N**:一个工艺流程类别包含多个工艺流程 |
| 工艺流程 → 批次 | **1 对 N**:一个工艺流程可被多个批次引用 |
| 工艺流程 → 工序 | **1 对 N**:一个工艺流程包含多个工序 |
| 工序 → 工序单元 | **N 对 1**:每个工序关联一个工序单元 |
| 工序 → 工序结果参数 | **1 对 N**:每个工序可配置多个结果参数 |
| 工序单元 → 默认结果参数 | **1 对 N**:每个工序单元可预设多个默认结果参数 |
| 批次 → 电池工序日志 | **1 对 N**:一个批次下包含多条电池工序日志记录 |
| 电池工序日志 → 电池结果数据 | **1 对 1**:每条日志关联一条电池结果数据(按 subbatch 路由分表) |
**简化关系图:**
```mermaid
flowchart LR
A[工艺流程类别] -->|1:N| B[工艺流程]
B -->|1:N| C[批次]
B -->|1:N| D[工序]
D -->|关联| E[工序单元]
E -->|预设| F[默认结果参数]
C -->|查询| G[电池工序日志]
G -->|关联| H[电池结果数据]
```
## 3. 电池详情报表交互流程
### 3.1 筛选条件设置
#### 3.1.1 筛选条件说明
左侧面板提供层级联动的筛选条件,用户需按"流程 → 批次 → 工序"的顺序逐级选择,系统会根据上一级选择动态加载下一级的选项。
**功能对应截图**
<div align="center">
<img style="margin-top:18px;" src="/public/image/data_middleground/battery_detail_report/筛选条件面板截图.png" alt="筛选条件面板截图">
<div style="font-size:12px; font-weight:bold;">图1 筛选条件面板</div>
</div>
#### 3.1.2 工艺流程选择
工艺流程按**工艺流程类别**分组展示,便于用户快速定位。
**操作步骤:**
1. 进入【数据中台】→【报表分析】→【电池详情报表】
2. 在左侧【筛选条件】面板的【流程】下拉框中,按工艺流程类别分组浏览
3. 选择目标工艺流程
**字段说明:**
| 字段 | 说明 | 必填 |
|------|------|------|
| 流程 | 按工艺流程类别分组的工艺流程列表,选中后联动加载批次和工序 | 是 |
**【注意】** 切换工艺流程后,已选的批次和工序将被清空,需重新选择。
#### 3.1.3 批次选择
**操作步骤:**
1. 完成工艺流程选择后,【批次】下拉框自动加载该工艺流程下的所有批次
2. 从下拉列表中选择目标批次,支持输入关键字过滤
**字段说明:**
| 字段 | 说明 | 必填 |
|------|------|------|
| 批次 | 所选工艺流程下的生产批次列表 | 是 |
#### 3.1.4 工序选择
**操作步骤:**
1. 完成工艺流程选择后,【工序】下拉框自动加载该工艺流程下的所有工序
2. 支持多选(可勾选多个工序),选中后右侧工序参数树将动态更新
**字段说明:**
| 字段 | 说明 | 必填 |
|------|------|------|
| 工序 | 所选工艺流程下的工序列表,支持多选 | 是(查询时必选) |
**【注意】** NG 判定工序NG01~NG05和分选工序SELECTION不在筛选列表中显示。
### 3.2 工序参数选择
#### 3.2.1 工序参数说明
工序参数是各工序在作业过程中记录的实际结果数据。系统根据用户在筛选条件中选择的工序,动态加载对应工序的结果参数,以树形结构展示。用户可以自由勾选需要在报表中展示的参数列。
**功能对应截图**
<div align="center">
<img style="margin-top:18px;" src="/public/image/data_middleground/battery_detail_report/工序选择筛选面板截图.png" alt="工序选择筛选面板截图">
<div style="font-size:12px; font-weight:bold;">图1 工序选择筛选面板</div>
</div>
<div align="center">
<img style="margin-top:18px;" src="/public/image/data_middleground/battery_detail_report/工序数据筛选面板截图.png" alt="工序数据筛选面板截图">
<div style="font-size:12px; font-weight:bold;">图2 工序数据筛选面板</div>
</div>
#### 3.2.2 工序参数树操作
**操作步骤:**
1. 在筛选条件中勾选目标工序
2. 左侧【工序参数】区域自动加载所选工序的结果参数树
3. 勾选需要展示的参数项,支持父子级联勾选
4. 使用搜索框可按关键字快速定位参数
**字段说明:**
| 字段 | 说明 |
|------|------|
| 工序名称(父节点) | 工序的名称,如"OCV1"、"分容" |
| 结果参数(子节点) | 该工序下的结果参数,如电压、电流、内阻等 |
**【重要】** 如果未勾选任何工序参数,查询时将不显示该工序的结果参数列。
### 3.3 查询结果展示
#### 3.3.1 查询操作步骤
1. 完成筛选条件设置(流程、批次、工序)和工序参数勾选
2. 在右上方面板设置查询条件:
- **工序结束时间**:选择时间范围,系统以所选最后一个工序的完成时间作为过滤条件
- **托盘**:可选,按托盘号精确过滤
3. 点击【查询】按钮
4. 系统生成多级表头并加载数据
**查询条件说明:**
| 查询条件 | 说明 | 必填 |
|---------|------|------|
| 工序结束时间 | 以所选最后一个工序的完成时间finish_time作为时间范围条件 | 是 |
| 托盘 | 输入托盘号进行精确过滤 | 否 |
> **工序结束时间规则:**
> - 如果选择了工序,则以所选工序中**最后一个**的完成时间作为过滤条件
> - 如果未选择工序(使用全部工序),则以工艺流程中**最后一个工序**的完成时间作为过滤条件
**功能对应截图**
<div align="center">
<img style="margin-top:18px;" src="/public/image/data_middleground/battery_detail_report/查询条件与结果截图.png" alt="查询条件与结果截图">
<div style="font-size:12px; font-weight:bold;">图1 查询条件与结果</div>
</div>
#### 3.3.2 表格表头结构
表格采用**多级嵌套表头**结构,分为三层:
**第一层 — 工序层:**
以每个工序名称为一级列头,如"OCV1"、"分容"、"DCIR"等。
**第二层 — 工步层(仅化成/分容类工序):**
对于化成FORMATION/HC、分容FR、预化成FORMATION_SS等多工步工序在工序下按工步展开二级列头如"第1工步搁置"、"第2工步恒流恒压充电"。
**第三层 — 参数层:**
每个工序(或工步)下的具体结果参数,如电压、电流、容量、内阻等。
**基础信息列(固定显示):**
| 列名 | 说明 |
|------|------|
| 电池编码 | 电池在系统中的唯一标识 |
| 批次号 | 电池所属的生产批次 |
| 电池型号 | 产品的型号代码 |
| 工艺流程 | 该批次关联的工艺流程名称 |
| 托盘号 | 电池所在托盘的编号 |
| 流水号 | 托盘在批次内的流水编号 |
| 激活状态 | 电池当前状态:激活 / 未激活 |
| 档位类别 | 电池的容量档位分类 |
| 档位 | 电池的具体档位等级(如 K1、K2、F1 等) |
**化成/分容类工序特殊说明:**
化成和分容工序包含多个工步搁置、恒流恒压充电、恒流恒压放电、恒流放电、恒流充电、循环每个工步独立记录结果参数。系统会根据工序设定值setting中的工步配置自动生成对应的列。
例如,分容工序有 5 个工步每个工步记录电压VOL、电流CUR、容量CAP则动态生成
| 第1工步搁置 | | | 第2工步恒流恒压充电 | | | ... |
|:---:|:---:|:---:|:---:|:---:|:---:|
| VOL01 | CUR01 | CAP01 | VOL02 | CUR02 | CAP02 | ... |
**单工步结果参数:**
部分结果参数不随工步变化is_only = 1如进站时间START_TIME、出站时间FINISH_TIME、设备编码DEVICE_CODE这些参数在工序层级直接展示不归属到具体工步下。
#### 3.3.3 数据来源说明
查询结果的数据来自以下数据表:
| 数据表 | 说明 |
|-------|------|
| 电池工序聚合日志表 | 记录每个电池在每道工序的完成状态、完成时间、档位等信息 |
| 电池结果数据分表 | 按 subbatch 分表存储电池的详细结果参数值(如电压、电流等) |
| 生产批次表 | 提供批次的工艺流程和产品型号关联信息 |
系统先查询聚合日志表获取电池列表,再根据每条电池的 subbatch 路由到对应的结果数据分表获取各工序参数值。
### 3.4 数据导出
#### 3.4.1 导出说明
系统采用**异步任务导出**机制,先将导出请求创建为后台任务,用户可在系统顶部的"系统下载任务"中查看任务进度并下载生成的文件。导出格式为 CSV。
#### 3.4.2 导出操作步骤
1. 设置好筛选条件(流程、批次、工序、时间范围和工序参数)
2. 点击【导出】按钮
3. 系统弹出确认提示:"数据导出需要先创建下载任务,是否继续?"
4. 点击【确定】,系统创建后台导出任务
5. 在系统顶部菜单进入【系统下载任务】,查看任务进度
6. 任务完成后,点击下载获取 CSV 文件
**【注意】** 导出前必须选择批次,否则无法导出。
#### 3.4.3 导出文件格式
导出 CSV 文件的表头同样采用多级结构:
| 层级 | 说明 | 示例 |
|------|------|------|
| 第 1 行(一级标题) | 工序名称 | OCV1, , , 分容, , , , , , |
| 第 2 行(二级标题) | 工步名称(仅多工步工序) | , , , 第1工步搁置, , , 第2工步恒流恒压充电 |
| 第 3 行(三级标题) | 具体结果参数名称 | 电池编码, 批次号, ..., 电压, 电流, 电压, 电流 |
**【重要】** 数据量较大的批次,系统会自动将数据拆分为多个 CSV 文件分别生成,最后合并为一个完整的 CSV 文件供下载。
**功能对应截图**
<div align="center">
<img style="margin-top:18px;" src="/public/image/data_middleground/battery_detail_report/导出数据截图.png" alt="导出数据截图">
<div style="font-size:12px; font-weight:bold;">图1 导出数据</div>
</div>
<div align="center">
<img style="margin-top:18px;" src="/public/image/data_middleground/battery_detail_report/获取导出文件截图.png" alt="获取导出文件截图">
<div style="font-size:12px; font-weight:bold;">图2 获取导出文件</div>
</div>
### 3.5 分页浏览
查询结果支持分页浏览,系统默认每页显示 10 条记录。用户可以在表格底部切换页码和每页条数。
**分页操作:**
- 点击页码切换页面
- 修改每页显示条数
- 系统自动重新加载对应页的数据
**【注意】** 切换分页时无需重新点击查询按钮,系统会自动根据当前筛选条件加载对应页码的数据。
---
## 4. 常见问题
### 4.1 为什么选择工艺流程后没有批次可选?
请确认该工艺流程下是否已创建了生产批次。批次需要在【生产批次管理】中创建并与工艺流程关联。
### 4.2 为什么工序参数树为空?
请先在筛选条件中勾选目标工序,工序参数树会根据选中的工序动态加载对应的结果参数。如果已勾选工序但参数树仍为空,请确认该工序是否已在【工艺模型】中配置了结果参数。
### 4.3 为什么化成/分容工序查询报错"设定值为空"
化成和分容工序需要在【工艺模型】→【工艺详情】中配置工序设定值(工步信息),否则系统无法确定工步数量和类型,报表无法生成。请联系系统管理员配置。
### 4.4 为什么导出的 CSV 文件与页面展示的列不同?
导出时会导出所选工序的**全部结果参数**(不再受页面工序参数树的勾选影响),而页面展示仅显示勾选的参数列。导出以完整数据为准。
### 4.5 导出任务创建后在哪里下载?
在系统顶部菜单栏找到【系统下载任务】,进入后可查看所有导出任务的状态和进度,任务完成后即可下载。