📦 T3_2_入荷スペース.vb

入荷スペース計算モジュール - 詳細技術仕様書
Version 1.0.0 | 962行

物流施設の入荷エリア必要面積を計算する高度な計算モジュール

1. 概要

🎯 モジュールの目的

T3_2_入荷スペース.vbは、物流施設における入荷エリアの必要スペースを計算するための高度なモジュールです。入荷物量、トラック車種、積載方式、荷降ろし時間などの様々なパラメータを考慮し、科学的根拠に基づいた面積計算を実施します。

1.1 主な特徴

📊 多様なデータ入力

Excelファイルから入荷物量データを読み込み、ケース単位・バラ単位の出荷分入荷量を管理

🚛 トラック車種対応

複数のトラック車種と積載方式(パレット積載/ケース直積み)に対応

⏱️ 時間計算

荷降ろし作業時間、ピーク時物量比を考慮した精密な計算

📐 面積最適化

待機面積、空パレット仮置面積を含む総合的なスペース計算

1.2 ファイル情報

項目 内容
ファイル名 T3_2_入荷スペース.vb
行数 962行
クラス名 T3_2入荷From
継承 System.Windows.Forms.Form
使用ライブラリ System.IO, OfficeOpenXml (EPPlus)

1.3 関連ファイル

  • 在庫入荷量.xlsx: 入荷物量データ(ケース単位・バラ単位)
  • 入荷スペース計算.xlsx: トラック仕様、荷降ろし時間設定データ
  • Tera計算Data フォルダ: データベースとExcelファイルの保存場所

2. アーキテクチャと設計

2.1 クラス構造

📦 T3_2入荷From クラス

基底クラス: System.Windows.Forms.Form

アクセス修飾子: Public

主な責務: 入荷スペース計算のUI提供と計算ロジック実装

2.2 リージョン構成

リージョン名 行範囲 主な機能
入荷量Dgv表示 23-163 入荷物量データの読み込みと表示
入荷スペース計算 165-578 スペース計算のメインロジック
PL_ケースの容積計算 580-637 パレット・ケース容積の計算
荷降ろし時間修正変更 639-858 荷降ろし時間設定の読込と更新
荷降ろし時間修正変更を保存 860-940 ユーザー設定の保存処理

2.3 データフロー

処理の流れ

1. Excelデータ読み込み
   ├─ 在庫入荷量.xlsx (ケース単位/バラ単位出荷データ)
   └─ 入荷スペース計算.xlsx (トラック仕様/荷降ろし時間)

2. 入荷量集計
   ├─ ケース単位出荷分入荷量
   ├─ バラ単位出荷分入荷量
   └─ 全入荷量の容積計算

3. トラック車種・積載方式選択
   ├─ 入荷方式1, 2, 3 (最大3パターン)
   ├─ パレット積載 / ケース直積み
   └─ 物量比率の設定

4. バース数計算
   ├─ 着床台数/日 = 物量 / 積載容積
   ├─ 着床時間/台 (荷降ろし作業時間)
   ├─ ピーク時物量比の適用
   └─ 必要バース数の算出

5. スペース計算
   ├─ 待機面積 = トラック面積 × バース数 × 通路係数
   ├─ 空パレット仮置面積
   └─ 合計入荷スペース = (待機 + 仮置) × 面積倍率
					

3. 主要機能

3.1 データ読み込み機能

📥 在庫入荷量XLSX読込

在庫入荷量XLSX読込(MySheet, Mydgv)

機能: Excelファイルから入荷量データを読み込み、DataGridViewに表示

使用技術: EPPlus (OfficeOpenXml)

対象シート:

  • ケース出荷物量
  • バラ出荷物量
Private Sub 在庫入荷量XLSX読込(MySheet As String, Mydgv As DataGridView)
	MyExcel = Dat保存Path & "\在庫入荷量.xlsx"

	Dim fi As IO.FileInfo = New IO.FileInfo(MyExcel)
	If fi.Exists = False Then
		MessageBox.Show("ファイルなし")
		Return
	End If

	Using pkg As New ExcelPackage(fi)
		Dim sheet1 As ExcelWorksheet = pkg.Workbook.Worksheets(MySheet)
		' データ読み込み処理...
	End Using
