マニフェスト / 案件管理¶
マニフェスト / 案件管理¶
collector(共栄)側の案件(jobs)受託・マニフェスト登録・処理段階(収集運搬/処分)記録の運用手順。案件そのものの「登録・定期対応」は 排出事業者(discharger)側の機能であり collector 側には無い(collector は届いた依頼を受託する側)。「マニフェスト PDF 発行」機能は 実装なし(下記「つまずき/注意」参照)。
図: マニフェスト登録画面。①画像OCR ②管理票番号・交付日などの基本情報 ③廃棄物種別・数量 ④登録ボタン(凡例は図内)。
サブ業務A: 受託案件の受託 / 辞退(排出事業者からの依頼への応答)¶
- 対象ロール: admin / normal(collector staff。書込は両ロール可)
- 前提: 排出事業者が自社宛に案件依頼を出し
job_assignmentsがproposed状態で存在すること(依頼が無ければ一覧は空)。マスタ設定は不要。 - 操作手順:
- ⚠️ ナビからは到達不可(後述)。実体は「受託案件」画面(
/collector/requests)。到達できた場合、排出事業者からの依頼が DataTable で並ぶ(列: 案件 / 回収先 / 数量 / 希望日 / 提示価格 / ステータス「依頼中」バッジ)。 - 受託する行の右端で 「受託する」 ボタンを押す(成功トースト「案件を受託しました」、assignment が
accepted_by_dischargerへ)。 - 断る場合は同じ行の 「辞退」 ボタン → 確認ダイアログ「この案件を辞退します」で 「辞退する」(
declined_by_collectorへ・成功トースト「案件を辞退しました」)。 - 概要画面(「概要」
/collector)でも「受託待ち」上位5件を閲覧できる(受託操作ボタンは無い・閲覧のみ)。KPI「受託待ち / 今日の配車 / 進行中 / 本日完了」も表示。 - 確認/完了条件: 受託→行が受託待ち一覧から消え、以後「配車」「マニフェスト」の段階登録対象になる。辞退→再度受け直しはできない(確認ダイアログに明記)。
- つまずき/注意:
- ⚠️ 「受託案件」は現在ナビ上「準備中(soon)」扱い。nav-config で
status: 'soon'のため SideNav・モバイル下部タブ・コマンドパレットのいずれからもリンクが出ない/押せない(aria-disabled、ラベルに「準備中」バッジ)。ルート実体・受託ロジックは温存されているが、通常操作では画面に入れない。概要画面の「受託待ち」にも「すべて見る」導線は意図的に非表示。運用上は受託応答フローは未開放と理解すること。 - 「スケジュール」(
/collector/schedule) と「月次集計」(/collector/monthly) も同様に準備中(soon)でナビ非表示。 - driver ロールにはこの画面のナビ項目自体が無い。
- 関連画面: 概要(
/collector)、配車(/collector/dispatch)、マニフェスト(/collector/manifests)。
サブ業務B: 自社マニフェストの新規登録(OCR 補助あり)¶
- 対象ロール: admin / normal(collector staff のみ。driver は登録導線・書込不可)
- 前提: なし(マスタ不要)。tenant_id は自社に固定される(RLS mig88 の carve-out で staff の INSERT 許可)。案件詳細からのディープリンク(
?jobId=/?wasteType=等)があれば案件へ紐付けて登録できる。 - 操作手順:
- 「マニフェスト」画面(SideNav「マニフェスト」
/collector/manifests)を開く。右上の 「マニフェスト登録」(+アイコン)を押す(空状態からは 「マニフェストを登録」 ボタンでも可)。 - 登録フォーム(
/collector/manifests/new)で、任意で 「画像から取込」 ボタン(カメラ/ファイル選択)で管理票を撮影/選択すると OCR が各欄を自動入力(「テキストを読み取りました。内容をご確認ください」トースト)。※画像はテキスト読取専用でサーバー保存されない旨が明記される。 - 「基本情報」に 管理票番号(必須・例 M-2026-0001)、交付日(必須・YYYY-MM-DD)、排出事業者名(必須) を入力。
- 「廃棄物内訳」で 廃棄物種別(必須・select)、任意で 数量・単位(数量が空だと単位は非活性)。
- 「関係者(任意)」で 収集運搬業者・処分業者 を入力(任意)。
- 「マニフェストを登録」 を押す(登録中は「登録中...」表示)。
- 確認/完了条件: 成功トースト「マニフェストを登録しました」→ 一覧(
/collector/manifests)へ戻る。一覧に管理票番号・廃棄物種別・交付日・段階バッジ「未登録」で行が現れる。 - つまずき/注意:
- OCR 読取候補が種別/単位の候補一覧に一致しない場合、amber の注記が出て 手動選択が必須(誤った既定値での送信を防ぐためフィールドが空にクリアされる)。
- 同一 (tenant, 管理票番号) の重複は「同じ管理票番号が既に登録されています。」で失敗。
- OCR は課金を伴う外部処理(
/manifests/ocr)。失敗時は「読み取れませんでした。手動で入力してください」等が出るが、手入力で登録は継続できる。 - driver には「マニフェスト登録」ボタン・登録画面への到達がない(staff ゲート
isCollectorStaff)。 - 関連画面: マニフェスト一覧(
/collector/manifests)。
一括 OCR 取込とレビューキュー¶
- 対象ロール: admin / normal(collector staff。driver は取込・確定不可)
- 前提: 「マニフェスト」ハブを開き、上部の「一括取込」または「レビュー」タブへ移動できること。
- 操作手順:
- 「一括取込」(
/collector/manifests/import) を開き、「画像・PDFを選択」で複数ファイルを選ぶ。1 バッチは最大 50 枚で、PDF はページごとに画像化して処理する。 - 選択した画像を一括 OCR にかける。画面に
OCR 処理中の進捗が表示され、完了後はOCR 完了 N/N(上限到達時は一部完了)と失敗件数が表示される。OCR 結果と原本画像は保存付きのレビューキューへ入る。 - 「レビューキューへ」または上部の「レビュー」(
/collector/manifests/review) を開く。左の要レビュー/確認待ち一覧から対象を選ぶ。 - 原本画像を確認しながら、管理票番号・排出事業者名・廃棄物種別・数量・単位・収集運搬業者名・処分業者名・交付日を編集する。低信頼項目は
低信頼バッジで示される。 - 不要な項目は「破棄」、内容を確認した項目は「確定」。既存の管理票番号がある場合は重複警告を確認し、「既存を上書きして確定」で確定できる。
- 確認/完了条件: 「確定」でレビュー項目がマニフェストとして登録され、「破棄」でレビューキューから除外される。OCR の一部失敗や上限到達時も、処理済みの項目はレビューキューで確認できる。
- つまずき/注意:
- OCR の候補は自動登録されない。低信頼項目や候補外の廃棄物種別・単位は、レビューで手動選択してから確定する。
- 一括取込の失敗・上限到達は画面の件数表示で確認し、残りの画像は必要に応じて別バッチで再実行する。
- 関連画面: マニフェスト一覧(
/collector/manifests)、単票登録(/collector/manifests/new)
交付区分・JWNET 状態・報告年度(データ保持)¶
delivery_methodはpaper/electronic、jwnet_stateはnot_registered/registered/cancelledを保持する。既存行は NULL の項目だけpaper/not_registeredで補完され、既存の値は上書きされない。reporting_fiscal_yearは交付日から自動導出される。4 月〜12 月はその暦年、1 月〜3 月は前年として保持する。交付日を含む更新でも再導出される。- これは将来の報告集計に使う データ項目の器であり、現行の登録・レビュー画面には交付区分や JWNET 状態を入力・変更する UI はない。JWNET 連携も未実装である。
サブ業務C: 処理段階(収集運搬 / 処分)の登録¶
- 対象ロール: admin / normal(書込は staff のみ。driver は一覧の閲覧のみで段階登録ボタンは出ない)
- 前提: 対象マニフェストが「自社に書ける」状態であること = ①自社が登録したマニフェスト(自社所有)、または ②排出事業者発行のマニフェストで、その
jobが自社に 受託済み(accepted/completed) で割り当たっていること(mig89 のガードトリガ/RLS が通る条件と一致)。この条件を満たさない行にはボタンが出ない。 - 操作手順:
- 「マニフェスト」一覧(
/collector/manifests)を開く。各行の右端「段階」セルに、未登録の段階について 「収集運搬 登録」 / 「処分 登録」 ボタンが並ぶ(両段階を担うなら2つ並ぶ)。 - ボタンを押すと確認ダイアログ(例「収集運搬を登録しますか?」本文に管理票番号と「登録日時が記録され、この操作は元に戻せません」)→ 「収集運搬を登録」/「処分を登録」 で確定。
- 成功トースト「収集運搬を登録しました」/「処分を登録しました」。
- 確認/完了条件: 段階セルが緑バッジ「収集運搬済」/「処分済」+登録日時(サーバ権威時刻 now() でスタンプ)に変わる。行左の「段階」列バッジも「未登録」→「収集運搬済」→(処分完了で)「処分済」へ遷移。登録日時はクライアント送信ではなくサーバがスタンプするため端末時計ズレの影響を受けない。
- つまずき/注意:
- 受託していない案件のマニフェストには段階登録ボタンが出ない(押しても RLS/トリガで失敗するボタンを意図的に出さない設計)。受託前に段階を記録したい場合はまず受託(サブ業務A)が前提。ただし A の受託画面がナビ準備中のため、実運用では受託が別経路で済んでいる前提になる。
- 段階登録は 取り消し不可(ダイアログに明記)。
- 収集運搬・処分は順序を強制しない(独立して登録可)。処分済が付けば一覧バッジは処分済を優先表示。
- driver は一覧を開けても段階セルに操作要素が出ない(
isCollectorStaffゲート)。そもそも driver のナビにマニフェスト項目が無いため通常は到達しない。 - 関連画面: 受託案件(
/collector/requests)、配車(/collector/dispatch)。
未実装 / 準備中の明示¶
- ⚠️ マニフェスト PDF 発行 / 帳票出力は未実装。web 側に PDF 生成・印刷・帳票出力の導線は存在しない(
pdf-to-imagesは OCR 取込のための PDF→画像変換のみで、発行機能ではない)。マニフェスト管理は「登録+処理段階の記録」までが現状の範囲。 - ⚠️ 案件(jobs)の新規登録・定期(recurring)回収の設定は collector 側に無い。案件生成・定期対応は排出事業者(discharger)側の機能(
discharger-recurring等)で、collector は届いた依頼を受託する側。 - ⚠️ 受託案件(
/collector/requests)・スケジュール(/collector/schedule)・月次集計(/collector/monthly) はナビ準備中(soon)。ルートは生きているがナビ/コマンドパレットから到達できない。