Skip to content
Snippets Groups Projects
Commit d2f49f14 authored by Johan de Klerk's avatar Johan de Klerk
Browse files

Merge branch 'main' of gitlab.bob.co.za:bob-public-utils/bobgroup-go-utils

parents 876acf1a 38c71241
No related merge requests found
......@@ -74,6 +74,7 @@ var Provinces = map[string]Province{
Names: []string{
"NT",
"NL",
"ZN",
"KwaZulu-Natal",
"KwaZulu Natal",
"iKwaZulu-Natal",
......@@ -240,9 +241,11 @@ func CleanZone(countryToClean, zoneToClean *string) (newCountry, newZone *string
for provinceCode, province := range Provinces {
for _, name := range province.Names {
if zone == name {
zone = string_utils.ReplaceCaseInsensitive(zone, name, provinceCode)
}
}
}
newZone = &zone
}
......
package bob_box_utils
import "sort"
type ParcelDimensions struct {
Height float64 `json:"height"`
Width float64 `json:"width"`
Length float64 `json:"length"`
}
// GetStackedParcelDimensions sorts the parcels so and stacks them
func GetStackedParcelDimensions(parcels []ParcelDimensions) ParcelDimensions {
var totalParcelHeight, maxParcelWidth, maxParcelLength float64
// Stack the parcels
for _, parcel := range parcels {
parcelHeight, parcelWidth, parcelLength := SortDimensionsInIncreasingOrder(parcel.Height, parcel.Width, parcel.Length)
// To stack, sum all the heights
totalParcelHeight += parcelHeight
// Get the max width
if parcelWidth > maxParcelWidth {
maxParcelWidth = parcelWidth
}
//Get the max length
if parcelLength > maxParcelLength {
maxParcelLength = parcelLength
}
}
return ParcelDimensions{totalParcelHeight, maxParcelWidth, maxParcelLength}
}
// SortDimensionsInIncreasingOrder sorts the given dimensions in increasing order
func SortDimensionsInIncreasingOrder(dim1, dim2, dim3 float64) (float64, float64, float64) {
dims := []float64{dim1, dim2, dim3}
sort.Float64s(dims)
return dims[0], dims[1], dims[2]
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment