📦 T3_4_ShippingSpace.vb - Detailed Explanation

📋 Overview

This file is a Visual Basic form class responsible for shipping space calculation within the logistics management system. It optimizes cardboard packaging and container loading, and creates shipping plans based on truck and transport equipment specifications.

Main Features:
  • Reading and processing shipping packaging volume data
  • Cardboard packaging calculation and palletization
  • Container loading optimization
  • Loading plans based on truck/transport equipment specifications
  • Calculation of berth numbers and shipping space optimization

🔧 Dependencies

Imports OfficeOpenXml

Uses the EPPlus library for reading and writing Excel files.

📊 Key Classes and Members

Class: T3_4ShippingSpaceForm

A form class derived from Windows Forms for calculating shipping space.

🔹 Important Global Variables

Variable Name Description
Container Type The model of the container to be used (e.g., 20ft, 40ft)
Shipping Container Fill Rate Container filling efficiency (%)
Cardboard Fill Rate Pallet filling efficiency for cardboards (%)
Total Cardboard Count Total number of cardboard boxes
Total Shipping Container Count Total required number of containers
Total Shipping Container Volume Total volume of the containers
Empty Transport Equipment Area Area of empty transport equipment

🎯 Main Methods

1. Form Load Processing

Private Sub SpaceCalc2BShippingSpace_Load(sender As Object, e As EventArgs)

Process Details:

2. Shipping Space and Berth Count Calculation

Private Sub ShippingSpaceAndBerthCountCalc()

Processing Flow:

  1. Execute shipping cardboard calculation
  2. Execute shipping container calculation
  3. Aggregate shipping space and berth count

3. Cardboard Packaging Calculation

Private Sub ShippingCardboardCalc()

Functionality:

Note: Cardboard sizes and loading methods vary depending on the packaging method.
- Shipping Data Category: Uses more detailed categories
- Consolidated Cardboard Packaging: Uses grouped packaging

4. Container Calculation

Private Sub ShippingContainerCalc()

Calculation Details:

5. Aggregation Processing

Private Sub ShippingSpaceAndBerthCountAggregation()

Aggregation Items:

📥 Excel Data Loading

Space Calculation 2A Result Loading

Private Sub SpaceCalc2AResult_ExcelRead()

Loaded Data:

File Path: DatSavePath & "\SoftData\SpaceCalc.xlsx"
Sheet Name: Shipping Packaging Volume

Truck and Transport Equipment Specifications Loading

Private Sub TruckAndTransportEquipSpecs_ExcelRead()

Loaded Sheets:

Sheet Name DataGridView Usage
Truck Specs TruckSpecsDgv Loading capacity and dimensions of various trucks
Transport Equip Specs TransportEquipSpecsDgv Specs for pallets, roll cages, etc.
Cardboard PL Truck Loading Capacity CardboardPLTruckLoadCapDgv Loading capacity when palletized
Shipping Container Direct Load Count ShipContainerDirectLoadCountDgv Direct loading capacity into containers
Shipping Container PL Load Count ShipContainerPLLoadCountDgv Pallet loading capacity into containers
Transport Equip Load Count by Truck TransportEquipLoadCountByTruckDgv Transport equipment loading capability by truck
Container Load Count by Transport Equip ContainerLoadCountByTransportEquipDgv Container loading capability by transport equipment
File Path: DatSavePath & "\SoftData\ShippingSpaceCalc.xlsx"

🚛 Transport Equipment Selection Feature

All Cardboard Packaging Mode

Private Sub AllCardboardPackaging()

Selectable Transport Equipment:

For Shipping Data Categories:
  • Direct Stacking Transport
  • Pallet 1100*1100
  • Roll Cage 850*650
  • Roll Cage 1100*800
  • Dolly Cart
  • Double Sided Cart 1260*425
  • Double Sided Cart 900*600
For Consolidated Cardboard Packaging:
  • Direct Stacking Transport
  • Pallet 1100*1100
  • Roll Cage 850*650
  • Roll Cage 1100*800
  • Double Sided Cart 1260*425
  • Double Sided Cart 900*600
  • (Dolly Cart is excluded)
Automatic Conversion: If Dolly Cart is selected, it automatically converts to Roll Cage 850*650.

🔍 Helper Functions

Truck Spec Retrieval Function

Private Function TruckSpecs(ByVal VehicleName As String, Col As Integer) As Double

Retrieves the specification value of the specified vehicle by column number.

Transport Equipment Spec Retrieval Function

Private Function TransportEquipSpecs(ByVal EquipName As String, Col As Integer) As Double

Retrieves the specification value of the specified transport equipment by column number.

Loading Capacity Calculation Function

Private Function CardboardPLTruckLoadCap(VehicleName As String, EquipName As String) As Double