End Sub

3.2 入荷スペース計算機能

🧮 入荷スペース計算1()

メインの計算処理

処理内容:

  1. 入荷トラック仕様Dgv表示()
  2. 入荷バースと入荷スペース計算1()

📊 入荷バースと入荷スペース計算1()

詳細計算ステップ

この関数は、入荷スペースを3つの入荷方式(方式1、方式2、方式3)に分けて計算します。

Step 1: 物量計算

物量 (m³) = 全入荷容積 × 物量比率 / 100

Step 2: トラック積載容積

積載容積/台 = トラック内容積 × トラック積載率 / 100

Step 3: 着床台数計算

着床台数/日 = 物量 (m³) / 積載容積/台

Step 4: 延べ着床時間

延べ着床時間 = 着床台数/日 × 着床時間/台 (分)

Step 5: ピーク時着床時間

ピーク時着床時間 = 延べ着床時間 × ピーク時物量比 / 100

Step 6: 必要バース数

バース数 = ピーク時着床時間 / 60

Step 7: 待機面積

待機面積 = トラック面積 × バース数 × 通路考慮倍数 (1.5)

Step 8: 空パレット仮置面積

空PL仮置面積 = (PL面積 × 積載PL数 × バース数) / 空PL段数 (5段)

Step 9: 合計入荷スペース

入荷スペース = (待機面積 + 空PL仮置面積) × 面積倍率

3.3 補助計算関数

パレット積載容積()

パレット積載時のトラック内容積を計算

容積 = PL積載数 × PL実積載容積

ケース直積み積載容積()

ケース直積み時のトラック内容積を返す

トラック仕様データから該当する容積を取得

着床時間()

車種と積載方式から荷降ろし時間を取得

荷降ろし時間ユーザDgvから読み取り

待機面積()

トラック待機に必要な面積を計算

面積 = トラック面積 × バース数 × 1.5

空PL仮置面積()

空パレットの仮置きに必要な面積

面積 = (1.1 × 1.1 × 積載PL数 × バース数) / 5段

3.4 PL/ケース容積計算

📦 PL_ケースの容積計算()

機能概要

全在庫データから平均ケース寸法を逆算する高度な計算

計算ロジック:

  1. 全在庫容積と全在庫ケース数から平均ケース容積を計算
  2. 平均ケース容積から4:3:2の比率で寸法を逆算
  3. パレット寸法と積載率を設定
' ケース寸法の逆算(4:3:2の比率)
Dim V As Single = 平均ケース出荷容積 * 1000 ^ 3 ' m³からmm³に変換
For i = 1 To 1000
	平均ケース幅 = 4 * i
	平均ケース奥行 = 3 * i
	平均ケース高 = 2 * i
	If (平均ケース幅 * 平均ケース奥行 * 平均ケース高) >= V Then
		Exit For
	End If
Next

4. 計算ロジック詳細

4.1 入荷量計算

項目 計算式 説明
ケース単位入荷量 ケース出荷データから集計 ケース単位で出荷される商品の入荷量
バラ単位入荷量 バラ出荷データから集計 バラ単位で出荷される商品の入荷量
全入荷容積 ケース + バラの合計容積 全体の物量(m³)
ピーク時容積 全入荷容積 × ピーク時物量比 / 100 ピーク時の入荷量

4.2 トラック・バース計算

⚠️ 計算上の重要なポイント

  • 3つの入荷方式: 異なる車種や積載方式を組み合わせて最適化
  • 物量比率: 各入荷方式への物量配分(合計100%)
  • 積載率: トラックの実際の積載効率を考慮
  • ピーク時物量比: 1日の中でのピーク時を考慮
  • 通路考慮倍数: トラック配置時の通路スペース(1.5倍)
  • 面積倍率: 余裕率や作業スペースを確保

4.3 荷降ろし時間の構成

作業項目 時間(分) 説明
トラック着床 可変 トラックがバースに着く時間
入荷事務 可変 伝票確認、入荷登録作業
荷降ろし作業 可変 実際の荷降ろし作業時間
検品事務 可変 検品、数量確認作業
トラック離床 可変 トラックがバースから離れる時間
合計 荷降ろし計 上記の合計時間

4.4 計算例

