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
+]]>
+
+
+