Index: DOM/PM/impl/DataM/DataMProductAPI.cls.xml =================================================================== diff -u -r2842 -r2851 --- DOM/PM/impl/DataM/DataMProductAPI.cls.xml (.../DataMProductAPI.cls.xml) (revision 2842) +++ DOM/PM/impl/DataM/DataMProductAPI.cls.xml (.../DataMProductAPI.cls.xml) (revision 2851) @@ -52,39 +52,13 @@ { Set Product = ##class(DOM.PM.TAOOProduct.impl.TAOOLadeImpl).%New(ProductNummer) } - ElseIf (##class(TECH.StringUtils).StartsWith($LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",ProductNummer,"BasisType")),"RUG")) - { - If ($LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",ProductNummer,"BasisType")) [ "RUGSTRK") // Bij problemen eventueel beter : ... ? 1(1"RL",1"RLH",1"RLTUS",1"FRONTRL") OPM: "RLALU" is geen reling maar een adapter-stukje - { - Set Product = ##class(DOM.PM.TBXProduct.impl.TBXRugStrookImpl).%New(ProductNummer) - } - Else - { - Set Product = ##class(DOM.PM.TBXProduct.impl.TBXRugOpMaatImpl).%New(ProductNummer) - } - } - ElseIf ($LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",ProductNummer,"BasisType")) [ "RL") // Bij problemen eventueel beter : ... ? 1(1"RL",1"RLH",1"RLTUS",1"FRONTRL") OPM: "RLALU" is geen reling maar een adapter-stukje - { - Set Product = ##class(DOM.PM.TBXProduct.impl.TBXRelingImpl).%New(ProductNummer) - } - ElseIf ($LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",ProductNummer,"BasisType")) [ "BODEM") // Bij problemen eventueel beter : ... ? 1(1"RL",1"RLH",1"RLTUS",1"FRONTRL") OPM: "RLALU" is geen reling maar een adapter-stukje - { - If ($LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",ProductNummer,"BasisType")) [ "BODEMSTRK") // Bij problemen eventueel beter : ... ? 1(1"RL",1"RLH",1"RLTUS",1"FRONTRL") OPM: "RLALU" is geen reling maar een adapter-stukje - { - Set Product = ##class(DOM.PM.TBXProduct.impl.TBXBodemStrookImpl).%New(ProductNummer) - } - Else - { - Set Product = ##class(DOM.PM.TBXProduct.impl.TBXBodemOpMaatImpl).%New(ProductNummer) - } - } ElseIf ($$ISORGAL^ORGALUX(ProductNummer)) { If ($Piece(^KPR(ProductNummer,"I1"),"\",4) = 1327) // orgalux dwarslat op maat classificatie { Set Product = ##class(DOM.PM.impl.MaatwerkProductImpl).%New(ProductNummer) } - Else + Else { Set Product = ##class(DOM.PM.OLProduct.impl.OLProductImpl).%New(ProductNummer) } @@ -99,8 +73,44 @@ } Else { + Set BasisType = $LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",ProductNummer,"BasisType")) + If (BasisType = "RUGH") + { + Set Product = ##class(DOM.PM.TBXProduct.impl.TBXRughouderImpl).%New(ProductNummer) + } + ElseIf (##class(TECH.StringUtils).StartsWith(BasisType,"RUG")) + { + If (BasisType [ "RUGSTRK") // Bij problemen eventueel beter : ... ? 1(1"RL",1"RLH",1"RLTUS",1"FRONTRL") OPM: "RLALU" is geen reling maar een adapter-stukje + { + Set Product = ##class(DOM.PM.TBXProduct.impl.TBXRugStrookImpl).%New(ProductNummer) + } + Else + { + Set Product = ##class(DOM.PM.TBXProduct.impl.TBXRugOpMaatImpl).%New(ProductNummer) + } + } + ElseIf (BasisType [ "RL") // Bij problemen eventueel beter : ... ? 1(1"RL",1"RLH",1"RLTUS",1"FRONTRL") OPM: "RLALU" is geen reling maar een adapter-stukje + { + Set Product = ##class(DOM.PM.TBXProduct.impl.TBXRelingImpl).%New(ProductNummer) + } + ElseIf (BasisType [ "BODEM") // Bij problemen eventueel beter : ... ? 1(1"RL",1"RLH",1"RLTUS",1"FRONTRL") OPM: "RLALU" is geen reling maar een adapter-stukje + { + If (BasisType [ "BODEMSTRK") // Bij problemen eventueel beter : ... ? 1(1"RL",1"RLH",1"RLTUS",1"FRONTRL") OPM: "RLALU" is geen reling maar een adapter-stukje + { + Set Product = ##class(DOM.PM.TBXProduct.impl.TBXBodemStrookImpl).%New(ProductNummer) + } + Else + { + Set Product = ##class(DOM.PM.TBXProduct.impl.TBXBodemOpMaatImpl).%New(ProductNummer) + } + } + } + + If ('$IsObject(Product)) + { Set Product = ##class(DOM.PM.impl.ProductImpl).%New(ProductNummer) } + Quit Product ]]>