工程
製品がどのような工程をどのような順序で経ち、その工程にどのような設備が属し、設備間で何が何へ流れるかを登録する画面です(공정)。
階層ツリー(企業 → サイト → エリア → ライン → 設備)が**「何が何に属しているか」を表すのに対し、この画面は「何が何へ流れるか」**を表します。
チェーンは一方向です — そのためタブの順序が閲覧順序となります
제품 → 경로 → 단위 공정 → 설비 → 설비 간 연결
| タブ | 設定内容 | 回答する問い |
|---|---|---|
| ① 製品ルート | 製品が経由する単位工程の順序 | 「この製品はどうやって作られるか」 |
| ② 単位工程 | 工程の定義 — 名称と所属設備 | 「梱包工程とは何か、どのような設備か」 |
| ③ 接続図 | 設備間のフローと依存関係 | 「この設備が停止するとどこまで影響するか」 |
一つの製品がどのように作られるかから問うユーザーが多いため、①を最初の画面としています。設備の図面から確認したい場合は、③へ直接移動してください。
「梱包」は製品Aでは3番目、製品Bでは2番目となる場合があります。そのため、順序は工程ではなく製品ルートが保持します。 工程側に順序を記述すると、複数の製品を同時に定義することができません。
① 製品ルート

| 番号 | 場所 | 機能 |
|---|---|---|
| ① | タブ行 | 製品ルート · 単位工程 · 接続図 の3種 |
| ② | 左側「製品」 | 製品リスト。横の数字はステップ数であり、「–」はまだルートが設定されていないことを意味します |
| ③ | 中央のステップリスト | 上下矢印で順序を変更し、× でステップを削除します |
| ④ | 下部の選択行 | 工程を選択して + でステップを追加します |
| ⑤ | 右上 | 「ルート保存」 |
③ ④ で行った操作は画面上のドラフトです。保存を押すまでサーバーには何も送信されません — 変更した瞬間に保存される他の画面とは異なります。
保存されていない状態では、リスト下部に**「まだ保存されていません」**という案内が表示されます。この行が表示されている間は、まだ送信されていません。
保存は単一のステップではなく、リスト全体を一度に送信します。そのため、ステップ番号を付与する処理はサーバー側のみで行われます。
④ の選択行が「追加できる工程がありません」とロックされる場合があります。これは、そのサイトの工程を当該製品がすでにすべて経由しているときです — 同一の工程を一つのルートに二度含めることはできません(境界 参照)。
② 単位工程

| 番号 | 場所 | 機能 |
|---|---|---|
| ① | タブ行 | 「単位工程」 |
| ② | 左側「工程」 | 工程リスト。+ で作成し、鉛筆アイコンで名称・説明を編集し、ゴミ箱アイコンで削除します。横の数字は所属設備数です |
| ③ | 「所属設備」 | この工程に属する設備。選択行から選んで + で追加し、チップの × で削除します |
| ④ | 「この工程を使用する製品」 | 読み取り専用 — 製品ルートから導出された値です |
「この工程を使用する製品」はルートから導出されます。ここでも編集可能にすると、製品の順序が二箇所に記述されることになり、両者が不整合を起こしてもエラー(赤表示)になりません。 そのため、経路を一本化しています。
所属設備は ③ 接続図のインスペクターからも追加・削除できます。同じ表を編集する二つの入口であり、どちらで編集しても結果は同じです。
③ 接続図