📝 実際の計算例

前提条件:

  • 全入荷容積: 100 m³
  • 入荷方式1(パレット積載): 物量比 60%
  • トラック車種: 4tトラック
  • トラック内容積: 30 m³
  • トラック積載率: 80%
  • 荷降ろし時間: 60分/台
  • ピーク時物量比: 30%

計算過程:

1. 物量 = 100 m³ × 60% = 60 m³

2. 積載容積/台 = 30 m³ × 80% = 24 m³

3. 着床台数/日 = 60 m³ / 24 m³ = 2.5台

4. 延べ着床時間 = 2.5台 × 60分 = 150分

5. ピーク時着床時間 = 150分 × 30% = 45分

6. バース数 = 45分 / 60 = 0.75 ≒ 1バース

7. 待機面積 = 15m² × 1 × 1.5 = 22.5 m²

8. 空PL仮置面積 = (1.21 m² × 10PL × 1) / 5段 = 2.42 m²

9. 入荷スペース = (22.5 + 2.42) × 1.2 = 29.9 m²

5. データフローと依存関係

5.1 Excelファイル構造

📄 在庫入荷量.xlsx

シート名 内容 サイズ
ケース出荷物量 ケース単位出荷分の入荷量データ 7列 × 60行
バラ出荷物量 バラ単位出荷分の入荷量データ 7列 × 60行

📄 入荷スペース計算.xlsx

シート名 内容 サイズ
荷降ろし時間Tera設定 デフォルトの荷降ろし時間設定 20列 × 23行
荷降ろし時間ユーザ設定 ユーザーがカスタマイズした設定 20列 × 23行
トラック仕様 各種トラックの寸法・容積データ 15列 × 12行

5.2 DataGridView 一覧

コントロール名 用途 データソース
ケース単位出荷分入荷物量Dgv ケース入荷量表示 在庫入荷量.xlsx / ケース出荷物量
バラ単位出荷分入荷物量Dgv バラ入荷量表示 在庫入荷量.xlsx / バラ出荷物量
入荷量Dgv 入荷量集計表示 上記2つのDgvから集計
入荷トラック仕様Dgv トラック仕様表示 入荷スペース計算.xlsx / 荷降ろし時間ユーザ設定
荷降ろし時間Tera設定Dgv デフォルト設定表示 入荷スペース計算.xlsx / 荷降ろし時間Tera設定
荷降ろし時間ユーザDgv ユーザー設定表示・編集 入荷スペース計算.xlsx / 荷降ろし時間ユーザ設定
入荷スペース計算結果Dgv 計算結果表示 計算処理の結果

5.3 変数とプロパティ

' グローバル変数(T3_UtilitySoft.vb から参照)
Public Dat保存Path As String     ' データ保存パス
Public MyExcel As String          ' Excelファイルパス
Public MySheet As String          ' シート名
Public MyDgv As DataGridView   ' 対象DataGridView

' ローカル変数
Private Dgv表示_チェック As Integer  ' 初期化完了フラグ
Private 平均ケース幅 As Single
Private 平均ケース奥行 As Single
Private 平均ケース高 As Single

6. メソッド詳細リファレンス

6.1 初期化関連

スペース計算1入荷From_Load

イベント: Form Load

処理内容:

  1. 初期化フラグを0に設定
  2. ファイル確認()
  3. 著作権・有効期間ラベルの設定
  4. 在庫入荷量XLSX読込(ケース/バラ)
  5. 初期化フラグを1に設定
  6. 入荷量Dgv表示()
  7. 荷降ろし時間Dgv読込(Tera設定/ユーザ設定)
  8. Text表示()
  9. PL_ケースの容積計算()

6.2 表示関連

入荷量Dgv表示()

機能: 入荷量の集計結果を表示

表示モード:

  • 容積換算Rb.Checked = True: 容積表示(m³)
  • 容積換算Rb.Checked = False: 個数表示(PL, ケース, バラ)

表示項目:

  • アイテム数
  • PL入荷数/容積
  • ケース入荷数/容積
  • バラ入荷数/容積
  • 横計(合計)

入荷トラック仕様Dgv表示()

機能: トラック仕様データを読み込んで表示

