📦 T3_Uty2散裝出貨貨櫃計算.vb - 詳細說明

📋 概述

本檔案為用於計算散裝出貨(揀貨出貨)時,貨櫃(摺疊貨櫃、循環物流箱)需求數量的公用軟體。該程式會分析各出貨地的散裝物量,並算出最佳的貨櫃尺寸與需求數量。

主要用途:
  • 計算散裝出貨時所需的貨櫃數量
  • 依出貨地・品項別進行物量分析
  • 最佳化選擇貨櫃尺寸(31型、40型、51型、60型)
  • 考量裝填率後計算實用容積
  • 依日期・出貨地進行 EIQ 分析
何謂散裝出貨: 不以整箱為單位出貨,而是將箱子拆開並僅揀取所需數量進行出貨的方式。常用於針對零售店舖的多品種少量配送。

🔧 依賴關係

Imports System.Data.OleDb
Imports Microsoft.Office.Interop.Access

使用技術:

🎯 主要功能

1. 貨櫃容積計算

2. 出貨資料分析

3. 貨櫃數計算

4. EIQ 分析

📦 支援的貨櫃尺寸

型號 內徑容積 (m³) 一般用途 特色
31型 0.0329 m³ (32.9公升) 小物品・少量揀貨 尺寸小,容易搬運
40型 0.0372 m³ (37.2公升) 標準揀貨 中型尺寸,通用性高
51型 0.05 m³ (50公升) 中量揀貨 大型尺寸,容量大
60型 0.061 m³ (61公升) 大量揀貨 最大尺寸,需注意重物
何謂 Oricon (摺疊貨櫃): 摺疊貨櫃的俗稱。因使用後可摺疊回收,因此作為物流效率極高的循環物流箱被廣泛使用。

🔍 主要方法詳細說明

1. 表單載入處理

Private Sub Tera計算參考_EIQFrom_Load(sender As Object, e As EventArgs)

初始化處理:

  1. 顯示使用期限與版權
  2. 確認必要檔案是否存在
  3. 設定資料庫路徑
  4. 顯示貨櫃容器 Dgv
  5. 擷取出貨貨櫃物量資料
  6. 顯示出貨日別彙總 Dgv
  7. 計算指定出貨日的容積彙總
  8. 算出出貨貨櫃計算容積
  9. 建立出貨日下拉選單

2. 開始貨櫃容積計算

Private Sub 貨櫃容積計算_開始_Click(sender As Object, e As EventArgs)

處理流程:

  1. 輸入驗證
    • 確認是否已選擇出貨日
    • 檢查資料不足的日期(2022/05/14)
  2. 資料擷取・彙總
    • 擷取出貨貨櫃物量
    • 指定出貨日的容積彙總
    • 顯示出貨地別散裝容積
    • 出貨地別貨櫃數彙總
  3. EIQ 分析
    • 算出 I 等級各品項數
    • 算出 E 等級各出貨地數
    • 顯示 EIQ 結果
  4. 貨櫃數計算
    • 算出貨櫃數量
    • 計算棧板裝載數量
  5. 視覺回饋
    • 變更背景顏色(LightGray ⇔ GreenYellow)
資料不足時的處理: 由於 2022/05/14 的資料不足,因此選擇時將顯示錯誤訊息並中止計算。

3. 出貨貨櫃計算容積

Private Sub 出貨貨櫃計算容積()

計算邏輯:

計算容積 = 內徑容積 × (裝填率 / 100)

計算範例(40型,裝填率 80% 的情況):

內徑容積: 0.0372 m³
裝填率: 80%
計算容積 = 0.0372 × 0.8 = 0.02976 m³
→ 四捨五入後為 0.0298 m³

4. 建立出貨日下拉選單

Private Sub 建立出貨日Cb()

處理內容:

自動選擇: 透過自動選擇散裝出貨最多的日期,優先顯示最需要計算的日期。

💾 資料庫處理

資料庫架構

資料庫: 使用SQL的EIQ分析.accdb
位置: Dat儲存Path & "\使用SQL的EIQ分析.accdb"

主要資料表

資料表名稱 說明
T000_出貨資料 原始資料(全出貨資料)
T400_EIQ加工資料 為了進行 EIQ 分析加工後的資料
T230_日別彙總 日別的彙總資料
TF10_出貨貨櫃物量 散裝出貨的貨櫃物量(計算結果)
My_貨櫃規格 貨櫃的規格主檔資料

擷取出貨貨櫃物量

Private Sub 出貨貨櫃的出貨物量擷取()

處理步驟:

  1. 刪除既有的查詢與資料表(QF10_*, TF10_*)
  2. 分 3 個階段執行 SQL 查詢

