T3_3_PackagingVolume.vb Detailed Manual

1. Overview

This program is a Visual Basic form application for calculating and managing shipping packaging volumes. It uses the EPPlus library to integrate with Excel files and calculates the volume and quantity of various packaging formats (case shipping, container shipping, and cardboard packaging) based on shipping data.

File Name: T3_3_PackagingVolume.vb
Class Name: T3_3ShippingPackagingVolumeForm
Main Library: OfficeOpenXml (EPPlus)

2. Program Structure

2.1 Libraries Used

2.2 Main Components

Component Description
Form T3_3ShippingPackagingVolumeForm
DataGridView Multiple grid display controls
Database Access Database (Tables: T200, TC10, TC20, TC30, etc.)
Excel ShippingSpaceCalc.xlsx, ShippingContainerSpecs.xlsx

3. Main Features

3.1 Shipping Packaging Calculation Function

3.2 Data Display Function

3.3 Excel Integration Function

4. Method Details

4.1 Initialization / Event Handlers

Method Name Description Process Details
SpacePlan2AShippingPackagingVolume_Load Form Load - File verification
- Copyright and valid period display
- Setup specified shipping date
- Initialization of various data displays
- Read container and cardboard sizes
ShippingPackagingVolumeCalcBt_Click_1 Calc Button Click - Recalculate based on specified shipping date
- Execute TC10~TC30 processing
- Update DataGrid
SaveExcelAndCloseBt_Click Excel Save & Close Save calculation results to an Excel file and close form

4.2 Main Calculation Methods

Method Name Input Process Details Output
TC10_CaseUnitShippingVolume Specified Shipping Date - Extract case shipping data from T200 table
- Aggregate by shipping destination
- Calculate total volume
TC10_CaseUnitShippingVolume Table
DataGridView Display
TC20_BulkUnitShippingContainerVolume Specified Shipping Date
Container Type
Fill Rate
- Extract bulk shipping data
- Compare with container specs
- Calculate required container count
- Calculate container volume
TC20_BulkUnitShippingContainerVolume Table
DataGridView Display
TC30_BulkUnitTotalCardboardPackagingCount Specified Shipping Date - Allocate bulk shipping volume to cardboard boxes
- Calculate quantities by size
- Select optimal size considering fill rate
- Handle multiple cardboards
TC30_BulkUnitTotalCardboardPackagingCount Table
DataGridView Display
MultipleCardboardCalc Volume(DD)
Row No(i)
- Calculate number of size 200 boxes
- Allocate remaining volume to appropriate size
Update DataGridView

4.3 Data Display Methods

Method Name Process Details
ShippingDataVolumeConversionDgvDisplay - Aggregate display for case and bulk shipping
- Display packaging quantities and volume
- 3-column x 5-row grid configuration
PostShippingPackagingVolumeDgvDisplay - Final volume display after packaging
- Container count and area calculation
- Aggregated display of cardboard counts
BulkShippingUnit_CardboardAggregation - Aggregation by cardboard size
- Horizontal totals and volume display
- Volume calc by size (Yu-Packet ~ 200 size)
PostShippingPackagingContainerCalc - Aggregation by container type
- Container outer volume calculation
- Branching logic based on shipping data category

4.4 Excel Processing Methods

Method Name Process Details
ShippingContainerSpecsDgvDisplay - Load "ShippingContainerSpecs" sheet from "ShippingSpaceCalc.xlsx"
- Display specs for types 31, 40, 51, and 60
CardboardSizeChartDgvDisplay - Load "CardboardSpecs" sheet from "ShippingSpaceCalc.xlsx"
- Display specs from Yu-Packet up to 200 size
TC00_ShippingContainerSpecsImport - Import "ShippingContainerSpecs.xlsx" to Access Database
- Create TC00 table
ExcelCreate - Output DataGridView data to Excel file
- Uses EPPlus library
ExcelImport - Import Excel file to Access Database
- Uses Access.Application object

5. Data Flow

5.1 Processing Flowchart

Main Processing Flow:
  1. Form Load → Load initial data
  2. Set specified shipping date
  3. TC10: Calculate Case Unit Shipping Volume
  4. TC20: Calculate Bulk Unit Container Volume
  5. TC30: Calculate Cardboard Packaging Count
  6. Volume Calculation and Aggregation
  7. Update DataGridView Display
  8. Save to Excel (Optional)

5.2 Data Sources

Data Source Format Usage
T200 Table Access Database Shipping Data (Case/Bulk Info)
T210_SpecifiedShippingDate Access Database Shipping Date Info
TC00_ShippingContainerSpecs Access Database Container Spec Master
ShippingSpaceCalc.xlsx Excel Cardboard / Container Specs

6. Database Processing

6.1 Tables Used

