Index: APPS/Verpakking/Optimizer.cls.xml =================================================================== diff -u -r68329 -r68404 --- APPS/Verpakking/Optimizer.cls.xml (.../Optimizer.cls.xml) (revision 68329) +++ APPS/Verpakking/Optimizer.cls.xml (.../Optimizer.cls.xml) (revision 68404) @@ -1,7 +1,7 @@ -TECH.RegisteredObject +TECH.Mockable @@ -24,236 +24,259 @@ 1 + +DS.Prod.OptiBox.sub.btCardboardRepository +1 + + -BasisDoos:APPS.Verpakking.Doos,ProductGroep:%String + 1 BasisDoos.MinWidth) && (..InitieleBreedte > BasisDoos.MinDepth)) { + #dim OppTotaleKartonVoorSwap As %Decimal = DieptePlaneVoorSwap * NodigeKartonBreedteVoorSwap + #dim OppTotaleKartonNaSwap As %Decimal = DieptePlaneNaSwap * NodigeKartonBreedteNaSwap + + If ((OppTotaleKartonNaSwap < OppTotaleKartonVoorSwap) && (..InitieleDiepte > BasisDoos.MinWidth) && (..InitieleBreedte > BasisDoos.MinDepth)) { Set BasisDoos.Width = ..InitieleDiepte Set BasisDoos.Depth = ..InitieleBreedte } - - Set BasisDoos.Swap = 0 + */ ]]> 1 BasisDoos.MinWidth) && (..InitieleBreedte > BasisDoos.MinDepth)) { + If ((OppTotaleKartonNaSwap < OppTotaleKartonVoorSwap) && (..InitieleDiepte > BasisDoos.MinWidth) && (..InitieleBreedte > BasisDoos.MinDepth)) { Set BasisDoos.Width = ..InitieleDiepte Set BasisDoos.Depth = ..InitieleBreedte } - - Set BasisDoos.Swap = 0 + */ ]]> 1 1 - 1 - 1 219 - 2 - 209 - 2 - + #dim BreedtePlanoRecept As %Decimal = BasisDoos.K1 + BasisDoos.Height + BasisDoos.Width + BasisDoos.Height + BasisDoos.K1 + ..#MachineKant + #dim DieptePlanoRecept As %Decimal = BasisDoos.Depth + BasisDoos.Height + BasisDoos.Depth + BasisDoos.Height + BasisDoos.K2 - + If (BreedtePlanoRecept > 2400) { //Breedte grootste karton, als het te breed is wordt er geswapt -> Definitie van swap = 2 + Set BreedtePlanoRecept = BasisDoos.K1 + BasisDoos.Height + BasisDoos.Depth + BasisDoos.Height + BasisDoos.K1 + ..#MachineKant + Set DieptePlanoRecept = BasisDoos.Width + BasisDoos.Height + BasisDoos.Width + BasisDoos.Height + BasisDoos.K2 + } + + #dim BreedtePlanoAltRecept As %Decimal = BasisDoos.Width + BasisDoos.Height + BasisDoos.Width + BasisDoos.Height + BasisDoos.K2 + ..#MachineKant + #dim DieptePlanoAltRecept As %Decimal = BasisDoos.K1 + BasisDoos.Height + BasisDoos.Depth + BasisDoos.Height + BasisDoos.K1 + + If (BreedtePlanoAltRecept > 2400) { + Set BreedtePlanoRecept = BasisDoos.Depth + BasisDoos.Height + BasisDoos.Depth + BasisDoos.Height + BasisDoos.K2 + ..#MachineKant + Set DieptePlanoRecept = BasisDoos.K1 + BasisDoos.Height + BasisDoos.Width + BasisDoos.Height + BasisDoos.K1 + } + + #dim NodigeKartonBreedteRecept = ..btCardboardRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoRecept, BasisDoos.LogoPrint) + #dim NodigeKartonBreedteAltRecept = ..btCardboardRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoAltRecept, BasisDoos.LogoPrint) + + #dim OppTotaleKartonRecept As %Decimal = DieptePlanoRecept * NodigeKartonBreedteRecept + #dim OppTotaleKartonAltRecept As %Decimal = DieptePlanoAltRecept * NodigeKartonBreedteAltRecept + + If ((OppTotaleKartonAltRecept < OppTotaleKartonRecept)) { + Set BasisDoos.RecipeID = BasisDoos.AltRecipeID + Set BasisDoos.Swap = BasisDoos.AltSwap + } } Else { - /* - 219 - 1 - 209 - 1 - + #dim SwapRecept219IsBeter, SwapRecept209IsBeter As %Boolean = $$$False + #dim BreedtePlanoVoorSwapRecept219 As %Decimal = BasisDoos.K1 + BasisDoos.Height + BasisDoos.Width + BasisDoos.Height + BasisDoos.K1 + ..#MachineKant + #dim DieptePlanoVoorSwapRecept219 As %Decimal = BasisDoos.Depth + BasisDoos.Height + BasisDoos.Depth + BasisDoos.Height + BasisDoos.K2 + + #dim BreedtePlanoNaSwapRecept219 As %Decimal = BasisDoos.K1 + BasisDoos.Height + BasisDoos.Depth + BasisDoos.Height + BasisDoos.K1 + ..#MachineKant + #dim DieptePlanoNaSwapRecept219 As %Decimal = BasisDoos.Width + BasisDoos.Height + BasisDoos.Width + BasisDoos.Height + BasisDoos.K2 + + #dim NodigeKartonBreedteVoorSwapRecept219 = ..btCardboardRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoVoorSwapRecept219, BasisDoos.LogoPrint) + #dim NodigeKartonBreedteNaSwapRecept219 = ..btCardboardRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoNaSwapRecept219, BasisDoos.LogoPrint) + + #dim OppTotaleKartonVoorSwapRecept219 As %Decimal = DieptePlanoVoorSwapRecept219 * NodigeKartonBreedteVoorSwapRecept219 + #dim OppTotaleKartonNaSwapRecept219 As %Decimal = DieptePlanoNaSwapRecept219 * NodigeKartonBreedteNaSwapRecept219 + + If ((OppTotaleKartonNaSwapRecept219 < OppTotaleKartonVoorSwapRecept219)) { + Set SwapRecept219IsBeter = $$$True + } + + #dim BreedtePlanoVoorSwapRecept209 As %Decimal = BasisDoos.Width + BasisDoos.Height + BasisDoos.Width + BasisDoos.Height + BasisDoos.K2 + ..#MachineKant + #dim DieptePlanoVoorSwapRecept209 As %Decimal = BasisDoos.K1 + BasisDoos.Height + BasisDoos.Depth + BasisDoos.Height + BasisDoos.K1 + + #dim BreedtePlanoNaSwapRecept209 As %Decimal = BasisDoos.Width + BasisDoos.Height + BasisDoos.Width + BasisDoos.Height + BasisDoos.K2 + ..#MachineKant + #dim DieptePlanoNaSwapRecept209 As %Decimal = BasisDoos.K1 + BasisDoos.Height + BasisDoos.Depth + BasisDoos.Height + BasisDoos.K1 + + #dim NodigeKartonBreedteVoorSwapRecept209 = ..btCardboardRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoVoorSwapRecept209, BasisDoos.LogoPrint) + #dim NodigeKartonBreedteNaSwapRecept209 = ..btCardboardRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoNaSwapRecept209, BasisDoos.LogoPrint) + + #dim OppTotaleKartonVoorSwapRecept209 As %Decimal = DieptePlanoVoorSwapRecept209 * NodigeKartonBreedteVoorSwapRecept209 + #dim OppTotaleKartonNaSwapRecept209 As %Decimal = DieptePlanoNaSwapRecept209 * NodigeKartonBreedteNaSwapRecept209 + + If ((OppTotaleKartonNaSwapRecept209 < OppTotaleKartonVoorSwapRecept209)) { + Set SwapRecept209IsBeter = $$$True + } + + If (SwapRecept219IsBeter && SwapRecept209IsBeter) { + If (OppTotaleKartonNaSwapRecept209 < OppTotaleKartonNaSwapRecept219) { + Set BasisDoos.RecipeID = 209 + } + Set BasisDoos.Swap = 1 + } ElseIf (SwapRecept219IsBeter && $$$Not(SwapRecept209IsBeter)) { + If (OppTotaleKartonVoorSwapRecept209 < OppTotaleKartonNaSwapRecept219) { + Set BasisDoos.RecipeID = 209 + } Else { + Set BasisDoos.Swap = 1 + } + } ElseIf ($$$Not(SwapRecept219IsBeter) && SwapRecept209IsBeter) { + If (OppTotaleKartonNaSwapRecept209 < OppTotaleKartonVoorSwapRecept219) { + Set BasisDoos.RecipeID = 209 + Set BasisDoos.Swap = 1 + } + } ElseIf ($$$Not(SwapRecept219IsBeter) && $$$Not(SwapRecept209IsBeter)) { + If (OppTotaleKartonVoorSwapRecept209 < OppTotaleKartonVoorSwapRecept219) { + Set BasisDoos.RecipeID = 209 + } + } } - - #dim BreedtePlanoVoorSwap As %Decimal = BasisDoos.K1 + BasisDoos.Depth + BasisDoos.Width + BasisDoos.Depth + BasisDoos.K1 - #dim DieptePlaneVoorSwap As %Decimal = BasisDoos.K2 + BasisDoos.Depth - BasisDoos.T + BasisDoos.Height + BasisDoos.T + (2 * BasisDoos.Height) + BasisDoos.Depth + BasisDoos.Height - - #dim BreedtePlanoNaSwap As %Decimal = BasisDoos.K2 + BasisDoos.Width - BasisDoos.T + BasisDoos.Height + BasisDoos.T + (2 * BasisDoos.Height) + BasisDoos.Width + BasisDoos.Height - #dim DieptePlaneNaSwap As %Decimal = BasisDoos.K1 + BasisDoos.Width + BasisDoos.Depth + BasisDoos.Width + BasisDoos.K1 - - #dim NodigeKartonBreedteVoorSwap = ..GetCardboardProductBreedte(BasisDoos.Thickness, BasisDoos.LogoPrint, BreedtePlanoVoorSwap) - #dim NodigeKartonBreedteNaSwap = ..GetCardboardProductBreedte(BasisDoos.Thickness, BasisDoos.LogoPrint, BreedtePlanoNaSwap) - - #dim OppervlakteKartonOmVerpakkingUitTeSnijdenVoorSwap As %Decimal = DieptePlaneVoorSwap * NodigeKartonBreedteVoorSwap - #dim OppervlakteKartonOmVerpakkingUitTeSnijdenNaSwap As %Decimal = DieptePlaneNaSwap * NodigeKartonBreedteNaSwap - - If ((OppervlakteKartonOmVerpakkingUitTeSnijdenNaSwap < OppervlakteKartonOmVerpakkingUitTeSnijdenVoorSwap)) { - Set BasisDoos.Width = ..InitieleDiepte - Set BasisDoos.Depth = ..InitieleBreedte - } - - Set BasisDoos.Swap = 0 - - */ ]]> 1 - - -1 -Dikte:%Decimal,LogoPrint:%String,PlanoBreedte:%Decimal -1 -%String -=:PlanoBreedte order by Breedte asc) - - &sql(OPEN GetProduct) - &sql(FETCH GetProduct) - &sql(CLOSE GetProduct) - - Quit CardBoardID -]]> - - - -1 -Dikte:%Decimal,LogoPrint:%String,PlanoBreedte:%Decimal -1 -%Decimal -=:PlanoBreedte order by Breedte asc) - - &sql(OPEN GetProductWidth) - &sql(FETCH GetProductWidth) - &sql(CLOSE GetProductWidth) - - Quit Breedte -]]> -