生产管理
目录
- 概述
- 界面构成 — 5个子菜单
- 客户界面 (
/customer/index) - 产品界面 (
/product/index) - 员工界面 (
/employee/index) - 班表界面 (
/calendar/index) - 工作单界面 (
/order/index) - ISO 分析关联
- 使用场景
- 常见问题
- 相关界面
概述
Production 组管理生产活动所需的域信息(客户、产品、员工、班表、作业指令)。基于 ISO 22400 的运营分析目前在单独的 ISO 组的 ISO 数据 / ISO 分析 菜单中提供。
| 子菜单 | 内部 URL | 用途 |
|---|---|---|
| 客户 | /customer/index | 订单/供应客户信息注册·管理 |
| 产品 | /product/index | 生产产品信息注册·管理 |
| 员工 | /employee/index | 操作员注册·联系方式·所属 |
| 班表 | /calendar/index | 班次日程注册·管理 |
| 工作单 | /order/index | 作业指令注册·启动·结束·状态管理 |
界面构成 — 5个子菜单
各子界面采用列表(index.jsp) + **表单(form.jsp)**的形式构成。在列表中点击添加/修改按钮可切换到表单界面。
| 界面 | 行数 | 主要用户 | 一句总结 |
|---|---|---|---|
| 客户 | 138+171 | 销售/管理员 | 客户 ID·负责人·外部客户 ID 映射 |
| 产品 | 133+173 | 生产计划 | 产品 ID·BOM·外部产品代码 |
| 员工 | 138+178 | 人事/管理员 | 员工 ID·联系方式·所属工厂 |
| 班表 | 156+170 | 生产运营 | 班次(日班/夜班)日程 |
| 工作单 | 216+260+679 | 生产现场 | 作业指令生命周期 + 时间线 |
客户界面 (/customer/index)
上方工具栏
👑 고객 [사이트 ▼] [조회] [↻] [➕ 고객 추가]
| 控件 | 说明 |
|---|---|
工厂选择器 (site_id, 200px) | 全部工厂 + 已注册的工厂 |
| 查询 / 刷新 | 应用搜索 / 刷新界面 |
| 添加客户 | 切换到表单界面 (addCustomer()) |
列表表格 (10 列)
| 列 | 宽度 | 说明 |
|---|---|---|
| 工厂 ID | 120px | 域徽章 (点击时跳转到资产树) |
| 客户 ID | 120px | 域徽章 (CUSTOMER 类型) |
| 客户名称 | 自动 | 点击时进入修改界面 |
| 负责人名称 | 100px | manager_name |
| 负责人邮箱 | 200px | manager_email |
| 负责人电话 | 200px | manager_phone |
| 外部客户 ID | 150px | 外部系统(MES/ERP)映射用 ID 徽章 |
| 注册日期 | 150px | yyyy-MM-dd HH:mm:ss |
| 上次修改日期 | 150px | 上次修改时间 |
| 操作 | 80px | 🔧 修改 / 🗑 删除 |
表单 (form.jsp 主要输入)
| 输入 | 路径 | 说明 |
|---|---|---|
| 工厂 | site_id (选择器,新建时) | 客户所属工厂 |
| 客户 ID | customer_id | 仅允许英文/数字/_ |
| 客户名称 | customer_name | 便于人工识别的名称 |
| 负责人名称·邮箱·电话 | manager_name/manager_email/manager_phone | 联系方式元数据 |
| 外部客户 ID | external_customer_id | (可选) MES/ERP 等外部系统 ID |
| 说明 | description | 备注 |
如有外部客户 ID,可在流程的
flow_create_customer节点中自动映射外部系统负载。
产品界面 (/product/index)
列表表格 (主要列)
| 列 | 说明 |
|---|---|
| 工厂 ID | 域徽章 |
| 产品 ID | 域徽章 (PRODUCT) |
| 产品名称 | 点击时进入修改界面 |
| 产品分类 | 分类标签 (例: 家电·汽车零部件) |
| 单位 (UOM) | 测量单位 (EA/KG/L 等) |
| 外部产品 ID | (可选) 外部系统映射用 |
| 注册日期·修改日期·操作 | 通用 |
表单主要输入
| 输入 | 路径 | 说明 |
|---|---|---|
| 产品 ID | product_id | 域标识符 |
| 产品名称 | product_name | — |
| 产品分类 | category | — |
| 单位 | uom | 单位代码 |
| 外部产品 ID | external_product_id | (可选) |
| 说明 | description | — |
员工界面 (/employee/index)
列表表格 (主要列)
| 列 | 说明 |
|---|---|
| 工厂 ID | 域徽章 |
| 员工 ID | 域徽章 (EMPLOYEE) |
| 姓名 | 点击时进入修改界面 |
| 所属部门 | 部门信息 |
| 职级 | — |
| 邮箱·电话 | 联系方式 |
| 注册日期·修改日期·操作 | 通用 |
表单主要输入
| 输入 | 路径 | 说明 |
|---|---|---|
| 员工 ID | employee_id | 域标识符 |
| 姓名 | employee_name | — |
所属 (org_id) | org_id | 所属工厂/组织 (省略时回退至 site_id) |
| 部门·职级 | department / position | — |
| 邮箱·电话 | email / phone | — |
班表界面 (/calendar/index)
班表采用与工作单相同的时间线 + 数据列表 2 面板布局统一。
上方搜索区域
📅 근무표 [기간] [사이트 ▼] [유형 ▼] [건수 ▼] [조회] [↻] [➕ 이벤트 추가]
시프트 캘린더 / 이벤트 일정 관리
| 控件 | 宽度 | 说明 |
|---|---|---|
期间 (search_time) | 宽 | 日期时间范围 (日期选择器) |
工厂 (site_id) | 150px | 全部工厂 + 已注册工厂 |
类型 (target_type) | 140px | 全部类型 + 已注册的类型代码 (例: DAY/NIGHT/HOLIDAY) |
条数 (limit) | 140px | 最近 50/100/200/300/500/1,000 条 |
| 🔍 查询 | 红色主色调 | 按上述条件重新加载 |
| ↻ 刷新 | 灰色 + 旋转图标 | — |
| ➕ 添加事件 | 红色主色调 | 注册新班次/事件表单 |
时间线面板
与工作单相同的控件。面板标题辅助说明: "按时间段分布的班次/事件"。
| 快速范围 | 动作 |
|---|---|
| 10 分钟 / 30 分钟 / 1 小时 / 6 小时 / 12 小时 / 全部 | 6 个按钮 — 点击时高亮激活状态 (默认"全部") |
时间线(data_timeline)上显示班次为颜色条形。颜色根据班次状态(cal-status-* 全彩渐变徽章)而不同。
数据列表表格 (9 列)
面板标题辅助说明: "搜索到的班次/事件列表"。
| 列 | 宽度 | 显示 |
|---|---|---|
| 状态 | 90px | 全彩渐变 cal-status-* 徽章 — UPCOMING(蓝)/ PROGRESS(绿)/ DONE(灰) |
| 班表 ID | 200px | 域徽章 (CALENDAR) |
| 工厂 ID | 140px | 域徽章 |
| 设备 ID | 140px | 域徽章 (可选) |
| 类型代码 | 120px | DAY/NIGHT/HOLIDAY/SETUP 等 |
| 开始时间 | 自动 | 班次开始日期时间 |
| 结束时间 | 自动 | 班次结束日期时间 |
| 注册日期 | 160px | 注册时间 |
| 操作 | 80px | 🔧 修改 / 🗑 删除 |
表单主要输入
| 输入 | 路径 | 说明 |
|---|---|---|
| 班表 ID | calendar_id | — |
| 班表名称 | calendar_name | — |
| 类型 | calendar_type | DAY/NIGHT/HOLIDAY/SETUP 等 |
| 开始/结束 | start_time / end_time | — |
| 重复模式 | (一/二/三.../日) | 按星期几激活 |
| 说明 | description | — |
工作单界面 (/order/index)
作业指令全生命周期管理(注册·启动·暂停·继续·结束·中止)的核心界面。
上方搜索区域
💼 워크오더 [기간 ▭▭▭▭] [사이트 ▼] [검색...] [상태 ▼] [건수 ▼] [조회][↻] [➕ 워크오더 추가]
| 控件 | 宽度 | 说明 |
|---|---|---|
期间 (search_time) | 280px | 开始~结束 (中间,加粗) |
工厂 (site_id) | 150px | 全部工厂 + 已注册工厂 |
搜索 (search_value) | 200px | 占位符: "搜索 ..." — 工作单 ID·标题关键词 |
状态 (search_status) | 120px | 全部/待处理/进行中/暂停/完成/异常结束/延迟/取消 |
条数 (limit) | 130px | 50/100/200/300/500/1,000 |
| 查询 / 刷新 | 红色 | search() / refresh() |
| 添加工作单 | 红色 + ➕ | 切换到表单界面 (addOrder()) |
隐藏字段
上方搜索表单包含从外部界面(设备·客户·员工·产品等)跳转时使用的隐藏字段: shift_id, order_id, asset_id, employee_id, customer_id, product_id。当希望只查看该资源的工作单时自动填充。
时间线
面板标题显示"时间线 — 按时间段分布的工作单进展状态" + 右侧 6 个范围按钮组。
| 快速范围按钮 | 动作 |
|---|---|
| 🕗 10 分钟前 | 从当前起 10 分钟 |
| 30 分钟前 | 从当前起 30 分钟 |
| 1 小时前 | 从当前起 1 小时 |
| 6 小时前 | 从当前起 6 小时 |
| 12 小时前 | 从当前起 12 小时 |
| 全部期间 (默认激活) | 整个搜索期间 |
选定的范围按钮用激活效果高亮显示。采用与诊断·日志·流程界面相同的控件模式。
时间线区域(data_timeline)上显示工作单为全彩渐变颜色条形(t-box-2-* 徽章)。各条形采用状态对应的颜色(见下 状态 7 种),点击进入该工作单的详情界面。
数据列表表格
面板标题辅助说明: "搜索到的工作单列表"。
┌────────────────────────────────────────────────────────────────────┐
│ 상태 │ 워크오더 ID │ 설비 ID │ 제목 │ 목표/실적 │ OEE │ 시작/종료 │ 등록일 │ 액션 │
└────────────────────────────────────────────────────────────────────┘
| 列 | 宽度 | 说明 |
|---|---|---|
| 状态 | 100px | 全彩渐变徽章 (wo-status-* 7 种 — 见下状态 7 种) |
| 工作单 ID | 250px | 域徽章 |
| 设备 ID | 150px | asset_id (域徽章) |
| 标题 | 自动 | 工作单标题 |
| 目标 / 实绩 | 180px | target_units / 实际生产量 |
| OEE | 90px | 工作单单位 OEE (%) |
| 工作单开始/结束时间 | 150px | 两行 — 开始·结束日期时间 |
| 注册日期 | 150px | 注册时间 |
| 操作 | 150px | ▶ 启动 / ⏸ 暂停 / ⏹ 结束 / 🚫 中止 / 🔧 修改 / 🗑 删除 |
工作单状态 7 种
状态用 wo-status-* 全彩渐变徽章表示,相同颜色也应用于时间线条形。
延迟(DELAY)和取消(CANCEL)是界面根据时刻计算显示的,并不保存为数据。
保存的状态有五种: 待处理·进行中·暂停·完成·异常结束。
因此这两种**不能通过按钮改变。**要消除"延迟",应启动订单;要消除"取消",应延长计划结束时刻。
在 API 或数据库中搜索 DELAY 也找不到。
| 代码 | 中文 | 渐变颜色 | 说明 |
|---|---|---|---|
WAIT | 待处理 | 石板灰 | 尚未到达开始时间的订单 |
START | 进行中 | 🟢 深绿渐变 | 点击了启动按钮,目前正在运行 |
PAUSED | 暂停 | 🟠 橙色 | 运行中被暂停的订单 (可继续或结束) |
END | 完成 | 🔵 深青灰 | 已结束处理的订单 |
ABORTED | 异常结束 | 🔴 深红 | 运行中异常结束的订单 |
DELAY | 延迟 | 🟡 黄色 | 开始时间已过但尚未启动的订单 |
CANCEL | 取消 | ⚪ 浅灰 | 尚未启动但结束时间已经过的订单 |
界面判定状态的顺序
保存的状态优先,仅当保存状态为待处理时才根据时刻判定。
저장된 상태가 진행중·일시중지·완료·비정상종료 → 그대로 표시
그 외(대기) → 지금 시각으로 판정
종료 예정 시각이 지났으면 → 취소
시작 예정 시각이 지났으면 → 지연
둘 다 아니면 → 대기
这里出现的两个实际现象值得注意:
- 暂停的订单即使结束时间已过也继续显示"暂停"。因为保存的状态优先 — 不要认为界面安静就是正常,要特别关注期限已过的暂停订单。
- 取消的判定优先于延迟。 开始和结束时刻均已过的订单会跳过"延迟"直接显示为"取消"。
色彩映射见状态代码定义。
工作单帮助
界面下方显示操作指南框。
❓ 工作单帮助 在工作单菜单中可管理生产作业指令的注册·启动·结束·删除。
- 待处理 — 尚未到达开始时间的订单。
- 进行中 — 已点击启动按钮,目前正在运行的订单。
- 暂停 — 运行中被暂停的订单。可继续或结束。
- 延迟 — 开始时间已过但尚未启动的订单。
- 取消 — 尚未启动但结束时间已经过的订单。
- 完成 — 已结束处理的订单。
- 异常结束 — 运行中异常结束的订单。
- 时间线和列表在搜索期间内最多显示 1,000 条订单。
工作单添加/修改表单
点击上方添加工作单或行的 🔧 修改按钮进入表单界面。
1) 工厂字段组 (仅新建时)
| 输入 | 路径 | 说明 |
|---|---|---|
| 选择工厂 | site_id (350px 选择器) | 修改时会重新加载该工厂的资产/员工列表 |
修改模式(mode='U')中保留为隐藏字段。
2) 工作单字段组
| 输入 | 路径 | 说明 |
|---|---|---|
| 工作单 ID | order_id (400px) | 仅允许英文/数字/_ |
| 标题 | title (600px) | 便于人工识别的标题 |
| 优先级 | priority (200px 选择器) | NORMAL / LOW / HIGH / URGENT |
3) 外部系统集成字段组
| 输入 | 路径 | 占位符 |
|---|---|---|
| 外部订单 ID | external_order_id (400px) | "ERP/MES 订单 ID (可选)" |
| 外部 PO ID | external_po_id (400px) | "采购订单 ID (可选)" |
| LOT 号 | lot_number (300px) | "LOT/批号 (可选)" |
| BOM ID | bom_id (300px) | "BOM ID (可选)" |
4) 期间字段组
| 输入 | name | 宽度 | 说明 |
|---|---|---|---|
| 工作单开始 | dp_fix_start_timestamp | 250px | 占位符: 2023-01-02 09:00 — 格式 yyyy-MM-dd HH:mm:ss |
| 工作单结束 | dp_fix_end_timestamp | 250px | 占位符: 2023-01-03 18:00 |
若开始/结束时刻早于当前则
WAIT→DELAY自动转换;若未启动但结束时刻已过则自动变更为CANCEL。
5) 设备及操作员字段组
| 输入 | 路径 | 说明 |
|---|---|---|
| 设备 ID | asset_id (300px) | 自动完成 — 工厂的设备资产 |
| 员工 ID | employee_id (300px) | 自动完成 — 工厂的员工 |
6) 客户及生产产品字段组
| 输入 | 路径 | 说明 |
|---|---|---|
| 客户 ID | customer_id (300px) | 自动完成 |
| 产品 ID | product_id (300px) | 自动完成 |
| 产品生产目标数量 | target_units (200px, 右对齐) | 整数 — 该工作单要生产的数量 |
| 单位生产时间 [MS] | time_per_unit_in_ms (200px, 右对齐) | 制造一个产品所需时间(毫秒) — 用于 OEE 的异常时间计算 |
7) 说明及备注字段组
| 输入 | 路径 | 说明 |
|---|---|---|
| 说明 | description | 自由文本 |
| 备注 | note (可选) | 操作员记录 |
工作单详情界面 (/order/view/{order_id})
在工作单列表中点击工作单 ID 或行进入该作业指令的详情界面。界面采用 col-lg-9 左侧(主要面板) + col-lg-3 右侧(工作单元数据 + 班表)的布局。
上方 — 页面标题栏
💼 워크오더 | {order_id} [← 목록] [↻ 새로고침]
{site_id} / {asset_id} / {product_id} / {customer_id}
识别信息(工厂·设备·产品·客户)一行可快速判断是哪个作业指令。
左侧 ① 生产进度面板 (单独)
界面顶部 — 大型进度数字和条形 + 3 个元数据框。面板标题右侧有📊 ISO 分析按钮。
┌── 생산 진행률 ──────────────────────────────────────────┐
│ │
│ 78% 생산량: 1,560 개 │
│ ████████████░░░░ 목표: 2,000 개 │
│ 잔여: 440 개 │
└───────────────────────────────────────────────────────┘
| 区域 | 显示 |
|---|---|
达成率 (side_prod_rate) | 大 % 数字 + 进度条 |
生产量 (side_prod_good) | 合格品累计 |
目标 (side_prod_target) | 目标数量 |
剩余 (side_prod_remaining) | 目标 − 生产量 |
左侧 ② 摘要信息面板 — 生命周期操作按钮 7 种
面板标题右侧显示以下按钮为一组,工作单状态改变时自动切换激活/禁用。
| 按钮 | 动作 | 激活条件 |
|---|---|---|
| ▶ 启动 | startOrder() | WAIT 状态 |
| ⏸ 暂停 | pauseOrder() | START 状态 |
| 🔄 继续 | resumeOrder() | PAUSED 状态 |
| ⏹ 结束 | endOrder() | START/PAUSED 状态 |
| ❌ 异常结束 | abortOrder() | START/PAUSED 状态 |
| 📅 注册计划停机 | openPlannedStopDialog() | 始终激活 |
| 🔧 修改 (仅图标) | editOrder() | 始终激活 |
最后查询基准时间(
last_refresh_time)显示在面板标题标签区为小字。
摘要信息表 (5 列)
| 列 | 显示 |
|---|---|
| 当前状态 | 颜色徽章 (WAIT/START/PAUSED/END/ABORTED/DELAY/CANCEL) — 全彩渐变色调 |
| 达成率 | 实绩 ÷ 目标 (%) |
| 合格 | 合格品数 |
| 不良 | 不良品数 |
| 目标 | 目标数量 |
左侧 ③ OEE 面板 (单独)
在前版中 OEE/RAM/EMS 曾在一个面板中,现在 OEE 已分离为独立面板。一个面板内显示 4 种卡片统计,各为大数字 + 迷你折线图 + 与前一天对比的增量。
| 卡片 | 显示 |
|---|---|
| OEE | 综合效率 (%) — 可用性 × 性能 × 质量 |
| 可用性 (Availability) | (%) |
| 性能 (Performance) | (%) |
| 质量 (Quality) | (%) |
各卡片可点击跳转到ISO 数据及分析的相应 KPI 选项卡。
左侧 ④ 分时段 OEE 表 (12 列)
作业指令运行中每个小时的 OEE 快照。面板标题辅助说明: "分时段生产量·OEE 指标历史"。
| 列 | 宽度 | 说明 |
|---|---|---|
| 时段 | 100px | 小时区间 |
| 设备状态 | 100px | RUN/IDLE/STOP/FAULT 等 |
| 合计 | 自动 | 该时段总生产量 |
| 合格 | 80px | 合格品 |
| 不良 | 80px | 不良品 |
| 运行时间 | 120px | 分钟单位 |
| 停机时间 | 120px | 分钟单位 |
| OEE | 70px | 综合效率 (%) |
| 可用性 | 70px | (%) |
| 性能 | 70px | (%) |
| 质量 | 70px | (%) |
左侧 ⑤ ISO 数据选项卡 — OEE / RAM / EMS
OEE 独立面板下新增3 选项卡面板(tab-content-as-panels 模式)。选项卡本体各显示为一个面板。
| 选项卡 | 图标 | 显示 |
|---|---|---|
| OEE | 🎚 | OEE KPI 趋势表 (oee_kpi_stats_table) — 可用性·性能·质量分时段 |
| RAM | 🔧 | RAM 统计表 (ram_stats_table) — MTBF·MTTR·可用性·可靠性·可维护性 |
| EMS | ⚡ | EMS 统计表 (ems_stats_table) — 能耗·CO₂ 排放·峰值功率 |
每个选项卡的表上方同时显示分时段趋势图(折线/柱状)。
无数据时各选项卡显示"无数据显示"提示。指标详细含义见ISO 数据及分析 — OEE·RAM·EMS。
右侧 ① 工作单信息面板 (ds-dl)
工作单表单的所有输入项都以定义列表形式显示(标题·优先级·外部 ID·期间·设备·员工·客户·产品等)。所有域 ID 都是颜色徽章 — 点击可跳转到该域界面。
右侧 ② 班表面板
该工作单期间适用的班次信息。含有跳转到班表管理界面的按钮。
计划停机注册对话框
通过摘要面板的📅 注册计划停机按钮打开。注册午餐、定期点检等计划停机后,OEE 的**可用性(Availability)**计算会将其排除。
| 输入 | 说明 |
|---|---|
| 开始 / 结束时刻 | 停机时间段 |
| 原因代码 | 午餐/会议/定期点检/其他 |
| 备注 | 附加说明 (可选) |
ISO 分析
当前统一菜单的 ISO > ISO 分析切换到单独的分析界面(/analysis/index)。可在此深入查看基于 ISO 22400 的 KPI 分析,与ISO 数据及分析 (OEE/RAM/EMS)界面配合使用。
使用场景
| 场景 | 步骤 |
|---|---|
| 新增客户 + 首张工作单 | 添加客户 → 添加产品 → 添加工作单 (映射外部订单 ID) |
| 班次变更自动反映 | 在班表中注册班次 → 在工作单中映射班表 ID → 按班次时间自动启动 |
| 外部 ERP 同步 | 通过流程的 flow_jdbc_poll + flow_create_work_order 自动注册外部 PO 为工作单 |
| 品质问题隔离产线 | 点击工作单的 🚫 中止 → 输入 ABORTED + abort_code |
| 启动延迟追踪 | 搜索状态=DELAY → 分析延迟原因 → 通知操作员 |
| OEE 评估 | 对比已结束工作单的 OEE 列 + ISO 数据及分析的 OEE 选项卡 |
常见问题
问: 开始时间已过但没有自动转为进行中状态? 答: 自动启动需要注册班次或自动化流程。手动启动可通过工作单行的 ▶ 启动操作按钮完成。
问: 异常结束(ABORTED)和取消(CANCEL)的区别?
答: 异常结束是运行中强制终止的情况,取消是未启动但结束时间已过的情况。
问: 外部订单 ID、PO ID、LOT、BOM 都必须填写吗? 答: 都是可选的。若不与外部系统集成且是一次性作业,可以留空。
问: 单位生产时间(MS)如何确定?
答: 理想的单个产品生产周期时间(毫秒)。例: 10秒/个 → 10000。该值用于 OEE 的性能(Performance)计算。
问: 暂停的工作单 OEE 如何计算? 答: 暂停时间从运行时间中扣除,反映在可用性(Availability)中。按小时单位累积停机时间。
问: 工作单 ID 只允许英文/数字/_,但我想用中文作业名称?
答: 工作单 ID是系统标识符,仅允许英文/数字/_。中文表示请在标题字段输入,界面各处都会显示。
问: 自动完成不工作? 答: 自动完成需先选择工厂,才能搜索该工厂的资产·员工·客户·产品。请从选择工厂开始。
问: 搜索期间外的工作单看不到? 答: 这是正常行为。界面在搜索期间内最多显示 1,000 条。更早的工作单请扩展期间范围,或使用每日统计界面的日期对比。
问: 客户的外部 ID 和工作单的外部订单 ID 有什么区别? 答: 客户的外部 ID是该客户本身的外部系统标识符,工作单的外部订单 ID是该单张作业指令(订单)的外部系统标识符。