Table Name Description Main Fields
T200 Basic Shipping Data ShippingDate, ShippingCategory, Destination, C_Rows, C_Vol, B_Rows, B_Vol, G_Rows, G_Vol
T210_SpecifiedShippingDate Specified Shipping Date ShippingDate, TotalShippingDays
TC00_ShippingContainerSpecs Container Specs Type, Outer_W/D/H, Outer_Vol/Area, Inner_W/D/H, Inner_Vol
TC10_CaseUnitShippingVolume Case Shipping Aggregation ShippingDate, ShippingCategory, DestCount, C_Cases, C_Vol
TC20_BulkUnitShippingContainerVol Container Shipping Aggregation ShippingDate, ShippingCategory, Type, ContainerCount, ContainerVol
TC30_BulkUnitTotalCardboardCount Cardboard Pack Aggregation ShippingDate, ShippingCategory, B_Cases, B_Vol, CardboardFillRate, YuPacket~200Size
TC40_BulkUnitTotalShippingCardboardVol Cardboard Volume Intermediate Intermediate table used during TC30 creation
TB10 Series Tables Aggregation Table Group Case/Bulk/Total aggregated by ShippingDate & Category

6.2 SQL Processing

Main SQL Processing Patterns:
  • CREATE VIEW - Creation of query views (QC10*, QC20*, QC40*)
  • SELECT ... INTO - Creation of aggregation tables (TC10, TC20, TB10*)
  • GROUP BY - Aggregation by date, category, and destination
  • LEFT JOIN - Joining with container specifications
  • HAVING Clause - Filtering by conditions

7. Calculation Logic

7.1 Cardboard Size Allocation Logic

Cardboard Fill Rate: 0.9 (90%)
Calculation Formula: DD = B_Vol ÷ Cardboard Fill Rate
Cardboard Size Volume (m³) Allocation Condition
Yu-Packet 0.0018 DD ≤ 0.0018
Size 60 0.008 0.0018 < DD ≤ 0.008
Size 80 0.0189 0.008 < DD ≤ 0.0189
Size 100 0.037 0.0189 < DD ≤ 0.037
Size 120 0.064 0.037 < DD ≤ 0.064
Size 140 0.1016 0.064 < DD ≤ 0.1016
Size 160 0.1517 0.1016 < DD ≤ 0.1517
Size 180 0.216 0.1517 < DD ≤ 0.216
Size 200 0.2963 DD > 0.216 (Multiple calculation)

7.2 Container Calculation Logic

Container Count Formula:
Container Count = Int(B_Vol ÷ (Container Inner Vol × Container Fill Rate) + 0.5)

Container Volume Formula:
Shipping Container Volume = Container Count × Container Outer Volume
Container Type Outer Volume (m³) Remarks
Type 31 0.043 Small Container
Type 40 0.049 Medium Container
Type 51 0.063 Large Container
Type 60 0.077 Extra Large Container

7.3 Multiple Cardboard Calculation

Handling for volumes exceeding Size 200:
  1. AA = Int(DD ÷ 0.2963) → Number of Size 200 boxes
  2. BB = DD - AA × 0.2963 → Remaining volume
  3. Allocate appropriate cardboard size to the remaining volume (BB)

8. Excel Integration

8.1 Input Files

File Name Sheet Name Usage
ShippingSpaceCalc.xlsx Cardboard Specs Cardboard Size Master (9 types)
ShippingSpaceCalc.xlsx Shipping Container Specs Container Type Master (4 types)
ShippingContainerSpecs.xlsx Shipping Container Specs For Database Import

8.2 Output Files

File Name Sheet Name Contents
SpaceCalc.xlsx Shipping Packaging Volume - Shipping Packaging Quantity/Volume
- Total Shipping Days, Specified Date
- Packaging Method
- Container Type, Fill Rate, Count, Vol
- Cardboard Fill Rate, Count
TC30_BulkUnitTotalCardboardCount.xlsx Sheet1 Intermediate data for Cardboard Count

8.3 EPPlus Usage Example

' Excel Read
Dim fi As New IO.FileInfo(DatSavePath & "\SoftData\ShippingSpaceCalc.xlsx")
Using pkg As New ExcelPackage(fi)
    Dim sheet1 As ExcelWorksheet = pkg.Workbook.Worksheets("Cardboard Specs")
    For j = 1 To 10
        For i = 2 To 10
            MyDgv.Item(j - 1, i - 2).Value = sheet1.Cells(i, j).Value
        Next
    Next
End Using

' Excel Write
Dim MYFile As String = DatSavePath & "\SoftData\" & myExcel & ".xlsx"
Dim fi As IO.FileInfo = New IO.FileInfo(MYFile)
Using pkg As New ExcelPackage(fi)
    Dim sheet1 As ExcelWorksheet = pkg.Workbook.Worksheets.Add("Sheet1")
    For j = 0 To Maxj
        For i = 0 To Maxi
            sheet1.Cells(i + 2, j + 1).Value = MyDgv.Item(j, i).Value
        Next
    Next
    pkg.Save()
End Using

9. Supplementary Information

9.1 Shipping Categories

9.2 Screen Items

9.3 Important Notes

  • Cardboard fill rate is fixed at 0.9 (90%)
  • Container fill rate can be set by the user
  • Processing flow changes based on shipping category
  • EPPlus library is required for Excel operations
  • Access.Application object is required for Access integration
  • Copyright and validity period display features included

10. Summary

This program is a comprehensive solution designed to automate complex shipping packaging calculations. It features:

Target Users: Logistics and Shipping Managers
Intended Usage: Daily shipping planning, packaging material management, space optimization