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