Index: APPS/PM/Probox/dto/WikkelInfo.cls.xml =================================================================== diff -u --- APPS/PM/Probox/dto/WikkelInfo.cls.xml (revision 0) +++ APPS/PM/Probox/dto/WikkelInfo.cls.xml (revision 505) @@ -0,0 +1,43 @@ + + + +1 +%RegisteredObject +0 + + +%Float +1 + + + +%Integer +1 + + + +Lengte:%Float,Aantal:%Integer +1 +1 +%Status + + + + +%Float + + + + +%Integer + + + + Index: APPS/PM/Probox/Calculator.cls.xml =================================================================== diff -u --- APPS/PM/Probox/Calculator.cls.xml (revision 0) +++ APPS/PM/Probox/Calculator.cls.xml (revision 505) @@ -0,0 +1,362 @@ + + + +TECH.Error +1 +%RegisteredObject +0 + + +1 +LadeVariant:DOM.PM.enu.LadeVariant,IsBinnenlade:%Boolean,LadeDiepte:%Integer,LadeHoogte:%String,LadeZijkantHoogte:%String +%Float + 550) { + // Binnenlades van 270mm tot 550mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "M" : 0.13 , + "K" : 0.17 , + "B" : 0.20 , + "C" : 0.25 , + "D" : 0.33 , + : "") + } + Else { + // Binnenlades groter dan, dus 600mm en 650mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "M" : 0.20 , + "K" : 0.25 , + "B" : 0.33 , + "C" : 0.33 , + "D" : 0.50 , + : "") + } + } + Else { + If (LadeDiepte '> 550) { + // Lades van 270mm tot 550mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "N" : 0.10 , + "M" : 0.13 , + "K" : 0.17 , + "B" : 0.13 , + "C" : 0.17 , + "D" : 0.13 , + : "") + } + Else { + // Lades groter dan, dus 600mm en 650mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "N" : 0.14 , + "M" : 0.17 , + "K" : 0.25 , + "B" : 0.17 , + "C" : 0.25 , + "D" : 0.17 , + : "") + } + } + } + ElseIf LadeVariant=##class(DOM.PM.enu.LadeVariant).TBXIntivo() { + If IsBinnenlade { + If (LadeDiepte '> 550) { + // Binnenlades van 270mm tot 550mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "M" : 0.13 , + "C" : 0.25 , + "D" : 0.33 , + : "") + } + Else { + // Binnenlades groter dan, dus 600mm en 650mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "M" : 0.20 , + "C" : 0.33 , + "D" : 0.50 , + : "") + } + } + Else { + If (LadeDiepte '> 550) { + // Lades van 270mm tot 550mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "N" : 0.10 , + "M" : 0.13 , + "C" : 0.14 , + "D" : 0.14 , + : "") + } + Else { + // Lades groter dan, dus 600mm en 650mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "N" : 0.14 , + "M" : 0.17 , + "C" : 0.20 , + "D" : 0.20 , + : "") + } + } + } + ElseIf LadeVariant=##class(DOM.PM.enu.LadeVariant).TBXAntaro() { + If IsBinnenlade { + If (LadeDiepte '> 550) { + // Binnenlades van 270mm tot 550mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "M" : 0.13 , + "K" : 0.17 , + "B" : 0.20 , + "C" : 0.25 , + "D" : 0.33 , + : "") + ; hierboven geen onderscheid nodig tussen DK/Z en DM/Z-lades + } + Else { + // Binnenlades groter dan, dus 600mm en 650mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "M" : 0.20 , + "K" : 0.25 , + "B" : 0.33 , + "C" : 0.33 , + "D" : 0.50 , + : "") + ; hierboven geen onderscheid nodig tussen DK/Z en DM/Z-lades + } + } + Else { + If (LadeDiepte '> 550) { + // Lades van 270mm tot 550mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "N" : 0.10 , + "M" : 0.13 , + "K" : 0.17 , + "B" : 0.13 , + "C" : 0.13 , + "D" : $S(LadeZijkantHoogte="K":0.17, 1: 0.13) , + : "") + } + Else { + // Lades groter dan, dus 600mm en 650mm diep + Set OppervlakteAandeel=$Case(LadeHoogte, + "N" : 0.14 , + "M" : 0.17 , + "K" : 0.17 , + "B" : 0.17 , + "C" : 0.17 , + "D" : $S(LadeZijkantHoogte="K":0.25, 1: 0.17) , + : "") + } + } + } + Else { + Set OppervlakteAandeel="" + } + + If OppervlakteAandeel="" { + set Message = "Ongeldige waarde voor berekening van OppervlakteAandeel; input params "_$$$LCVT($LB("LadeVariant : "_LadeVariant,"IsBinnenlade : "_IsBinnenlade,"LadeDiepte : "_LadeDiepte,"LadeHoogte :"_LadeHoogte))_"." + set Exception = ##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).InvalidInput(),Message) + Do ##class(TECH.ExceptionHandler).Throw(Exception) + } + + Quit OppervlakteAandeel +]]> + + + +1 +LadeBreedte:%Float +%Float +600 { + Set HoogteAandeel = $$$MinHoogteAandeel + } + Else { + Set HoogteAandeel = ((LadeBreedte-600)*(1/3000)) + $$$MinHoogteAandeel + } + Set:(HoogteAandeel>1) HoogteAandeel=1 + Quit HoogteAandeel +]]> + + + +1 +LadeVariant:DOM.PM.enu.LadeVariant,IsBinnenlade:%Boolean,LadeDiepte:%Integer,LadeHoogte:%String,LadeZijkantHoogte:%String,LadeBreedte:%Float +%Float + + + + +1 +Lade:DOM.PM.TBXProduct.TBXLade +%Float + + + + +1 +LadeVariant:DOM.PM.enu.LadeVariant,IsBinnenlade:%Boolean,LadeHoogte:%String,LadeZijkantHoogte:%String +%Float + + + + +1 +LadeVariant:DOM.PM.enu.LadeVariant,IsBinnenlade:%Boolean,LadeHoogte:%String,LadeZijkantHoogte:%String,LadeBreedte:%Float +APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo + 900 { + Set WikkelInfo=##class(APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo).%New(900,1) + } + ElseIf WikkelLengte '> 1250 { + Set WikkelInfo=##class(APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo).%New(1250,1) + } + Else { + Set WikkelInfo=##class(APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo).%New(900,2) + } + + Quit WikkelInfo +]]> + + + +1 +Lade:DOM.PM.TBXProduct.TBXLade +APPS.PM.Maatwerk.TBX.Probox.dto.WikkelInfo + + + + +1 +LadeDiepte:%Integer +%Float +550 { + Set WikkelDiepte = 520 + } + Else { + Set WikkelDiepte = 650 + } + + Quit WikkelDiepte +]]> + + +