コンテンツにスキップ

計量

計量(単発計量・資源計量 run)

計量ボードは共栄の事務(admin / normal)が使うタッチパネル運用の画面です。ナビ「計量」(/collector/weighings・アイコン=天秤)から入ります。1画面で「① 単発計量(トラック1台=1計量)」と「② 資源計量 run(1コース分をまとめて計量→回収先×品目に按分)」の2系統を扱い、加えて「③ CSV取込」で計量機出力を一括登録できます。ドライバー(driver)はこの事務用計量ボードでは登録できませんが、資源計量 run の回収先ごとの目方(見積重量)は Web PWA のドライバー画面(「本日」→「目方入力」CTA →/driver/run-weighing/:weighingId08-driver-pwa.md の「本日の目方入力」節)で自分で入力できます。「実績」(/driver/weighings)は帰社計量後の正味の閲覧専用です。

  • 対象ロール: admin / normal(登録・按分・完了・取消・CSV取込のすべて)。driver は Web では閲覧(実績)のみ。
  • 前提:
  • 取引先マスタ(ナビ「取引先」/collector/partners)に有効な取引先が1件以上あること(単発計量は取引先必須)。
  • 品目マスタ(item_types)に有効な品目があること(按分で品目別重量を入力するため。無効化された品目は按分グリッドに出ない)。
  • 任意: 回収先(取引先配下の collection_sites)・車両マスタ(ナビ「車両」)・回収ドライバー候補(運転担当メンバー)。
  • 計量器連携を使う場合: トラックスケール指示計を Web Serial 接続、または計量ファイル方式(Chrome / Edge デスクトップのみ)。手入力(大型テンキー)はどのモードでも常時使用可。

画面上部に3つの大型ボタンがあります: 「入庫(計量開始)」(+アイコン=単発計量の開始)/「新規運行計量」(トラックアイコン=資源計量 run の作成)/「CSV取込」(アップロードアイコン)。ボード本体は上から「収集中の運行」(run が有るときのみ表示)→「荷下ろし中」(出庫計量待ち)→「按分待ち」(品目入力待ち)→「本日の完了」の順にカードで並びます。

計量ボード画面のワイヤーフレーム

図: 計量ボード。①入庫(単発計量) ②新規運行計量(資源 run) ③各カードの操作ボタンで次段階へ ④CSV取込(凡例は図内)。ボードは「収集中の運行→荷下ろし中→按分待ち→本日の完了」の順に並ぶ。