SQL 查詢的詳細說明

步驟 1: 合併出貨區分

CREATE VIEW QF10_1 AS
SELECT T400_EIQ加工資料.*, T000_出貨資料.出貨區分
FROM T400_EIQ加工資料
LEFT JOIN T000_出貨資料
ON T400_EIQ加工資料.列序號 = T000_出貨資料.列序號;

將出貨區分合併至 EIQ 加工資料。

步驟 2: 彙總散裝出貨

CREATE VIEW QF10_2 AS
SELECT
出貨區分, 出貨日, B列E等級, B列I等級,
品項, 出貨地,
SUM(散裝出貨的列數) AS 列數,
SUM(散裝出貨的散裝數) AS 散裝數,
SUM(散裝出貨的箱換算) AS 箱換算,
SUM(散裝出貨的PL換算) AS PL換算,
SUM(散裝出貨的容積換算) AS 容積換算,
SUM(散裝出貨的重量換算) AS 重量換算
FROM QF10_1
GROUP BY 出貨區分, 出貨日, B列E等級, B列I等級, 品項, 出貨地
HAVING 出貨區分="散裝_出貨貨櫃" AND SUM(散裝出貨的散裝數) > 0;

依品項・出貨地彙總散裝出貨資料。

步驟 3: 資料表化

SELECT QF10_2.*
INTO TF10_出貨貨櫃物量
FROM QF10_2;

將檢視表存為資料表。

📊 顯示・彙總功能

1. 顯示貨櫃容器 Dgv

Sub 貨櫃容器Dgv顯示()

顯示內容:

2. 顯示出貨日別彙總 Dgv

Sub 出貨日別彙總Dgv顯示()

顯示項目:

3. 顯示指定出貨日_出貨地別散裝容積 Dgv

Private Sub 指定出貨日_出貨地別散裝容積Dgv顯示()

內容:

4. 顯示出貨地別_貨櫃數彙總 Dgv

Private Sub 出貨地別_貨櫃數彙總Dgv顯示()

計算・顯示內容:

所需貨櫃數 = CEILING(總容積 / 貨櫃計算容積)

5. 顯示出貨貨櫃容積 EIQ Dgv

Private Sub 出貨貨櫃容積EIQDgv顯示()

顯示 EIQ 分析結果:

📈 EIQ 分析功能

何謂 EIQ 分析:
  • E (Entry): 出貨地數(訂單數)
  • I (Item): 品項數(SKU 數)
  • Q (Quantity): 數量(出貨量)
結合這三個指標來分析物流特性的方法。

1. I 等級各品項數

Private Sub I等級各品項數()

計算內容:

2. E 等級各出貨地數

Private Sub E等級各出貨地數()

計算內容:

EIQ 等級的含義

等級 說明 特性
A 等級 高頻率・大量 重點管理對象
A1 等級 A 等級的前段 最重要
A2 等級 A 等級的後段 重要
B 等級 中頻率・中量 標準管理
B1 等級 B 等級的前段 稍微重要
B2 等級 B 等級的後段 標準
C 等級 低頻率・少量 簡易管理

🧮 貨櫃數計算

顯示貨櫃容積計算貨櫃數 Dgv

Private Sub 貨櫃容積計算貨櫃數Dgv顯示()

計算邏輯:

  1. 彙總各出貨地的總容積
  2. 算出所需貨櫃數
    需求數量 = CEILING(總容積 / 貨櫃計算容積)
  3. 小數點處理
    • 一律無條件進位(為防止短缺)
    • 未滿 1 個以 1 個計算

貨櫃 PL 裝載數計算

Private Sub 貨櫃PL裝載數計算()

計算內容:

棧板裝載: 透過將貨櫃堆疊在棧板上搬運,可提升搬運效率。一般情況下一塊棧板會裝載多個貨櫃。

🎨 UI 元件

輸入控制項

控制項 說明 初始值
出貨日Cb 出貨日選擇下拉選單 散裝數最多的日期
散裝出貨_貨櫃選擇Cb 貨櫃型號選擇 40型(標準)
出貨貨櫃裝填率Tb 裝填率(%) 80%

顯示用 TextBox

控制項 顯示內容
內徑容積Tb 貨櫃的內徑容積(m³)
出貨貨櫃計算容積Tb 考量裝填率後的計算容積(m³)

DataGridView 列表

按鈕

RadioButton

PictureBox

🎯 視覺回饋

變更背景顏色

執行計算時,結果顯示區的背景顏色會發生變化:

狀態 背景顏色 意義
初始狀態 LightGray (淺灰色) 未計算
計算完成 GreenYellow (黃綠色) 已計算・顯示結果中
If 貨櫃數計算結果chk = 0 Then
貨櫃數計算結果Panel.BackColor = Color.LightGray
GroupBox23.BackColor = Color.LightGray
貨櫃數計算結果chk = 1
Else
貨櫃數計算結果Panel.BackColor = Color.GreenYellow
GroupBox23.BackColor = Color.GreenYellow
貨櫃數計算結果chk = 0
End If

出貨日下拉選單的顏色

🔄 處理流程全圖

┌─────────────────────────────────────┐
│   表單載入                          │
└──────────┬──────────────────────────┘
           │
           ├→ 顯示期限・版權
           ├→ 確認檔案是否存在
           ├→ 設定資料庫路徑
           ├→ 顯示貨櫃容器Dgv
           ├→ 擷取出貨貨櫃物量
           ├→ 顯示出貨日別彙總Dgv
           ├→ 算出貨櫃計算容積
           └→ 建立出貨日Cb
           │
           ▼
┌─────────────────────────────────────┐
│   選擇出貨日                        │
└──────────┬──────────────────────────┘
           │
           ▼
┌─────────────────────────────────────┐
│   點擊貨櫃容積計算開始按鈕          │
└──────────┬──────────────────────────┘
           │
           ├→ 輸入驗證(檢查出貨日、資料不足)
           │
           ▼
┌─────────────────────────────────────┐
│   資料擷取・彙總                    │
└──────────┬──────────────────────────┘
           │
           ├─ 擷取出貨貨櫃物量
           │   └→ 執行SQL(3階段)
           │
           ├─ 指定出貨日容積彙總
           ├─ 顯示出貨地別散裝容積Dgv
           └─ 顯示出貨地別貨櫃數彙總Dgv
           │
           ▼
┌─────────────────────────────────────┐
│   EIQ 分析                          │
└──────────┬──────────────────────────┘
           │
           ├─ 算出 I 等級各品項數
           ├─ 算出 E 等級各出貨地數
           └─ 顯示 EIQ 結果Dgv
           │
           ▼
┌─────────────────────────────────────┐
│   貨櫃數計算                        │
└──────────┬──────────────────────────┘
           │
           ├─ 顯示貨櫃數Dgv
           │   └→ 總容積 / 計算容積 → 無條件進位
           │
           └─ 貨櫃 PL 裝載數計算
           │
           ▼
┌─────────────────────────────────────┐
│   結果顯示・視覺回饋                │
└──────────┬──────────────────────────┘
           │
           └→ 變更背景顏色(GreenYellow)

💡 應用場景

1. 每日營運

2. 計畫擬定

3. 分析・改善

4. 模擬測試

📊 DataGridView 設定

共通設定

數值欄位設定

For j = 2 To 19
.Columns(j).DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleRight
Next

第 2 欄以後(數值資料)採靠右對齊顯示。

⚠️ 注意事項與錯誤處理

遇到資料不足時的處理

關於 2022/05/14 的資料:
由於此日期的資料不足,選擇時將顯示錯誤訊息。
If 出貨日Cb.Text = "2022/05/14" Then
MsgBox("資料不足。請選擇其他出貨日")
Exit Sub
End If

輸入驗證

  • 若未選擇出貨日,將中止處理程序
  • 若未輸入裝填率,將跳過計算

計算時的注意事項

  • 裝填率的合理性: 80~90% 為常見範圍。設為 100% 實際上難以作業
  • 小數點處理: 一律無條件進位(防止短缺)
  • 貨櫃尺寸: 需配合出貨地特性進行選擇
  • 重量限制: 不僅要考量容積,也必須考量重量

🔗 相關模組

本公用軟體與以下 Tera 計算系統進行整合:

💾 檔案・路徑結構

資料庫檔案

MyDB = Dat儲存Path & "\使用SQL的EIQ分析.accdb"

圖片檔案

MyPath = Environment.CurrentDirectory
Oricon尺寸.jpg: 尺寸說明圖
Oricon.gif: 外觀圖

軟體資料路徑

SoftDataPath = Dat儲存Path & "\SoftData"

📚 總結

T3_Uty2散裝出貨貨櫃計算.vb 是一款能精確計算散裝出貨所需貨櫃數量的專業工具。

主要特色

適用領域

提升計算精確度的要點

實務上的建議: 計算結果為理論值。實際營運時,建議多準備 10~20% 的備用貨櫃。

📞 支援資訊

文件建立日期: 自動產生

目標檔案: T3_Uty2散裝出貨貨櫃計算.vb

語言: Visual Basic .NET (VB.NET)

總行數: 637行

核心技術: Windows Forms, Access Database, SQL, EIQ 分析