| 番号 | 場所 | 機能 |
|---|---|---|
| ① | タブ行 | 「接続図」 |
| ② | 左側「工程フィルタ」 | 表示範囲のみを絞り込みます — 選択した工程の設備のみが鮮明になります。作成・編集・削除は ② 単位工程タブで行います |
| ③ | キャンバス左上ツールバー | 縮小 · 拡大 · 元のサイズ · 画面に合わせる · 選択ノード削除 |
| ④ | 左下ミニマップ | クリックするとその位置へ移動します |
| ⑤ | 下部凡例 | 供給(青) · 依存(橙) |
| ⑥ | 右側「選択した設備」 | 所属工程 · 生産製品(読み取り専用) · 接続 |
| ⑦ | 右側「下流影響」 | この設備が停止した際、後方で何が影響を受けるか |
ページ右上の**「配置保存」はこのタブにのみ表示されます — これはノードの座標**を保存するボタンです。関係や所属は編集した瞬間に反映されるため、このボタンとは無関係です。
関係性は二種類です
| 関係 | 意味 | 線の色 |
|---|---|---|
| FEEDS (供給) | 上流が下流へ流れる | 青 |
| DEPENDS_ON (依存) | 電力 · エア · 冷却などのユーティリティに依存する | 橙 |
どちらも設備から設備へのみ設定します。工程はキャンバスのノードではなく設備に付与されるラベルであり、製品はルートで管理されます。
線の描画
各ノードの左側白円が「受信」ポートであり、右側円が「送信」ポートです。
| どこから引くか | 生成される関係 |
|---|---|
| 右側 青円 | FEEDS (供給) |
| 右側 橙円 | DEPENDS_ON (依存) |
🔴 ドラッグを開始したポートが関係の種類を決定します。 線を配置した後に種類を選択するステップはありません — 青円から開始すれば「供給」、橙円から開始すれば「依存」となります。
相手ノードの「左側白円」に配置して初めて接続されます。ノードの本体に配置した場合は接続されません。
ドラッグの代わりに ⑥ インスペクターの「接続」節から選択して追加することも可能です。対象が画面外にある場合や、キーボードのみを使用する場合に便利です。
このルールは画面とデータベースの両方に同様に組み込まれています。画面で事前に制限するのは利便性のためであり、制限を潜り抜けて送信してもサーバー側で拒否されます。
キャンバスの移動方法
キャンバスは描画された内容に合わせて拡張されます。 そのため、縦横にスクロールバーが表示されます。
| 行いたいこと | 方法 |
|---|---|
| 画面を動かす | 空白の背景をドラッグ(パンニング) |
| ノードを動かす | ノード本体をドラッグ |
| 拡大 · 縮小 · 元に戻す · 画面合わせ | ③ ツールバー |
| 遠方へ一気に移動 | ④ ミニマップ |
空白の背景を引けば画面が、ノードを引けばノードが動きます — この二つを混同すると「ノードが掴めない」と感じる原因となります。
キャンバスをどれだけスクロールしても、ツールバーとミニマップは追従しません。 ミニマップを左下に配置しているのはフローエディタと同じ位置にするためであり、二つの画面を行き来する際にミニマップを二箇所で探さなくて済むようにしています。
ルートは順序のあるリスト一つです
ルートに意図的に含めていない機能が二つあります。これらはデータベースの制約によって制限されています。
| 記述できないこと | 制限される制約 |
|---|---|
| 一つのステップ内での並列 — 一ステップに二つの工程 | 基本キー (product_id, step_no) — 一ステップに工程一つ |
| 戻るフロー(再投入) — 同一工程を二度経由 | ユニークキー (product_id, segment_id) — 一ルートに一度のみ |
「キャッピング機が2台ある場合はどう描くか」 — キャッピング工程に二つの設備をすべて含め、接続図で上流設備が二台両方に FEEDS を設定してください。分岐は設備層で表現され、ルートはその上を順序通りに通過するだけとなります。
分岐・再投入を複雑に定義するには「両方か、どちらか一つか」といった情報を付随させる必要があり、それは作業指示 · 実績 · LOT · BOM とともに上位MESの領域です。必要になった場合は幹線表として拡張し、現在入力したデータはそのまま移行します — 実装不可能なのではなく、意図的に含めなかった機能です。
描画後の活用先
- 下流影響照会 — 「この設備が停止すればどこまで影響するか」を
FEEDSに沿って回答します(⑦)。 - AI アシスタント — MCP の関係グラフ探索が同一の関係を読み取ります → MCP サーバー
- API — ルートと関係をプログラムで読み書きできます。
| 行いたいこと | エンドポイント |
|---|---|
| 製品のルートを読み取る | GET /api/v5/product/{product_id}/route |
| 製品のルートをまとめて変更する | PUT /api/v5/product/{product_id}/route — ボディ {"segment_ids":[…]} |
| 設備が製造する製品(導出値)を読み取る | GET /api/v5/asset/{asset_id}/product |
空の segment_ids はルートを削除する正常な編集です。「製品がない」(404) と 「ルートがない」(200, 空リスト) は異なる回答として維持されます。
関係を登録していないサイトで下流影響を問うと、空の結果が返ります。それは「影響がない」のではなく、**「描画されたものがない」**ことを意味します。二つの状態を区別できるよう、APIレスポンスに個別の表示がなされます。