読込元: 入荷スペース計算.xlsx / 荷降ろし時間ユーザ設定

表示設定:

  • 列・行ヘッダー非表示
  • 読み取り専用
  • 数値フォーマット(N0, N1, N2)
  • 自動列幅調整
  • 列・行の固定(Frozen)

6.3 計算関連

入荷スペース計算開始Bt_Click

イベント: ボタンクリック

処理:

  1. 入荷スペース計算1()
  2. GroupBox背景色の切り替え(結果強調)

入荷バースと入荷スペース計算1()

機能: 入荷スペースのメイン計算処理

計算対象:

  • 入荷方式1(パレット積載/ケース直積み)
  • 入荷方式2(パレット積載/ケース直積み)
  • 入荷方式3(パレット積載/ケース直積み)

計算項目: 物量比、物量、トラック内容積、積載率、積載容積、着床台数、着床時間、延べ着床時間、ピーク時着床時間、バース数、待機面積、空PL仮置面積、計算面積計、面積倍率、入荷スペース

出力:

  • 入荷バース計: バース数の合計
  • 入荷スペース面積: 面積の合計(m²)

6.4 設定変更関連

テキスト集計Bt_Click

機能: 荷降ろし時間の各項目を合計

集計項目:

  • トラック着床
  • 入荷事務
  • 荷降ろし作業
  • 検品事務
  • トラック離床
  • → 荷降ろし計

荷降ろし時間ユーザ設定_修正保存Bt_Click

機能: ユーザーが変更した荷降ろし時間をExcelに保存

処理:

  1. TextからDgvへ書込()
  2. 荷降ろし時間ユーザ設定Excel更新()

荷降ろし時間Tera設定Rb_CheckedChanged

機能: ユーザー設定をTera設定(デフォルト)に戻す

確認: MessageBox で確認ダイアログ表示

処理: Tera設定シートのデータをユーザ設定シートにコピー

6.5 補助関数

関数名 戻り値 機能
パレット積載容積(車種, 入荷方式) Double PL積載数 × PL実積載容積
ケース直積み積載容積(車種, 入荷方式) Double トラック仕様から容積を取得
着床時間(車種, 入荷方式) Double 荷降ろし時間を取得(分)
待機面積(車種, 入荷方式, バース数) Double トラック面積 × バース数 × 1.5
空PL仮置面積(車種, 入荷方式, バース数) Double (PL面積 × PL数 × バース数) / 5段
入力値チェック(CC) Integer 数値・範囲チェック

7. 使用方法とワークフロー

7.1 基本的な使用手順

📋 ステップバイステップガイド

  1. 画面起動
    • メインメニューから「入荷スペース」を選択
    • 自動的にExcelデータが読み込まれる
  2. 入荷量確認
    • 入荷量Dgvで入荷物量を確認
    • 容積換算Rbで表示モード切替可能
  3. パラメータ設定
    • 入荷ピーク時物量比を入力(例: 30%)
    • ケース平均寸法を確認(自動計算)
    • PL積載率を設定(例: 75%)
    • PL実積載容積を確認
    • 入荷面積倍率を設定(例: 120%)
  4. 入荷方式設定(3パターン)
    • 各方式で車種を選択
    • 積載方式を選択(パレット積載/ケース直積み)
    • 物量比率を設定(合計100%になるように)
    • トラック積載率を設定
  5. 計算実行
    • 「入荷スペース計算開始」ボタンをクリック
    • 計算結果Dgvに結果が表示される
  6. 結果確認
    • 入荷バース計: 必要なバース数
    • 入荷スペース面積: 必要な面積(m²)
    • 詳細内訳を入荷スペース計算結果Dgvで確認

7.2 荷降ろし時間のカスタマイズ

🔧 カスタマイズ手順

  1. 「ユーザ設定」ラジオボタンを選択
  2. 車種選択Cbで対象車種を選択
  3. 積載方式Cbで方式を選択(パレット積載/ケース直済み)
  4. 各項目の時間を入力:
    • トラック着床Tb
    • 入荷事務Tb
    • 荷降ろし作業TB
    • 検品事務Bt
    • トラック離床Tb
  5. 「テキスト集計」ボタンで合計を計算
  6. 「荷降ろし時間ユーザ設定_修正保存」ボタンで保存

