Index: APPS/PM/Maatwerk/OLM/OrgaluxOpMaatFactory.cls.xml =================================================================== diff -u -r1073 -r1102 --- APPS/PM/Maatwerk/OLM/OrgaluxOpMaatFactory.cls.xml (.../OrgaluxOpMaatFactory.cls.xml) (revision 1073) +++ APPS/PM/Maatwerk/OLM/OrgaluxOpMaatFactory.cls.xml (.../OrgaluxOpMaatFactory.cls.xml) (revision 1102) @@ -18,14 +18,15 @@ Do ##class(TECH.ExceptionHandler).Throw(##class(APPS.PM.Maatwerk.OLM.OrgaluxOpMaatException).%New(##class(TECH.enu.ExceptionCode).InvalidInput(),"Er zijn geen of meerdere in te korten producten in dit orgalux product")) } - Set Classificatie = ##class(DOM.DomeinContext).Instance().GeefProductAPI().GeefProductClassificatie(InTeKortenKinderen.GetAt(1).GeefProduct().GeefPRNr()).GeefSubGroep() + Set InTeKortenProduct = InTeKortenKinderen.GetAt(1).GeefProduct() + Set Classificatie = ##class(DOM.DomeinContext).Instance().GeefProductAPI().GeefProductClassificatie(InTeKortenProduct.GeefPRNr()).GeefSubGroep() Set OrgaluxOpMaatFactory = "" If (Classificatie = "BX-ACC-ORG/BL") { Set OrgaluxOpMaatFactory = ##class(APPS.PM.Maatwerk.OLM.impl.DwarslatOpMaatFactory).%New() } - ElseIf (Classificatie = "ZZ-INZ-MAM/HA") + ElseIf (InTeKortenProduct.%Extends("DOM.PM.ASMProduct.ASMAntislipmat")) { Set OrgaluxOpMaatFactory = ##class(APPS.PM.Maatwerk.OLM.impl.AntislipmatOpMaatFactory).%New() } Index: APPS/PM/Maatwerk/OLM/impl/DwarslatOpMaatFactory.cls.xml =================================================================== diff -u -r1073 -r1102 --- APPS/PM/Maatwerk/OLM/impl/DwarslatOpMaatFactory.cls.xml (.../DwarslatOpMaatFactory.cls.xml) (revision 1073) +++ APPS/PM/Maatwerk/OLM/impl/DwarslatOpMaatFactory.cls.xml (.../DwarslatOpMaatFactory.cls.xml) (revision 1102) @@ -6,7 +6,7 @@ 0 -TeVervangenProduct:DOM.PM.Product +TeVervangenProduct:DOM.PM.Product,BreedteOLProduct:%Integer %Integer - -%Integer - - - %Float - - -OrgaluxProduct:DOM.PM.OLProduct.OLProduct,InbouwBreedte:%Integer -%String - - Index: APPS/PM/Maatwerk/OLM/impl/AntislipmatOpMaatFactory.cls.xml =================================================================== diff -u -r1073 -r1102 --- APPS/PM/Maatwerk/OLM/impl/AntislipmatOpMaatFactory.cls.xml (.../AntislipmatOpMaatFactory.cls.xml) (revision 1073) +++ APPS/PM/Maatwerk/OLM/impl/AntislipmatOpMaatFactory.cls.xml (.../AntislipmatOpMaatFactory.cls.xml) (revision 1102) @@ -1,9 +1,55 @@ - - 1 APPS.PM.Maatwerk.OLM.impl.AbstractOpMaatFactory +0 + + +%Float + + + + +TeVervangenProduct:DOM.PM.Product,BreedteOLProduct:%Integer +%Integer + + + + +InTeKortenProduct:DOM.PM.Product,TeVervangenProduct:DOM.PM.Product,TeBekomenLengte:%Integer,Aantal:%Integer +1 +DOM.PM.Product + + Index: APPS/PM/Maatwerk/OLM/impl/AbstractOpMaatFactory.cls.xml =================================================================== diff -u -r1073 -r1102 --- APPS/PM/Maatwerk/OLM/impl/AbstractOpMaatFactory.cls.xml (.../AbstractOpMaatFactory.cls.xml) (revision 1073) +++ APPS/PM/Maatwerk/OLM/impl/AbstractOpMaatFactory.cls.xml (.../AbstractOpMaatFactory.cls.xml) (revision 1102) @@ -18,6 +18,7 @@ Set ToeTeVoegenKinderen = OrgaluxProduct.GeefInkortInfo().GeefToeTeVoegenKinderen() Set BreedteOLProduct = ..GeefBreedteOrgaluxProduct(OrgaluxProduct) + If (InbouwBreedte >= BreedteOLProduct) { Do ##class(TECH.ExceptionHandler).Throw(##class(APPS.PM.Maatwerk.OLM.OrgaluxOpMaatException).%New(##class(TECH.enu.ExceptionCode).InvalidInput(),"De inbouwbreedte mag niet groter zijn dan het ORGALUX product")) @@ -31,7 +32,7 @@ // Bepalen van het product dat moet verwijderd worden Set TeVervangenProduct = TeVervangenKinderen.GetAt(1).GeefProduct() - Set BreedteInTeKortenProduct = ..GeefBreedteTeVervangenProduct(TeVervangenProduct) + Set BreedteInTeKortenProduct = ..GeefBreedteTeVervangenProduct(TeVervangenProduct,BreedteOLProduct) Kill ^PRBS("BS",PRNr,TeVervangenKinderen.GetAt(1).GeefID()) @@ -44,7 +45,7 @@ Set AantalInTeKorten = InTeKortenKinderen.GetAt(1).GeefAantal() Set InTeKortenNaar = InbouwBreedte - (BreedteOLProduct - BreedteInTeKortenProduct) - Set IngekortProduct = ..BerekenIngekortProduct(InTeKortenPRNr, InTeKortenNaar, AantalInTeKorten) + Set IngekortProduct = ..BerekenIngekortProduct(InTeKortenProduct, TeVervangenProduct, InTeKortenNaar, AantalInTeKorten) Set VrijLabel = $Order(^PRBS("BS",PRNr,"KIND.999"),-1) Set VolgendNr = $E(1000+$Piece(VrijLabel,".",2)+1,2,4) Set ^PRBS("BS",PRNr,"KIND."_VolgendNr) = IngekortProduct.GeefPRNr()_"\"_AantalInTeKorten_"\K\\\\\\\\PROD\" @@ -62,7 +63,7 @@ Set $Piece(^KPR(PRNr,0),"\",1) = ..GeefKorttekstIngekortProduct(OrgaluxProduct, InbouwBreedte) // Classficiatie correct instellen - Set Classificatie = ..GeefClassificatieID() + Set Classificatie = ProductAPI.GeefOrgaluxOpMaatClassificatie().GeefID() Set $Piece(^KPR(PRNr,"I1"),"\",1) = $$GETSORT^KLASS(Classificatie,1) Set $Piece(^KPR(PRNr,"I1"),"\",2) = $$GETSORT^KLASS(Classificatie,2) Set $Piece(^KPR(PRNr,"I1"),"\",3) = $$GETSORT^KLASS(Classificatie,3) @@ -120,24 +121,22 @@ 1 -TeVervangenProduct:DOM.PM.Product +TeVervangenProduct:DOM.PM.Product,BreedteOLProduct:%Integer %Integer - -1 -%Integer - - 1 %Float -1 OrgaluxProduct:DOM.PM.OLProduct.OLProduct,InbouwBreedte:%Integer %String + @@ -155,7 +154,7 @@ -InTeKortenPRNr:%Integer,TeBekomenLengte:%Integer,Aantal:%Integer +InTeKortenProduct:DOM.PM.Product,TeVervangenProduct:DOM.PM.Product,TeBekomenLengte:%Integer,Aantal:%Integer 1 DOM.PM.Product