檔案名稱: TeraCalculation_EIQ.vb
行數: 約 2,479 行
類別名稱: teraCalculation4_ReferenceEIQForm
基礎繼承: Form (Windows Forms)
實作介面: IDisposable(記憶體釋放處理)
模組功能: 提供物流倉庫 EIQ 分析(Entry-Item-Quantity 分析)之核心功能。
控制 7 大分析分頁之切換與初始化。
處理分析設定參數之讀取與更新。
執行 DataGridView 格式化、對齊與欄位寬度調整。
匯入原始 Excel 檔案並建置 Access 核心資料表。
繪製時間序列趨勢折線圖。
繪製 Entry × Item 散佈圖分佈與等級分類。
以表格形式呈現詳細統計結果。
呈現送達地點 × SKU 交叉統計熱圖。
執行多重條件篩選與重新計算。
| 方法名稱 | 角色說明 | 執行流程 |
|---|---|---|
teraCalculationEIQ_Load |
表單載入初始化 |
・確認資料夾路徑 ・呈現總統計網格 ・載入散佈圖等級數據 ・套用建議 EIQ 預設值 |
| 方法名稱 | 分頁索引 | 執行動作 |
|---|---|---|
EIQTc_SelectedIndexChanged |
Case 0 | EIQ 數據製作分頁 - 確認資料表生成狀態 |
| Case 1 | EIQ 曲線圖分頁 - 繪製趨勢圖表 | |
| Case 2 | EIQ 散佈圖分頁 - 呈現初始散佈圖 | |
| Case 3 | EIQ 表格分頁 - 設定統計網格 | |
| Case 4 | EIQ 矩陣分頁 - 呈現交叉矩陣 | |
| Case 5 | 自訂篩選分頁 - 重置篩選參數 | |
| Case 6 | 周轉箱換算分頁 - 計算容器需求數 |
| 方法名稱 | 類型 | 說明 |
|---|---|---|
UpdateMyData() |
Sub | 將分析參數儲存至資料表 My_DATA1- 資料庫與 Excel 檔案路徑 - 等級門檻(A1/A2/B/C/D) - 外箱與零散目標設定 - 目標日期參數 |
LoadMyData() |
Sub | 自 My_DATA1 讀取設定至全域變數 |
| 資料表名稱 | 說明 | 數據源 |
|---|---|---|
T000_ShippingData |
原始出貨交易紀錄表 | ShippingData.xlsx / Sheet1 |
My_DATA1 |
系統設定資料表 | 使用者設定 |
| 資料表名稱 | 說明 | 內容 |
|---|---|---|
T130_TotalShippingSummary |
主統計資料表 | 全數據累計統計值 |
T230_DailySummary |
日別統計資料表 | 按出貨日期分組之統計 |
T610_EIQTableCaseShipping |
外箱 EIQ 矩陣表 | Entry × Item 外箱矩陣 |
T620_EIQTablePieceShipping |
零散 EIQ 矩陣表 | Entry × Item 零散矩陣 |
T670_EIQScatterPlotRankData |
散佈圖等級資料表 | A1/A2/B/C/D 等級分類 |
Public Class teraCalculation4_ReferenceEIQForm Implements IDisposableGC.Collect() 與 GC.WaitForPendingFinalizers() 以防記憶體洩漏。Provider=Microsoft.ACE.OLEDB.12.0;Data Source={MyDB}| 錯誤類型 | 根本原因 | 工程減緩對策 |
|---|---|---|
| FillWeight 65535 溢位 | DataGridView 欄位過多 | 動態欄位固定設定 FillWeight=10 |
| 等級設定錯誤 | 等級合計不等於 100% | 執行前驗證等級總和等於 100% |
| 資料庫鎖定錯誤 | Access 檔案遭其他處理程序鎖定 | 執行匯入前關閉 Access |