サブ業務A: 単発計量(single・入庫gross → 出庫tare → 品目按分 → 完了)

  • 対象ロール: admin / normal
  • 前提: 有効な取引先が1件以上。品目マスタ。
  • 操作手順:
  • ナビ「計量」(/collector/weighings)で「入庫(計量開始)」を押す → フルスクリーンの「入庫(計量開始)」パネルが開く(サブタイトル「積んだトラックの総重量を記録します」)。
  • 左側で「取引先」(必須マーク付き)をタップ選択。選ぶと下の「回収先 (任意)」にその取引先配下の候補が出る(「指定なし」または回収先チップ)。「車両 (任意)」は車両チップを選ぶか「手入力」で車番を直接入力(例: 品川 100 あ 1234)。「回収ドライバー (任意)」は「自社回収」または運転担当メンバーを選ぶ(帰属=外部委託精算やドライバー実績に効く。未選択=自社回収)。
  • 右側「総重量 (積載時)」(必須)に、計量器から取り込むか手入力で総重量を入れる。計量器を使う場合は「計量器 (シリアル)」/「計量ファイル」トグルを選び、シリアル時は指示計を選択→「計量器に接続」→「計測開始」で安定値が自動入力される。手入力は下部の大型テンキー。
  • フッターの「入庫を記録」を押す(取引先未選択や総重量0以下では非活性)。成功でトースト「入庫を記録しました」。カードが「荷下ろし中」セクションに status=open で現れる。
  • 荷降ろし後、「荷下ろし中」の該当カードの「出庫計量」を押す → 「出庫計量」パネル。「風袋重量 (荷下ろし後)」(必須)を計量器/テンキーで入力。net(正味=総−風袋)が自動計算・表示される。風袋が総重量超なら「風袋重量は総重量 (…) 以下にしてください」で確定不可。「出庫を記録」を押す(トースト「出庫計量を記録しました」)。カードが「按分待ち」(status=weighed)へ移る。
  • 「按分待ち」カードの「品目を入力」を押す → 「品目を入力」パネル。品目チップをタップ→右のテンキーで各品目の重量を入力。上部サマリに「品目合計 / 正味重量 / 残り(または超過)」と許容誤差(±)が出る。許容内なら端数は自動で品目に寄せて調整(どの品目に何kg寄るか明示)。
  • フッター「確定して完了」を押す(1品目以上入力かつ許容誤差内で活性)。トースト「計量を完了しました」。カードは「本日の完了」へ。
  • 確認/完了条件: status が open → weighed → completed と遷移し、「本日の完了」一覧に net kg 付きで並べば完了。
  • つまずき/注意:
  • 取引先が無いと入庫パネルで「有効な取引先がありません。先に『取引先』で登録してください」と出て登録できない。
  • 按分で「無効化された品目」に既存重量がある再按分では、確定時にその重量が有効品目へ再配分される旨の確認ダイアログ(「無効化された品目の重量を再配分します」)が出る。
  • 各カードの「取消」で計量を取り消せる(法定保存のためソフトデリート。確認ダイアログあり)。
  • 「本日の完了」の行をタップすると内訳ダイアログが開き、「内訳を修正」から再按分できる。

サブ業務B: 資源計量 run(1コースをまとめて計量・目方入力→帰社スケール→按分)

  • 対象ロール: admin / normal(run の作成・帰社計量・按分・完了)。目方入力(回収先ごと)はドライバーが Web PWA で行う(08-driver-pwa.md の「本日の目方入力」節)。
  • 前提: 回収ドライバー候補(運転担当メンバー)。回収先・品目マスタ。run はドライバーの「目方入力」CTA が本日分を get-or-create するため、同一ドライバー×同日で「収集中」の run は1件に制限される。
  • 操作手順:
  • 「計量」画面で「新規運行計量」を押す → 「新規運行計量」パネル(サブタイトル「1コース分の資源をまとめて計量します (回収先ごとの目方は後で入力)」)。
  • 回収ドライバー (任意)」で「自社回収」か担当メンバーを選ぶ。選んだドライバーに本日すでに収集中の run があると「既に収集中の運行があります」と表示され作成ボタンが非活性(複数コース同時収集は未対応)。
  • フッター「運行計量を作成」を押す。トースト「運行計量を作成しました」。カードが「収集中の運行」セクション(status=collecting)に現れる。
  • (現場)ドライバーが回収先ごとの目方(estimated_kg)と「残り」品目を入力する。Web PWA のドライバー画面(「本日」→「目方入力」CTA →/driver/run-weighing/:weighingId08-driver-pwa.md の「本日の目方入力」節)で行える。run はドライバーの CTA が本日分を自動 get-or-create するため、事務が run を先に作らなくてもよい(事務が「新規運行計量」で作ってもよい)。ドライバーの目方入力に出る回収先は「本日ルートで回収完了かつ会社で未計量」の回収先だけに絞られる(計量済みの回収先は per-site で自動的に消え、二次搬出 stop は対象外。詳細は 08-driver-pwa.md の「本日の目方入力」節)。
  • 帰社後、「収集中の運行」カードの「帰社計量」を押す → 「運行の帰社計量」パネル。まず「総重量 (積載時)」を計量器/テンキーで入れ「総重量を記録」(status=open へ)。続いて「風袋重量 (荷下ろし後)」を入れ net を確認し「出庫を記録」(status=weighed へ)。計量器連携は単発と同じ(シリアル/ファイル/手入力)。
  • 按分待ち」に移った run カードの「品目を入力」を押す → 「運行の品目按分」パネル(ApportionPanelRun)。「回収先を追加」で回収先を足し、回収先×品目のセルをタップ→テンキーで目方を入力。差分吸収させたい品目は「残り」トグル(回収先ごと1つ、かつ運行内で1つ)。上部に「正味重量 / 按分後合計」と警告が出る。
  • 確定して完了」を押す(警告=エラーが無く、net>0 なら正の按分品目が1つ以上必要)。トースト「運行計量を完了しました」。「本日の完了」へ移る。
  • 確認/完了条件: status が collecting → open → weighed → completed と進み、「本日の完了」に net 付きで並ぶ。回収先別の按分集計がパネル下部に表示される。
  • つまずき/注意:
  • 「残り」品目を1回収先に複数、または運行内に複数立てると按分がエラー(severity=error)になり確定不可(回収先内1つ+運行内1つの二層)。
  • 按分パネルは既存の目方内訳を読み込むまで編集不可(「既存の品目内訳を読み込んでいます…」)。読み込み失敗時は「既存の品目内訳を読み込めませんでした。」+「再読み込み」が出る(この状態で確定すると内訳消失の恐れがあるため確定不可)。
  • net=0(総重量=風袋)の zero-net run は空/ゼロ按分でも確定可(サーバ契約に一致)。
  • run カードの「取消」でソフトデリート可。

