Doosberekenaar voor MERIVOBOX. We gebruiken dezelfde dozen als voor TA'OR BOX, vandaar dat we het dependencies hebben op TA'OR BOX doosklassen. DOM.PM.Verpakking.impl.DoosBerekenaar,DOM.PM.Maatwerk.MVX.impl.Base DOM.PM.Maatwerk.Calc.Common.impl.MVXKenmerken 1 HalffabItemsBoom:DOM.PM.Maatwerk.Calc.HF.HalffabItemsBoom,IngegevenKenmerken:DOM.PM.Maatwerk.Calc.Common.impl.MVXKenmerken,ProductID:DOM.common.ProductID="ProductID" %Status 1 DOM.PM.enu.Variant %Boolean 1 TECH.Integer 1 DOM.PM.Verpakking.impl.Doos 1 %Integer 1 %Integer 1 %Integer FysiekeLadeHoogteMM set FysiekeLadeHoogteMM = TmpFysiekeLadeHoogteMM } Quit FysiekeLadeHoogteMM ]]> 1 DOM.PM.Verpakking.DoosLosseOnderdelen geen LO doos If (..HeeftFrontBevestiging() || ..HeeftGeleider() || ($$$Not(..IngegevenKenmerken.IsBinnenlade) && (..HeeftReling()))) { If (..IngegevenKenmerken.LadeDiepte = ..Enum.LadeDiepte.LadeDiepte550) { Set DoosLosseOnderdelen = ##class(APPS.Halux.PPS.Verpakking.utils.StandaardHulsDefinities).LadeDiepte550() } Elseif (..IngegevenKenmerken.LadeDiepte = ..Enum.LadeDiepte.LadeDiepte500) { Set DoosLosseOnderdelen = ##class(APPS.Halux.PPS.Verpakking.utils.StandaardHulsDefinities).LadeDiepte500() } Elseif (..IngegevenKenmerken.LadeDiepte = ..Enum.LadeDiepte.LadeDiepte450) { Set DoosLosseOnderdelen = ##class(APPS.Halux.PPS.Verpakking.utils.StandaardHulsDefinities).LadeDiepte450() } Elseif (..IngegevenKenmerken.LadeDiepte = ..Enum.LadeDiepte.LadeDiepte400) { Set DoosLosseOnderdelen = ##class(APPS.Halux.PPS.Verpakking.utils.StandaardHulsDefinities).LadeDiepte400() } Elseif (..IngegevenKenmerken.LadeDiepte = ..Enum.LadeDiepte.LadeDiepte350) { Set DoosLosseOnderdelen = ##class(APPS.Halux.PPS.Verpakking.utils.StandaardHulsDefinities).LadeDiepte350() } Else { Set DoosLosseOnderdelen = ##class(APPS.Halux.PPS.Verpakking.impl.DoosLosseOnderdelen).%New() Set DoosLosseOnderdelen.BreedteAndere = ..GeefBreedteAndereLosseOnderdelen() Set DoosLosseOnderdelen.BreedteCorpusProfiel = 10 Set DoosLosseOnderdelen.Diepte = ..IngegevenKenmerken.LadeDiepte Set DoosLosseOnderdelen.Hoogte = 50 If (..HeeftGeleider()) { #dim Geleider as APPS.Halux.PPS.Verpakking.Volume = ..GeefVolumeGeleider() #dim LadeUtils As DOM.PM.Maatwerk.Lade.LadeUtils = ##class(DOM.DomeinContext).Instance().GeefMaatwerkCalcAPI().GeefLadeUtils(..GeefLadeVariant()) #dim FysiekeLadeHoogteMM As %Decimal = ..GeefFysiekeLadeHoogteMM() #dim IsMOfNLade As %Boolean = FysiekeLadeHoogteMM < 120 If ($$$Not(..IngegevenKenmerken.IsBinnenlade) && (..HeeftReling())) { Set FysiekeLadeHoogteMM = LadeUtils.GeefFysiekeLadeHoogteMM(..IngegevenKenmerken.ZijkantHoogte, ..IngegevenKenmerken.IsBinnenlade) } If (IsMOfNLade && (Geleider.Hoogte < Geleider.Breedte) && (Geleider.Breedte < FysiekeLadeHoogteMM)) { Set DoosLosseOnderdelen.Hoogte = Geleider.Breedte Set DoosLosseOnderdelen.BreedteCorpusProfiel = Geleider.Hoogte } Else { Set DoosLosseOnderdelen.Hoogte = Geleider.Hoogte Set DoosLosseOnderdelen.BreedteCorpusProfiel = Geleider.Breedte } Set DoosLosseOnderdelen.Diepte=Geleider.Diepte } Do ..VergrootDoosLosseOnderdelenTotZijkantHoogte(DoosLosseOnderdelen) } } Quit DoosLosseOnderdelen ]]> 1 TECH.Numeric DoosLade:APPS.Halux.PPS.TAORVerpakking.impl.DoosLade,DoosLosseOnderdelen:DOM.PM.Verpakking.DoosLosseOnderdelen 1 ladedoos verhogen If ((..IngegevenKenmerken.LadeHoogte = ..Enum.LadeHoogte.K) && (..IngegevenKenmerken.GeleiderTechnologie = ..Enum.GeleiderTechnologie.TIPONBLUMOTION)) { Set DoosLade.Breedte = DoosLade.Breedte + DoosLosseOnderdelen.GeefExterneHoogte() Set DoosLade.Hoogte = DoosLosseOnderdelen.GeefExterneBreedte() + 5 } Else { Set DoosLade.Breedte = DoosLade.Breedte + DoosLosseOnderdelen.GeefExterneBreedte() } } Else { Set DoosLade.Breedte = DoosLade.Breedte + DoosLosseOnderdelen.GeefExterneHoogte() } If DoosLade.Diepte < DoosLosseOnderdelen.GeefExterneDiepte() { Set DoosLade.Diepte = DoosLosseOnderdelen.GeefExterneDiepte() Set:(DoosLosseOnderdelen.IsStandaardHuls) DoosLade.Diepte = ##class(TECH.Math).Ceil(DoosLade.Diepte) + 5 } if (DoosLosseOnderdelen.IsStandaardHuls) && ( ..IsGeenVerhoogdeOfVerlaagdeLade() ) && (##class(TECH.StringUtils).Equals(..IngegevenKenmerken.LadeHoogte,..Enum.LadeHoogte.N,..Enum.LadeHoogte.M)) { Set DoosLade.Diepte = DoosLade.Diepte + 1 Set DoosLade.Breedte = DoosLade.Breedte + 1 } if (DoosLosseOnderdelen.IsStandaardHuls) && (##class(TECH.StringUtils).Equals(..IngegevenKenmerken.LadeHoogte,..Enum.LadeHoogte.N, ..Enum.LadeHoogte.M)) { Set DoosLade.Breedte = DoosLade.Breedte + 10 } If DoosLade.Hoogte < DoosLosseOnderdelen.GeefExterneHoogte() { set DoosLade.Hoogte = ##class(TECH.Math).Ceil(DoosLosseOnderdelen.GeefExterneHoogte(),10) } ]]> %Boolean %Boolean %Boolean %Boolean 1 DOM.PM.Verpakking.Volume = 50) { #define RobuustereGeleiderExtraBreedte 5 Set Breedte = Breedte + $$$RobuustereGeleiderExtraBreedte #define RobuustereGeleiderExtraHoogte 5 Set Hoogte = Hoogte + $$$RobuustereGeleiderExtraHoogte } Quit ..GeefVolume(Diepte, Breedte, Hoogte) ]]> 1 DOM.PM.Verpakking.Volume