TECH.Mockable Geen swap Swap = 1 -> Breedte en diepte worden sowieso geswapt Swap = 2 -> Conditionele swap: enkel swappen indien de plano te breed is voor het breedste karton Sommige recepten hebben zowel swap 0 als 1 beschikbaar, in deze situatie moet worden gekekend welk recept het minste karton verbruikt]]> 2400 APPS.Verpakking.dto.Doos 1 %Decimal 1 %Decimal 1 APPS.Verpakking.KartonRepository 1 APPS.Verpakking.enu.MachineID 1 1 1 1 1 1 1 ..#AfmetingBreedsteKarton) || (DieptePlanoRecept > ..#AfmetingBreedsteKarton)) { //Breedte grootste karton, als het te breed is wordt er geswapt -> Definitie van swap = 2 Set BreedtePlanoRecept = BasisDoos.K1 + BasisDoos.CardBoardThickness + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Depth + 5 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K1 + BasisDoos.CardBoardThickness Set DieptePlanoRecept = BasisDoos.Width + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Width + 10 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K2 Set BasisDoos.Swap = 1 } #dim BreedtePlanoAltRecept As %Decimal = BasisDoos.Width + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Width + 10 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K2 #dim DieptePlanoAltRecept As %Decimal = BasisDoos.K1 + BasisDoos.CardBoardThickness + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Depth + 5 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K1 + + BasisDoos.CardBoardThickness If ((BreedtePlanoAltRecept > ..#AfmetingBreedsteKarton) || (DieptePlanoAltRecept > ..#AfmetingBreedsteKarton)) { //Breedte grootste karton, als het te breed is wordt er geswapt -> Definitie van swap = 2 Set BreedtePlanoAltRecept = BasisDoos.Depth + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Depth + 10 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K2 Set DieptePlanoAltRecept = BasisDoos.K1 + BasisDoos.CardBoardThickness + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Width + 5 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K1 + + BasisDoos.CardBoardThickness Set BasisDoos.AltSwap = 1 } Do ##class(vhLib.Logger).%New("GeefDoos").Info("KAD parameters", BreedtePlanoRecept _ " " _DieptePlanoRecept _ " " _BreedtePlanoAltRecept _ " " _DieptePlanoAltRecept_ " " _ BasisDoos.LogoPrint _ " " _ BasisDoos.CardBoardThickness) #dim NodigeKartonBreedteRecept = $Select(BreedtePlanoRecept <= ..#AfmetingBreedsteKarton: ..KartonRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoRecept, BasisDoos.LogoPrint, ..MachineId), 1: 9999999) #dim NodigeKartonBreedteAltRecept = $Select(BreedtePlanoAltRecept <= ..#AfmetingBreedsteKarton: ..KartonRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoAltRecept, BasisDoos.LogoPrint, ..MachineId), 1: 9999999) #dim OppTotaleKartonRecept As %Decimal = DieptePlanoRecept * NodigeKartonBreedteRecept #dim OppTotaleKartonAltRecept As %Decimal = DieptePlanoAltRecept * NodigeKartonBreedteAltRecept Set ..BreedtePlano = BreedtePlanoRecept Set ..DieptePlano = DieptePlanoRecept If ((OppTotaleKartonAltRecept < OppTotaleKartonRecept)) { Set ..BreedtePlano = BreedtePlanoAltRecept Set ..DieptePlano = DieptePlanoAltRecept Set BasisDoos.Recipe = BasisDoos.AltRecipe Set BasisDoos.Swap = BasisDoos.AltSwap } } Else { #dim SwapRecept219IsBeter, SwapRecept209IsBeter As %Boolean = $$$False #dim BreedtePlanoVoorSwapRecept219 As %Decimal = BasisDoos.K1 + BasisDoos.CardBoardThickness + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Width + 5 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K1 + BasisDoos.CardBoardThickness #dim DieptePlanoVoorSwapRecept219 As %Decimal = BasisDoos.Depth + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Depth + 10 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K2 #dim BreedtePlanoNaSwapRecept219 As %Decimal = BasisDoos.K1 + BasisDoos.CardBoardThickness + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Depth + 5 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K1 + BasisDoos.CardBoardThickness #dim DieptePlanoNaSwapRecept219 As %Decimal = BasisDoos.Width + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Width + 10 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K2 #dim NodigeKartonBreedteVoorSwapRecept219 = $Select(BreedtePlanoVoorSwapRecept219 <= ..#AfmetingBreedsteKarton: ..KartonRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoVoorSwapRecept219, BasisDoos.LogoPrint, ..MachineId), 1: 9999999) #dim NodigeKartonBreedteNaSwapRecept219 = $Select(BreedtePlanoNaSwapRecept219 <= ..#AfmetingBreedsteKarton: ..KartonRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoNaSwapRecept219, BasisDoos.LogoPrint, ..MachineId), 1: 9999999) #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.CardBoardThickness + BasisDoos.Width + 10 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K2 #dim DieptePlanoVoorSwapRecept209 As %Decimal = BasisDoos.K1 + BasisDoos.CardBoardThickness + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Depth + 5 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K1 + + BasisDoos.CardBoardThickness #dim BreedtePlanoNaSwapRecept209 As %Decimal = BasisDoos.Depth + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Depth + 10 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K2 #dim DieptePlanoNaSwapRecept209 As %Decimal = BasisDoos.K1 + BasisDoos.CardBoardThickness + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.Width + 5 + BasisDoos.Height + BasisDoos.CardBoardThickness + BasisDoos.K1 + + BasisDoos.CardBoardThickness #dim NodigeKartonBreedteVoorSwapRecept209 = $Select(BreedtePlanoVoorSwapRecept209 <= ..#AfmetingBreedsteKarton: ..KartonRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoVoorSwapRecept209, BasisDoos.LogoPrint, ..MachineId), 1: 9999999) #dim NodigeKartonBreedteNaSwapRecept209 = $Select(BreedtePlanoNaSwapRecept209 <= ..#AfmetingBreedsteKarton: ..KartonRepository.GeefKartonBreedte(BasisDoos.CardBoardThickness, BreedtePlanoNaSwapRecept209, BasisDoos.LogoPrint, ..MachineId), 1: 9999999) #dim OppTotaleKartonVoorSwapRecept209 As %Decimal = DieptePlanoVoorSwapRecept209 * NodigeKartonBreedteVoorSwapRecept209 #dim OppTotaleKartonNaSwapRecept209 As %Decimal = DieptePlanoNaSwapRecept209 * NodigeKartonBreedteNaSwapRecept209 If ((OppTotaleKartonNaSwapRecept209 < OppTotaleKartonVoorSwapRecept209)) { Set SwapRecept209IsBeter = $$$True } If (SwapRecept219IsBeter && SwapRecept209IsBeter) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept219 Set ..DieptePlano = DieptePlanoNaSwapRecept219 Set BasisDoos.Swap = 1 If (OppTotaleKartonNaSwapRecept209 < OppTotaleKartonNaSwapRecept219) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept209 Set ..DieptePlano = DieptePlanoNaSwapRecept209 Set BasisDoos.Recipe = 209 } } ElseIf (SwapRecept219IsBeter && $$$Not(SwapRecept209IsBeter)) { If (OppTotaleKartonVoorSwapRecept209 < OppTotaleKartonNaSwapRecept219) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept209 Set ..DieptePlano = DieptePlanoVoorSwapRecept209 Set BasisDoos.Recipe = 209 Set BasisDoos.Swap = 0 } Else { Set BasisDoos.Swap = 1 Set ..BreedtePlano = BreedtePlanoNaSwapRecept219 Set ..DieptePlano = DieptePlanoNaSwapRecept219 } } ElseIf ($$$Not(SwapRecept219IsBeter) && SwapRecept209IsBeter) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept219 Set ..DieptePlano = DieptePlanoVoorSwapRecept219 Set BasisDoos.Swap = 0 If (OppTotaleKartonNaSwapRecept209 < OppTotaleKartonVoorSwapRecept219) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept209 Set ..DieptePlano = DieptePlanoNaSwapRecept209 Set BasisDoos.Recipe = 209 Set BasisDoos.Swap = 1 } } ElseIf ($$$Not(SwapRecept219IsBeter) && $$$Not(SwapRecept209IsBeter)) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept219 Set ..DieptePlano = DieptePlanoVoorSwapRecept219 Set BasisDoos.Swap = 0 If (OppTotaleKartonVoorSwapRecept209 < OppTotaleKartonVoorSwapRecept219) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept209 Set ..DieptePlano = DieptePlanoVoorSwapRecept209 Set BasisDoos.Recipe = 209 } } } ]]> 1 1 1 1 1 1 ..#AfmetingBreedsteKarton) { //Breedte grootste karton, als het te breed is wordt er geswapt -> Definitie van swap = 2 Set BreedtePlanoRecept = BasisDoos.Height + BasisDoos.Width + 35 + BasisDoos.Height Set DieptePlanoRecept = (BasisDoos.Height * (1-BasisDoos.AG)) + (2 * BasisDoos.CardBoardThickness) + BasisDoos.Height + BasisDoos.Depth + 75 + BasisDoos.Height + (2 * BasisDoos.CardBoardThickness) + (BasisDoos.Height * (1-BasisDoos.AG)) Set BasisDoos.Swap = 1 } Set ..BreedtePlano = BreedtePlanoRecept Set ..DieptePlano = DieptePlanoRecept } ]]> 1