Returns the loading capacity based on the combination of truck and transport equipment.

Container Loading Count Calculation Functions

Function Name Description
ShippingContainerDirectLoadCount() Direct loading capability of cardboards into containers
ShippingContainerPLLoadCount() Pallet loading capability into containers
TransportEquipLoadCountByTruck() Loading capability of transport equipment into trucks
TransportEquipLoadTimeByTruck() Time required for loading

📐 Calculation Logic

Basic Flow for Container Calculation

  1. Determine Container Availability
    • If Total Container Count > 0: Use Container Mode
    • If Total Container Count = 0: Direct Cardboard Shipping Mode
  2. Select Loading Method
    • Direct Stacking: Load cardboards directly
    • Palletization: Use transport equipment like pallets
  3. Calculate Required Counts
    • Calculate number of transport equipment
    • Calculate number of trucks
    • Calculate number of berths
  4. Calculate Space
    • Calculate waiting area
    • Calculate temporary storage area
    • Calculate working space

Berth Count Calculation

Berth Count = Total Loading Time / (Shipping Days × Working Hours per Day)

Area Calculation

Waiting Area = Number of Trucks × Truck Occupancy Area
Temporary Storage Area = Number of Transport Equip × Transport Equip Area
Total Space = Waiting Area + Temp Storage Area + Working Space

🎨 UI Components

DataGridView List

ComboBox (Transport Equipment Selection)

TextBox (Data Display)

Buttons

⚠️ Error Handling

File Existence Check

If fi.Exists = False Then
MessageBox.Show("File not found. Please run from Space Calculation 2A. Terminating.")
Me.Close()
End If

If required Excel files do not exist, displays an error message and closes the form.

Important: This module cannot run if Space Calculation 2A (previous process) is not completed successfully.

🔄 Overall Processing Flowchart

┌─────────────────────────────────────┐ │ Form Load │ └──────────┬──────────────────────────┘ │ ├→ Verify Files ├→ Display Copyright ├→ Read Excel (Calc Results) ├→ Read Excel (Spec Data) │ ▼ ┌─────────────────────────────────────┐ │ Shipping Space & Berth Calc │ └──────────┬──────────────────────────┘ │ ├→ Shipping Cardboard Calc │ ├─ Cardboard Count Calc │ ├─ Palletization Calc │ ├─ Truck Count Calc │ └─ Berth Count Calc │ ├→ Shipping Container Calc │ ├─ Direct Stack Calc │ ├─ Palletization Calc │ ├─ Equip Selection │ └─ Efficiency Calc │ └→ Shipping Space & Berth Aggregation ├─ Berth Count Aggregation ├─ Truck Count Aggregation ├─ Waiting Area Calc ├─ Temp Storage Area Calc └─ Total Space Calculation 

📈 DataGridView Formatting

Cell Styles

Style Settings Usage
cstyle1 Alignment = MiddleCenter Center alignment (Headers, etc.)
cstyle2 Alignment = MiddleRight
Format = "N1"
Right align, 1 decimal place
cstyle3 Alignment = MiddleRight
Format = "N3"
Right align, 3 decimal places

Common Settings

💾 Data Flow

Input Data

  1. SpaceCalc.xlsx
    • Shipping Packaging Volume sheet
    • Data generated in the previous process (T3_2)
  2. ShippingSpaceCalc.xlsx
    • Master data (Truck specs, transport equip specs, etc.)

Output Data

🔧 Technical Specifications

Libraries Used

Development Language & Framework

Key Technical Elements

📝 Commented Code Regions

#Region Directives

The code is structured using the following regions:

Maintainability: Region directives improve code readability and maintainability.

🚀 Optimization Points

1. Fill Rate Optimization

2. Transport Equipment Selection

3. Berth Allocation

⚙️ Configurable Parameters

Parameter Description Impact Area
Container Type Type of container to use Loading capacity, required count
Fill Rate Container/Pallet filling efficiency Required quantity, space
Transport Equip Type of transport equipment Loading efficiency, working time
Truck Type Type of truck to use Loading capacity, count, waiting area
Shipping Days Total shipping days Berth count, daily workload

🔗 Related Modules

Data Integration: Data is shared with the previous process via SpaceCalc.xlsx.

📚 Summary

T3_4_ShippingSpace.vb is a crucial module responsible for the optimization of shipping plans within the logistics management system.

Key Features

Use Cases

Important: Execution of the previous process (T3_2) and preparation of master data (ShippingSpaceCalc.xlsx) are required for this module to function correctly.

📞 Support Information

Document Date: Auto-generated

Target File: T3_4_ShippingSpace.vb

Language: Visual Basic .NET (VB.NET)

Total Lines: 2047 lines