サブ業務C: 計量器連携(Web Serial / 計量ファイル)

  • 対象ロール: admin / normal(入庫・出庫・帰社計量の各パネル内で使用)
  • 前提: シリアル接続のトラックスケール指示計、または TruckScale が出力する計量ファイル。ブラウザは file 方式が Chrome / Edge デスクトップのみ(他ブラウザ・モバイル・非セキュア文脈では file 無効)。
  • 操作手順:
  • 総重量/風袋の入力欄の上にある「計量器 (シリアル)」/「計量ファイル」トグルでソースを選ぶ(端末ローカルに記憶)。file 非対応端末では file ボタンが非活性で「計量ファイル方式は Chrome / Edge (デスクトップ) でのみ利用できます。手入力は常に使えます。」と表示。
  • シリアル時は指示計を選択(baud と行パーサが決まる)。
  • 計量器に接続」(file 時は「計量ファイルを選択」)→ 接続後にライブ重量と安定インジケータ(安定/変動中/過荷重/ホールド)が出る。
  • 計測開始」を押すと「安定したら自動で入力されます」。安定値が自動でその欄に入り、出所は device 記録になる。手入力で上書きも可(上書きすると出所 manual)。
  • つまずき/注意:
  • 接続はしたがデータが来ない場合、シリアルは「別のポートまたはシリアル設定(baud/parity 等)を確認…」、file は「ファイルが更新されていません。TruckScale の稼働と選択したファイルを確認…」の警告。「別のポートを選択/別のファイルを選択**」で選び直せる。
  • 過荷重時は「過荷重です。荷を調整してください(自動充填されません)。」で自動入力されない。
  • どのモードでも手入力(大型テンキー)は常に有効なので、連携不調でも計量は継続できる。

サブ業務D: CSV取込(計量機出力の一括登録)

  • 対象ロール: admin / normal
  • 前提: トラックスケール(計量機)が出力する CSV。取引先・車両マスタ(行の解決に使用)。
  • 操作手順:
  • 「計量」画面で「CSV取込」を押す → 取込画面(/collector/weighings/import)。
  • ① CSV ファイルを選択(文字コードは Shift_JIS / UTF-8 を判定・選択可)。
  • ② 列の対応づけ(自動検出+手動上書き、テナント単位で記憶)。必須は「計量日時」「総重量 (gross)」。任意で車番・風袋 (tare)・取引先・集計場所・伝票番号。
  • ③ 既定の取引先を指定(行に取引先が無い/一致しないときの補完)。
  • ④ プレビュー(先頭200行+エラー行)で検証結果・車両/取引先の解決・重複(再取込スキップ)を行ごとに確認。
  • ⑤ 「取り込む」を押す → weighings(source='csv'・external_ref 付き)が作成される。成功でトースト、「計量ボードへ」で戻れる。
  • 確認/完了条件: 「CSV を取り込みました」トースト+取込件数。external_ref による冪等性で再取込は重複スキップ。
  • つまずき/注意: エラー行(blocking issue)があると取込を止める。列マッピングが必須列を満たさないと実行不可。