📌 注意: 保存した設定は入荷スペース計算.xlsxに保存され、次回起動時も有効です。

7.3 Tera設定への復元

⚠️ デフォルト設定への復元

カスタマイズした設定をデフォルト(Tera設定)に戻す場合:

  1. 「荷降ろし時間Tera設定」ラジオボタンを選択
  2. 確認ダイアログが表示される
  3. 「はい」を選択すると、全てのユーザ設定がTera設定で上書きされる

⚠️ 警告: この操作は元に戻せません。カスタマイズした設定は全て失われます。

7.4 計算結果の読み取り

表示項目 意味 単位
物量比% 全体に占める各入荷方式の割合 %
物量m3 各入荷方式の物量
トラック内容積 トラック1台の容積
トラック積載率% 実際の積載効率 %
積載容積/台 実質的な積載量
着床台数/日 1日あたりのトラック台数
着床時間/台 1台あたりの作業時間
延べ着床時間 全トラックの作業時間合計
着床時間/ピーク時 ピーク時の作業時間
バース数 必要なバース数 バース
待機面積 トラック待機スペース
空PL仮置面積 空パレット置場
計算面積計 待機+仮置の合計
面積倍率 余裕率 -
入荷スペースm2 最終的な必要面積

7.5 トラブルシューティング

❌ よくあるエラーと対処法

1. ファイルなしエラー

  • 原因: 在庫入荷量.xlsx または 入荷スペース計算.xlsx が見つからない
  • 対処: Dat保存Path(A-Fドライブ)に Tera計算Data フォルダがあるか確認

2. 計算結果が #DIV/0! エラー

  • 原因: 物量が0、または積載容積が0
  • 対処: 入荷量データを確認、物量比率が0でないか確認

3. バース数が異常に大きい/小さい

  • 原因: ピーク時物量比、積載率、荷降ろし時間の設定ミス
  • 対処: 各パラメータを見直す(ピーク時30-50%、積載率70-85%が一般的)

4. 物量比率の合計が100%にならない

  • 原因: 3つの入荷方式の物量比率の合計が100%でない
  • 対処: 各方式の物量比率を調整して合計100%にする

8. まとめと推奨事項

🎓 T3_2_入荷スペース.vb の特徴

  • 高度な計算ロジック: 物流専門知識に基づいた科学的な面積計算
  • 柔軟な設定: 3つの入荷方式で様々なケースに対応
  • Excel連携: EPPlusライブラリによる高速なデータ処理
  • カスタマイズ性: ユーザー独自の荷降ろし時間設定が可能
  • 実用性: 実際の物流現場で使用できる精度

8.1 推奨される使用パターン

パターン1: 新規施設設計

計画段階の入荷量から必要スペースを算出し、施設設計に反映

パターン2: 既存施設の検証

現在の入荷量から現状のスペースが適切か検証

パターン3: 増量シミュレーション

将来の入荷量増加に備えた拡張計画の策定

パターン4: 最適化検討

複数の入荷方式を比較し、最も効率的な方法を選択

8.2 開発者向け注意事項

💡 メンテナンスのポイント

  • Excelファイル構造: シート名や列の位置を変更する場合は、コード内の参照を全て更新すること
  • 計算式の変更: 物流の専門知識が必要。変更前に十分な検証を実施
  • EPPlusライブラリ: バージョンアップ時は互換性を確認
  • フラグ管理: Dgv表示_チェックフラグの適切な管理が重要
  • エラーハンドリング: ファイル存在チェック、数値チェックを徹底

8.3 拡張の可能性

  • グラフ表示: 計算結果をグラフで視覚化
  • レポート出力: 計算結果をPDFやWordで出力
  • 複数パターン比較: 異なる設定での計算結果を並べて比較
  • 最適化アルゴリズム: AIによる最適な入荷方式の自動提案
  • リアルタイム更新: データベースと連携してリアルタイムに計算

8.4 参考資料

資料名 内容
物流施設設計基準 物流施設の面積計算基準
EPPlus Documentation Excel操作ライブラリの公式ドキュメント
Tera計算シリーズマニュアル Tera計算1, 2との連携方法
トラック諸元表 各メーカーのトラック仕様データ