サブ業務E: 顧客持ち込み(walk-in)計量(伝票入力→確定→計量証明書発行→後付価格)

一般客・持ち込み業者がヤードに資源物を直接持ち込む「顧客持ち込み計量」です。ナビ「持ち込み計量」(左サイドナビ「日次業務」グループ・/collector/walk-in-weighing・アイコン=倉庫)から入ります。伝票(セッション)×品目行の重量を入力→確定(計量証明書番号を採番)→計量証明書 PDF を発行し、単価は確定時でも確定後でも付与できます(重量先行発行)。発行済み伝票の一覧・検索・再発行は「持ち込み一覧」(/collector/walk-in-weighing/list・アイコン=履歴)です。この2画面は共栄の事務(admin / normal)専用で、ドライバー(driver)はルートガードで到達できず、金額も見えません(walk-in は driver 帰属を持たない)。

  • 対象ロール: admin / normal(入力・確定・発行・後付価格・一覧・再発行・取消のすべて)。driver は不可。
  • 前提:
  • 取引先マスタ(ナビ「取引先」)に持ち込み客がいれば選択できる。いなくても画面内の「その場登録」で軽量登録できる。
  • 品目マスタ(item_types)に有効な品目があること(品目行で品目を選ぶため)。
  • 任意: 計量器連携(サブ業務C と同じ Web Serial / 計量ファイル。フォーカスした重量欄へ流し込む)。手入力は常時可。

E-1. 伝票入力〜確定〜証明書発行(/collector/walk-in-weighing

  • 操作手順:
  • ナビ「持ち込み計量」を開く。上段「受付情報」で 顧客(必須)を選ぶ。名簿に無い一見客は「その場登録」で名称(必須)・コード(任意)・連絡先(任意)を入れて「登録して選択」。選んだ顧客に有効な単価契約があると「単価契約あり」バッジが出て、品目選択時に契約単価が未入力欄へプリフィルされる(既入力は上書きしない)。
  • 受付日(必須・既定は本日)、計量方式(必須)、支払方法(任意: 現金/振込/カード/請求)、精算区分(任意: その場精算/月次精算)を選ぶ。
  • 計量方式は3つ:
    • 逐次差分(sequential): 各品目行に「総量」「風袋」を入れ、行正味 = 総量 − 風袋。
    • 単発(single): 伝票全体の「総量」「風袋」を入れ、その正味(総量−風袋)を各品目の「計量値」比で按分する(Σ が正味に厳密一致)。
    • 個別(individual): 各品目行に「計量値」を直接入れる(行正味 = 計量値)。
  • 各品目行で 品目(必須)を選び、方式に応じた重量を入力。加えて控除「カゴ引 (kg)」「ダスト・水引 (kg)」、取引区分(処分=お客様が支払 / 買取=当社が支払)、単価 (円/kg・任意・後付可) を入れる。行下部に「正味 / 課金重量 / 金額」がプレビュー表示される(課金重量 = 行正味 − カゴ引 − ダスト水引)。「品目を追加」で行、「セッション(伝票)を追加」で伝票を増やせる。
  • 計量器を使う場合は「スケール連携」で対象の重量欄(総量/風袋/計量値)をフォーカス→スケール値を確定すると、その欄へ流し込まれる(サブ業務C と同じシリアル/ファイル/手入力)。
  • 下段「合計」に「伝票合計重量 / 買取合計 / 処分合計 / 差引合計」が出る。金額の符号規約は「正=お客様がお支払い(処分料 > 買取)/ 負=お客様へお支払い(買取 > 処分料)」(= Σ(処分 amount) − Σ(買取 amount))。
  • 計量を確定して証明書を発行」を押す。成功でトースト「計量を確定しました(証明書 YYYYMMDD-NNN)」が出て、計量証明書 PDF が自動でダウンロードされる(PDF 生成に失敗しても確定は巻き戻らない・後で再発行できる)。
  • 確認/完了条件: 証明書番号が採番され、確定後パネル(後付価格・再発行)に切り替われば完了。
  • つまずき/注意:
  • 不正入力があると確定ボタンが非活性になる(「不正な入力があります(総量 < 風袋、または控除が正味を超過)。確定できません。」)。逐次差分の「総量 < 風袋」や、控除がその行の正味を超える行が対象。プレビューが黙って 0 に丸めず理由を表示するので、サーバ確定が失敗する前に画面で気づける。
  • 単価は空でも確定できる(重量だけ先に確定・証明書発行し、価格は後から付与する運用が可能)。

E-2. 後付価格(確定直後パネル)

  • 確定に成功すると同じ画面が「確定しました(証明書 YYYYMMDD-NNN)」パネルに切り替わる。各品目に単価 (円/kg) を入力しても、その場では入力欄が変わるだけで表示上の金額・「差引合計」はまだ変わらない。「価格を確定」を押した時点でサーバの価格 RPC(price_walk_in_weighing)が走り、返ってきた金額・差引合計が各品目行と合計欄に反映される(金額 = 課金重量 × 単価・当社四捨五入と一致・total = Σ(処分) − Σ(買取) を再算出)。負の単価は保存不可(ボタン非活性)。
  • 証明書を再発行」でこの確定伝票の PDF を再生成できる(証明書番号は変わらない・採番は確定時のみ)。再発行は必ず DB の最新値を取り直して作るため、他の事務が価格を更新した直後でも古い金額の証明書は出ない。
  • 次の計量へ」で入力フォームへ戻り、続けて別の持ち込みを処理できる。

E-3. 一覧・検索・再発行(/collector/walk-in-weighing/list

  • ナビ「持ち込み一覧」から入る。「検索」で 受付日(開始/終了)/ 顧客 / 証明書番号 で絞り込める(受付日・顧客は DB 側、証明書番号は画面内テキスト検索の部分一致)。一覧列は「受付日 / 証明書番号 / 顧客 / 差引合計」(差引合計はお客様支払/お客様受取の別を併記)。
  • 行をタップすると「計量証明書」ダイアログが開き、伝票(セッション)ごとの品目・正味・課金重量・処分/買取・金額・差引合計を読み取り専用で確認できる。「証明書を再発行」で同一証明書番号の PDF を再生成(最新値を fresh に取得して発行)。
  • 取消」はソフトデリート(法定保存のため物理削除しない)。確認ダイアログの上で実行すると一覧から非表示になる。取り消した証明書番号は再利用しない(採番は確定時のみで欠番のまま)。取消は監査列を守るため専用 RPC 経由でのみ行われる(画面から直接 deleted_at を書けない)。

  • 計量証明書 PDF の様式(自動発行・再発行 共通): A4・ヘッダに会社名/工場名/住所/TEL/FAX(未マスタ項目は描画スキップ)、受付情報(証明書番号 / 発行日 / 仕入先コード+名称 / 取引区分「持込」/ 支払・精算区分)、明細列は「時刻・伝票番号・車番・総重量・空車重量・正味重量・カゴ引・ダスト水引・商品名・単価・金額」、フッタに「◆ 伝票合計 ◆ = Σ(正味重量)」と「差引合計 … 円(お客様がお支払い / お客様へお支払い)」。

  • 関連画面: 取引先(/collector/partners・持ち込み客の登録先/単価契約の前提)/車両(/collector/fleet/vehicles)/メンバー(/collector/members・回収ドライバー帰属候補)/ドライバー実績(/driver/weighings・閲覧)/委託精算(/collector/external-partner-settlements・回収ドライバー帰属が精算に反映)。