Index: DOM/ProdRes/impl/ProductReservatieIterator.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/ProductReservatieIterator.cls.xml (revision 0)
+++ DOM/ProdRes/impl/ProductReservatieIterator.cls.xml (revision 2161)
@@ -0,0 +1,79 @@
+
+
+
+1
+%RegisteredObject,TECH.Iterator
+0
+
+
+DOM.ProdRes.Reservatie
+list
+1
+
+
+
+DOM.ProdRes.Reservatie
+1
+
+
+
+%String
+1
+
+
+
+Reservatie:DOM.ProdRes.Reservatie,ProductID:%String
+1
+1
+%Status
+
+
+
+
+
+Returns true if the iteration has more elements.
+%Boolean
+
+
+
+
+%CacheString
+
+
+
+
+1
+ 0)
+ {
+ Set Reservatie = ..TeVerwerken.GetAt(..TeVerwerken.Count())
+ Do ..TeVerwerken.RemoveAt(..TeVerwerken.Count())
+ Set KindReservatieIterator = Reservatie.GeefKindReservatieIterator()
+ While (KindReservatieIterator.HasNext())
+ {
+ Do ..TeVerwerken.Insert(KindReservatieIterator.Next())
+ }
+ If (Reservatie.GeefProductID() = ..ProductID)
+ {
+ Set ..Volgende = Reservatie
+ }
+ Else
+ {
+ Do ..BepaalVolgende()
+ }
+ }
+]]>
+
+
+
Index: vhUnitTest/DOM/ProdRes/TestVerwachteUitvoerAPI.cls.xml
===================================================================
diff -u -r2135 -r2161
--- vhUnitTest/DOM/ProdRes/TestVerwachteUitvoerAPI.cls.xml (.../TestVerwachteUitvoerAPI.cls.xml) (revision 2135)
+++ vhUnitTest/DOM/ProdRes/TestVerwachteUitvoerAPI.cls.xml (.../TestVerwachteUitvoerAPI.cls.xml) (revision 2161)
@@ -16,10 +16,10 @@
-
+
+
+
+
+
%Status
TECH.Iterator
+
+1
+%Float
+
+
%Library.CacheStorage
^DOM.ProdRes.ReservatieD
Index: DOM/ProdRes/dto/SamenvoegVoorstellen.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/dto/SamenvoegVoorstellen.cls.xml (revision 0)
+++ DOM/ProdRes/dto/SamenvoegVoorstellen.cls.xml (revision 2161)
@@ -0,0 +1,17 @@
+
+
+
+serial
+1
+%ListOfObjects
+0
+
+
+DOM.ProdRes.dto.SamenvoegVoorstel
+
+
+
+%Library.CompleteCustomStorage
+
+
+
Index: vhUnitTest/DOM/ProdRes/TestVerwachteInvoerAPI.cls.xml
===================================================================
diff -u
--- vhUnitTest/DOM/ProdRes/TestVerwachteInvoerAPI.cls.xml (revision 0)
+++ vhUnitTest/DOM/ProdRes/TestVerwachteInvoerAPI.cls.xml (revision 2161)
@@ -0,0 +1,235 @@
+
+
+
+
+Do ##class(vhUnitTest.Manager).RunTest("/debug/display=all","DOM.ProdRes.TestVerwachteInvoerAPI")
+1
+vhUnitTest.TestCase
+0
+
+
+
+
+
+
+
+
+
+
+0,"De due in is ingesteld")
+ Do $$$AssertEquals(VerwachteInvoer.GeefProductID(),"Product1","De product id")
+ Do $$$AssertEquals(VerwachteInvoer.GeefTransactieReferentie(),"UT Transactieref","De transactiereferentie")
+ Do VerwachteInvoer.ZetTransactieReferentie("UT Transactieref gewijzigd")
+ Do $$$AssertEquals(VerwachteInvoer.GeefTransactieReferentie(),"UT Transactieref gewijzigd","De transactiereferentie gewijzigd")
+ Do $$$AssertEquals(VerwachteInvoer.GeefTransactieLijnReferentie(),"UT Transactielijnref","De transactielijnreferentie")
+ Do VerwachteInvoer.ZetTransactieLijnReferentie("UT Transactielijnref gewijzigd")
+ Do $$$AssertEquals(VerwachteInvoer.GeefTransactieLijnReferentie(),"UT Transactielijnref gewijzigd","De transactielijnreferentie gewijzigd")
+
+ Do VerwachteInvoer.%DeleteId(VerwachteInvoer.%Id())
+]]>
+
+
+
+
+
+
+
+ | P1 210 |
+ // | P1 170 | ---170---> | |
+ // | | +------------+
+ // | | +------------+
+ // | P2 30 | ----15---> | P2 15 |
+ // +------------+ +------------+
+ // \ +------------+
+ // \--15---> | P2 18 |
+ // +------------+
+
+ // Opbouw uitvoer objecten
+
+ Set VerwachteUitvoerAPI = ##class(DOM.DomeinContext).Instance().GeefVerwachteUitvoerAPI()
+
+ Set ReservatieVoorVerwachteUitvoer = ##class(DOM.ProdRes.dto.ReservatieVoorVerwachteUitvoer).%New()
+ Set ReservatieVoorVerwachteUitvoer.TransactieReferentie = "UT uitvoer1"
+ Set ReservatieVoorVerwachteUitvoer.TransactieLijnReferentie = "UT uitvoer1 lijn1"
+ Set ReservatieVoorVerwachteUitvoer.Bedrijf = ##class(DOM.common.enu.Bedrijf).VanHoecke()
+ Set ReservatieMoeder = ##class(DOM.ProdRes.dto.Reservatie).%New()
+ Set ReservatieVoorVerwachteUitvoer.Reservatie = ReservatieMoeder
+ Set ReservatieMoeder.ProductID = "MoederProduct"
+ Set ReservatieMoeder.Aantal = 1 // Aantal maakt hier niet uit
+ Set Reservatie1 = ##class(DOM.ProdRes.dto.Reservatie).%New()
+ Set Reservatie1.ProductID = "P1"
+ Set Reservatie1.Aantal = 50
+ Do ReservatieMoeder.Reservaties.Insert(Reservatie1)
+ Set Reservatie2 = ##class(DOM.ProdRes.dto.Reservatie).%New()
+ Set Reservatie2.ProductID = "P1"
+ Set Reservatie2.Aantal = 170
+ Do ReservatieMoeder.Reservaties.Insert(Reservatie2)
+ Set Reservatie3 = ##class(DOM.ProdRes.dto.Reservatie).%New()
+ Set Reservatie3.ProductID = "P2"
+ Set Reservatie3.Aantal = 30
+ Do ReservatieMoeder.Reservaties.Insert(Reservatie3)
+ Set VerwachteUitvoer = VerwachteUitvoerAPI.RegistreerReservaties(ReservatieVoorVerwachteUitvoer)
+
+ // Opbouw invoer objecten
+
+ Set VerwachteInvoerAPI = ##class(DOM.DomeinContext).Instance().GeefVerwachteInvoerAPI()
+
+ Set VerwachteInvoerInfo = ##class(DOM.ProdRes.dto.VerwachteInvoerInfo).%New()
+ Set VerwachteInvoerInfo.Aantal = 210
+ Set VerwachteInvoerInfo.ProductID = "P1"
+ Set VerwachteInvoerInfo.TransactieReferentie = "UT invoer1"
+ Set VerwachteInvoerInfo.TransactieLijnReferentie = "UT invoer1 lijn1"
+ Set VerwachteInvoer1 = VerwachteInvoerAPI.RegistreerVerwachteInvoer(VerwachteInvoerInfo)
+
+ Set VerwachteInvoerInfo = ##class(DOM.ProdRes.dto.VerwachteInvoerInfo).%New()
+ Set VerwachteInvoerInfo.Aantal = 15
+ Set VerwachteInvoerInfo.ProductID = "P2"
+ Set VerwachteInvoerInfo.TransactieReferentie = "UT invoer2"
+ Set VerwachteInvoerInfo.TransactieLijnReferentie = "UT invoer2 lijn1"
+ Set VerwachteInvoer2 = VerwachteInvoerAPI.RegistreerVerwachteInvoer(VerwachteInvoerInfo)
+
+ Set VerwachteInvoerInfo = ##class(DOM.ProdRes.dto.VerwachteInvoerInfo).%New()
+ Set VerwachteInvoerInfo.Aantal = 18
+ Set VerwachteInvoerInfo.ProductID = "P2"
+ Set VerwachteInvoerInfo.TransactieReferentie = "UT invoer3"
+ Set VerwachteInvoerInfo.TransactieLijnReferentie = "UT invoer3 lijn1"
+ Set VerwachteInvoer3 = VerwachteInvoerAPI.RegistreerVerwachteInvoer(VerwachteInvoerInfo)
+
+ // Registreren van invoer/uitvoer links
+
+ Do VerwachteInvoerAPI.RegistreerInvoerUitvoerLinken(VerwachteInvoer1.%Id(),VerwachteUitvoer.%Id())
+
+ Do $$$AssertEquals(VerwachteInvoer1.GeefAantalGelinkt(),210,"Er zijn 210 producten gelinkt")
+
+ Set ReservatieIterator = VerwachteUitvoer.GeefReservatie().GeefKindReservatieIterator()
+ Set Reservatie1 = ReservatieIterator.Next()
+ Set Reservatie2 = ReservatieIterator.Next()
+ Set Reservatie3 = ReservatieIterator.Next()
+
+ Do $$$AssertEquals(Reservatie1.GeefAantalGelinkt(),40,"40 van de 50 producten zijn gelinkt")
+ Do $$$AssertEquals(Reservatie2.GeefAantalGelinkt(),170,"Alle producten zijn gelinkt")
+ Do $$$AssertEquals(Reservatie3.GeefAantalGelinkt(),0,"Er zijn nog geen producten gelinkt")
+ Do $$$AssertEquals(VerwachteInvoer1.GeefAantalGelinkt(),210,"Alle producten zijn gelinkt")
+
+ Do VerwachteInvoerAPI.RegistreerInvoerUitvoerLinken(VerwachteInvoer2.%Id(),VerwachteUitvoer.%Id())
+
+ Do $$$AssertEquals(Reservatie1.GeefAantalGelinkt(),40,"40 van de 50 producten zijn gelinkt")
+ Do $$$AssertEquals(Reservatie2.GeefAantalGelinkt(),170,"Alle producten zijn gelinkt")
+ Do $$$AssertEquals(Reservatie3.GeefAantalGelinkt(),15,"Er zijn 15 producten gelinkt")
+ Do $$$AssertEquals(VerwachteInvoer2.GeefAantalGelinkt(),15,"Alle producten zijn gelinkt")
+
+ Do VerwachteInvoerAPI.RegistreerInvoerUitvoerLinken(VerwachteInvoer3.%Id(),VerwachteUitvoer.%Id())
+
+ Do $$$AssertEquals(Reservatie1.GeefAantalGelinkt(),40,"40 van de 50 producten zijn gelinkt")
+ Do $$$AssertEquals(Reservatie2.GeefAantalGelinkt(),170,"Alle producten zijn gelinkt")
+ Do $$$AssertEquals(Reservatie3.GeefAantalGelinkt(),30,"Alle producten zijn gelinkt")
+ Do $$$AssertEquals(VerwachteInvoer3.GeefAantalGelinkt(),15,"15 van de 18 producten zijn gelinkt")
+
+ // Verwachte invoer iterator controleren
+
+ Set VerwachteInvoerIterator = VerwachteUitvoer.GeefVerwachteInvoerIterator()
+ Do $$$AssertTrue(VerwachteInvoerIterator.HasNext(),"Element 1 is aanwezig")
+ Do VerwachteInvoerIterator.Next()
+ Do $$$AssertTrue(VerwachteInvoerIterator.HasNext(),"Element 2 is aanwezig")
+ Do VerwachteInvoerIterator.Next()
+ Do $$$AssertTrue(VerwachteInvoerIterator.HasNext(),"Element 3 is aanwezig")
+ Do VerwachteInvoerIterator.Next()
+ Do $$$AssertFalse(VerwachteInvoerIterator.HasNext(),"Er is geen 4de element aanwezig")
+
+ // Samenvoegvoorstel nagaan
+
+ Set VerwachteUitvoerIDs = ##class(%ListOfDataTypes).%New()
+ Do VerwachteUitvoerIDs.Insert(VerwachteUitvoer.%Id())
+ Set SamenvoegVoorstellen = VerwachteInvoerAPI.GeefSamenvoegVoorstellen(VerwachteUitvoerIDs)
+ Do $$$AssertEquals(SamenvoegVoorstellen.Count(),1,"Er is 1 samenvoeg voorstel")
+ Set SamenvoegVoorstel = SamenvoegVoorstellen.GetAt(1)
+ Do $$$AssertEquals(SamenvoegVoorstel.Aantal,15+18,"33 producten kunnen samengevoegd worden")
+ Do $$$AssertEquals(SamenvoegVoorstel.ProductID,"P2","P2 kan worden samengevoegd")
+
+ // Opkuis data
+
+ Do VerwachteUitvoer.%DeleteId(VerwachteUitvoer.%Id())
+ Do VerwachteInvoer1.%DeleteId(VerwachteInvoer1.%Id())
+ Do VerwachteInvoer2.%DeleteId(VerwachteInvoer2.%Id())
+ Do VerwachteInvoer3.%DeleteId(VerwachteInvoer3.%Id())
+]]>
+
+
+
+1
+
+
+
+
+%Status
+
+
+
+
Index: DOM/ProdRes/impl/VerwachteUitvoerImpl.cls.xml
===================================================================
diff -u -r2135 -r2161
--- DOM/ProdRes/impl/VerwachteUitvoerImpl.cls.xml (.../VerwachteUitvoerImpl.cls.xml) (revision 2135)
+++ DOM/ProdRes/impl/VerwachteUitvoerImpl.cls.xml (.../VerwachteUitvoerImpl.cls.xml) (revision 2161)
@@ -107,6 +107,33 @@
]]>
+
+TECH.Iterator
+
+
+
+
+
+Geeft een iterator terug die reservaties teruggeeft voor het opgegeven product id (incl alle subniveaus)
+ProductID:%String
+TECH.Iterator
+
+
+
1
oid:%ObjectIdentity
Index: DOM/ProdRes/impl/TrueReservatieEvaluator.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/TrueReservatieEvaluator.cls.xml (revision 0)
+++ DOM/ProdRes/impl/TrueReservatieEvaluator.cls.xml (revision 2161)
@@ -0,0 +1,15 @@
+
+
+
+1
+%RegisteredObject,DOM.ProdRes.impl.IReservatieIteratorEvaluator
+0
+
+
+Reservatie:DOM.ProdRes.Reservatie
+%Boolean
+
+
+
+
Index: DOM/ProdRes/InvoerUitvoerLink.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/InvoerUitvoerLink.cls.xml (revision 0)
+++ DOM/ProdRes/InvoerUitvoerLink.cls.xml (revision 2161)
@@ -0,0 +1,45 @@
+
+
+
+persistent
+1
+%Persistent
+0
+
+
+1
+%Float
+
+
+
+1
+AantalProducten:%Float
+
+
+
+1
+DOM.ProdRes.VerwachteInvoer
+
+
+
+1
+DOM.ProdRes.Reservatie
+
+
+
+%Library.CacheStorage
+^DOM.ProdRes.InvoerUitvoerLinkD
+InvoerUitvoerLinkDefaultData
+^DOM.ProdRes.InvoerUitvoerLinkD
+^DOM.ProdRes.InvoerUitvoerLinkI
+^DOM.ProdRes.InvoerUitvoerLinkS
+
+listnode
+
+
+%%CLASSNAME
+
+
+
+
+
Index: DOM/ProdRes/VerwachteInvoerAPI.cls.xml
===================================================================
diff -u -r2048 -r2161
--- DOM/ProdRes/VerwachteInvoerAPI.cls.xml (.../VerwachteInvoerAPI.cls.xml) (revision 2048)
+++ DOM/ProdRes/VerwachteInvoerAPI.cls.xml (.../VerwachteInvoerAPI.cls.xml) (revision 2161)
@@ -1,9 +1,54 @@
-
-
1
1
+0
+
+
+1
+VerwachteInvoerID:%String
+
+
+
+
+Voert ook de save uit van de verwachte invoer
+1
+VerwachteInvoerInfo:DOM.ProdRes.dto.VerwachteInvoerInfo
+DOM.ProdRes.VerwachteInvoer
+
+
+
+
+Gaat zelf na of een ID bestaat en gooit een exceptie indien dit niet het geval is
+1
+VerwachteInvoerID:%String
+
+
+
+1
+VerwachteInvoerID:%String
+
+
+
+1
+TransactieReferentie:%String,TransactieLijnReferentie:%String,Bedrijf:DOM.common.enu.Bedrijf
+DOM.ProdRes.VerwachteInvoer
+
+
+
+
+Registreert de nodige invoer-uitvoer-links en doet ook de nodige saves.
+1
+VerwachteInvoerID:%String,VerwachteUitvoerID:%String
+
+
+
+
+Geeft aan voor welke producten bepaalde verwachte invoeren kunnen samengevoegd worden.
+1
+VerwachteUitvoerIDs:%ListOfDataTypes
+DOM.ProdRes.dto.SamenvoegVoorstellen
+
Index: CSC Reservaties.prj.xml
===================================================================
diff -u -r2138 -r2161
--- CSC Reservaties.prj.xml (.../CSC Reservaties.prj.xml) (revision 2138)
+++ CSC Reservaties.prj.xml (.../CSC Reservaties.prj.xml) (revision 2161)
@@ -1,8 +1,9 @@
-
+
+
@@ -14,13 +15,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: DOM/ProdRes/impl/InvoerUitvoerLinkImpl.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/InvoerUitvoerLinkImpl.cls.xml (revision 0)
+++ DOM/ProdRes/impl/InvoerUitvoerLinkImpl.cls.xml (revision 2161)
@@ -0,0 +1,79 @@
+
+
+
+persistent
+1
+DOM.ProdRes.InvoerUitvoerLink
+0
+
+
+%Integer
+1
+
+
+
+AantalProducten:%Integer
+1
+1
+%Status
+
+
+
+
+%Float
+
+
+
+
+AantalProducten:%Float
+
+
+
+
+DOM.ProdRes.VerwachteInvoer
+
+
+
+
+DOM.ProdRes.Reservatie
+
+
+
+
+%Library.CacheStorage
+InvoerUitvoerLinkImplDefaultData
+
+listnode
+"InvoerUitvoerLinkImpl"
+
+AantalProducten
+
+
+
+
+
Index: DOM/ProdRes/VerwachteUitvoer.cls.xml
===================================================================
diff -u -r2049 -r2161
--- DOM/ProdRes/VerwachteUitvoer.cls.xml (.../VerwachteUitvoer.cls.xml) (revision 2049)
+++ DOM/ProdRes/VerwachteUitvoer.cls.xml (.../VerwachteUitvoer.cls.xml) (revision 2161)
@@ -31,16 +31,24 @@
DOM.common.enu.Bedrijf
-
+
1
-DOM.ProdRes.VerwachteInvoer
+TECH.Iterator
1
DOM.ProdRes.Reservatie
+
+
+Geeft een iterator terug die reservaties teruggeeft voor het opgegeven product id (incl alle kindreservaties)
+1
+ProductID:%String
+TECH.Iterator
+
+
%Library.CacheStorage
^DOM.ProdRes.VerwachteUitvoerD
Index: DOM/DomeinContext.cls.xml
===================================================================
diff -u -r2048 -r2161
--- DOM/DomeinContext.cls.xml (.../DomeinContext.cls.xml) (revision 2048)
+++ DOM/DomeinContext.cls.xml (.../DomeinContext.cls.xml) (revision 2161)
@@ -55,6 +55,11 @@
1
+
+TECH.Stack
+1
+
+
DOM.OV.OrderAPI
1
@@ -100,6 +105,11 @@
1
+
+DOM.ProdRes.VerwachteInvoerAPI
+1
+
+
1
DOM.DomeinContext
@@ -125,6 +135,7 @@
Set ..VKPPrijsUitzAPINamen = ##class(TECH.Stack).%New()
Set ..IngegevenKenmerkenAPINamen = ##class(TECH.Stack).%New()
Set ..VerwachteUitvoerAPINamen = ##class(TECH.Stack).%New()
+ Set ..VerwachteInvoerAPINamen = ##class(TECH.Stack).%New()
// Initialize the stacks
Do ..Reset()
Quit $$$OK
@@ -239,6 +250,18 @@
]]>
+
+DOM.ProdRes.VerwachteInvoerAPI
+
+
+
@@ -319,6 +343,14 @@
]]>
+
+%String
+
+
+
Naam:%String
+
+
+Naam:%String
+
+
Index: DOM/ProdRes/impl/ReservatieImpl.cls.xml
===================================================================
diff -u -r2145 -r2161
--- DOM/ProdRes/impl/ReservatieImpl.cls.xml (.../ReservatieImpl.cls.xml) (revision 2145)
+++ DOM/ProdRes/impl/ReservatieImpl.cls.xml (.../ReservatieImpl.cls.xml) (revision 2161)
@@ -3,7 +3,7 @@
persistent
1
-DOM.ProdRes.Reservatie
+DOM.ProdRes.Reservatie,DOM.ProdRes.impl.InvoerUitvoerGekoppeld
0
@@ -177,6 +177,21 @@
Set Reservatie = ReservatieIterator.Next()
Set Status = Reservatie.%DeleteId(Reservatie.%Id())
}
+ Set InvoerUitvoerLinkIterator = Object.GeefInvoerUitvoerLinkIterator()
+ While ($$$ISOK(Status) && InvoerUitvoerLinkIterator.HasNext())
+ {
+ Set InvoerUitvoerLink = InvoerUitvoerLinkIterator.Next()
+ Set VerwachteInvoer = InvoerUitvoerLink.GeefVerwachteInvoer()
+ If ($IsObject(VerwachteInvoer))
+ {
+ Do VerwachteInvoer.VerwijderInvoerUitvoerLink(InvoerUitvoerLink)
+ Set Status = VerwachteInvoer.%Save()
+ }
+ If ($$$ISOK(Status))
+ {
+ Set Status = InvoerUitvoerLink.%DeleteId(InvoerUitvoerLink.%Id())
+ }
+ }
}
Quit Status
]]>
@@ -185,8 +200,12 @@
%Library.CacheStorage
ReservatieImplDefaultData
+
+InvoerUitvoerLinken
+subnode
+"InvoerUitvoerLinken"
+
-listnode
"ReservatieImpl"
Aantal
Index: DOM/ProdRes/impl/ReservatieIterator.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/ReservatieIterator.cls.xml (revision 0)
+++ DOM/ProdRes/impl/ReservatieIterator.cls.xml (revision 2161)
@@ -0,0 +1,79 @@
+
+
+
+1
+%RegisteredObject,TECH.Iterator
+0
+
+
+DOM.ProdRes.Reservatie
+list
+1
+
+
+
+DOM.ProdRes.Reservatie
+1
+
+
+
+DOM.ProdRes.impl.IReservatieIteratorEvaluator
+1
+
+
+
+Reservatie:DOM.ProdRes.Reservatie,ReservatieIteratorEvaluator:DOM.ProdRes.impl.IReservatieIteratorEvaluator
+1
+1
+%Status
+
+
+
+
+
+Returns true if the iteration has more elements.
+%Boolean
+
+
+
+
+%CacheString
+
+
+
+
+1
+ 0)
+ {
+ Set Reservatie = ..TeVerwerken.GetAt(..TeVerwerken.Count())
+ Do ..TeVerwerken.RemoveAt(..TeVerwerken.Count())
+ Set KindReservatieIterator = Reservatie.GeefKindReservatieIterator()
+ While (KindReservatieIterator.HasNext())
+ {
+ Do ..TeVerwerken.Insert(KindReservatieIterator.Next())
+ }
+ If (..ReservatieIteratorEvaluator.IsGeldigeReservatie(Reservatie))
+ {
+ Set ..Volgende = Reservatie
+ }
+ Else
+ {
+ Do ..BepaalVolgende()
+ }
+ }
+]]>
+
+
+
Index: DOM/ProdRes/impl/IReservatieIteratorEvaluator.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/IReservatieIteratorEvaluator.cls.xml (revision 0)
+++ DOM/ProdRes/impl/IReservatieIteratorEvaluator.cls.xml (revision 2161)
@@ -0,0 +1,13 @@
+
+
+
+1
+1
+0
+
+
+Reservatie:DOM.ProdRes.Reservatie
+%Boolean
+
+
+
Index: DOM/ProdRes/dto/VerwachteInvoerInfo.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/dto/VerwachteInvoerInfo.cls.xml (revision 0)
+++ DOM/ProdRes/dto/VerwachteInvoerInfo.cls.xml (revision 2161)
@@ -0,0 +1,32 @@
+
+
+
+1
+%RegisteredObject,%XML.Adaptor
+0
+
+
+%Float
+
+
+
+DOM.common.enu.Bedrijf
+
+
+
+%TimeStamp
+
+
+
+%String
+
+
+
+%String
+
+
+
+%String
+
+
+
Index: DOM/ProdRes/VerwachteInvoer.cls.xml
===================================================================
diff -u -r2048 -r2161
--- DOM/ProdRes/VerwachteInvoer.cls.xml (.../VerwachteInvoer.cls.xml) (revision 2048)
+++ DOM/ProdRes/VerwachteInvoer.cls.xml (.../VerwachteInvoer.cls.xml) (revision 2161)
@@ -6,11 +6,56 @@
%Persistent
0
-
+
1
-DOM.ProdRes.VerwachteUitvoer
+%Float
+
+1
+Aantal:%Float
+
+
+
+1
+DOM.common.enu.Bedrijf
+
+
+
+1
+%TimeStamp
+
+
+
+1
+%String
+
+
+
+1
+%String
+
+
+
+1
+TransactieReferentie:%String
+
+
+
+1
+%String
+
+
+
+1
+TransactieLijnReferentie:%String
+
+
+
+1
+%Float
+
+
%Library.CacheStorage
^DOM.ProdRes.VerwachteInvoerD
Index: DOM/ProdRes/impl/ProductReservatieEvaluator.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/ProductReservatieEvaluator.cls.xml (revision 0)
+++ DOM/ProdRes/impl/ProductReservatieEvaluator.cls.xml (revision 2161)
@@ -0,0 +1,31 @@
+
+
+
+1
+%RegisteredObject,DOM.ProdRes.impl.IReservatieIteratorEvaluator
+0
+
+
+%String
+1
+
+
+
+ProductID:%String
+1
+1
+%Status
+
+
+
+
+Reservatie:DOM.ProdRes.Reservatie
+%Boolean
+
+
+
+
Index: DOM/ProdRes/impl/VerwachteInvoerImpl.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/VerwachteInvoerImpl.cls.xml (revision 0)
+++ DOM/ProdRes/impl/VerwachteInvoerImpl.cls.xml (revision 2161)
@@ -0,0 +1,176 @@
+
+
+
+persistent
+1
+DOM.ProdRes.VerwachteInvoer,DOM.ProdRes.impl.InvoerUitvoerGekoppeld
+0
+
+
+%Float
+1
+
+
+
+DOM.common.enu.Bedrijf
+1
+
+
+
+%TimeStamp
+1
+
+
+
+%String
+1
+
+
+
+%String
+1
+
+
+
+%String
+1
+
+
+
+Bedrijf,TransactieReferentie,TransactieLijnReferentie
+1
+
+
+
+Aantal:%Float,Bedrijf:DOM.common.enu.Bedrijf,DueIn:%TimeStamp,ProductID:%String,TransactieReferentie:%String="",TransactieLijnReferentie:%String=""
+1
+1
+%Status
+
+
+
+
+%Float
+
+
+
+
+Aantal:%Float
+
+
+
+
+DOM.common.enu.Bedrijf
+
+
+
+
+%TimeStamp
+
+
+
+
+%String
+
+
+
+
+%String
+
+
+
+
+TransactieReferentie:%String
+
+
+
+
+%String
+
+
+
+
+TransactieLijnReferentie:%String
+
+
+
+
+1
+oid:%ObjectIdentity
+1
+%Status
+
+
+
+
+%Library.CacheStorage
+VerwachteInvoerImplDefaultData
+
+InvoerUitvoerLinken
+subnode
+"InvoerUitvoerLinken"
+
+
+"VerwachteInvoerImpl"
+
+Aantal
+
+
+Bedrijf
+
+
+DueIn
+
+
+ProductID
+
+
+TransactieReferentie
+
+
+TransactieLijnReferentie
+
+
+
+
+
Index: DOM/ProdRes/impl/VerwachteUitvoerAPIimpl.cls.xml
===================================================================
diff -u -r2145 -r2161
--- DOM/ProdRes/impl/VerwachteUitvoerAPIimpl.cls.xml (.../VerwachteUitvoerAPIimpl.cls.xml) (revision 2145)
+++ DOM/ProdRes/impl/VerwachteUitvoerAPIimpl.cls.xml (.../VerwachteUitvoerAPIimpl.cls.xml) (revision 2161)
@@ -27,7 +27,7 @@
Set Status = VerwachteUitvoer.%Save()
If ($$$ISERR(Status))
{
- Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.SaveFailedException).%New("Kon de reservaties niet opslaan voor transactiereferentie '"_ReservatieVoorVerwachteUitvoer.TransactieReferentie_"' en transactielijnreferentie '"_ReservatieVoorVerwachteInvoer.TransactieLijnReferentie_"'",Status))
+ Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.SaveFailedException).%New("Kon de reservaties niet opslaan voor transactiereferentie '"_ReservatieVoorVerwachteUitvoer.TransactieReferentie_"' en transactielijnreferentie '"_ReservatieVoorVerwachteUitvoer.TransactieLijnReferentie_"'",Status))
}
Quit VerwachteUitvoer
@@ -73,7 +73,7 @@
Set Status = ##class(DOM.ProdRes.VerwachteUitvoer).%DeleteId(VerwachteUitvoerID)
If ($$$ISERR(Status))
{
- Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.StatusException).%New("Kon verwachte uitvoer "_VerwachteUitvoerID_" niet verwijderen",Status))
+ Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.StatusException).%New(##class(TECH.enu.ExceptionCode).GeneralError(),"Kon verwachte uitvoer "_VerwachteUitvoerID_" niet verwijderen",Status))
}
]]>
@@ -84,7 +84,7 @@
Set Status = ##class(DOM.ProdRes.VerwachteUitvoer).%DeleteId(VerwachteUitvoerID)
If ($$$ISERR(Status))
{
- Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.StatusException).%New("Kon verwachte uitvoer "_VerwachteUitvoerID_" niet verwijderen",Status))
+ Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.StatusException).%New(##class(TECH.enu.ExceptionCode).GeneralError(),"Kon verwachte uitvoer "_VerwachteUitvoerID_" niet verwijderen",Status))
}
]]>
Index: DOM/ProdRes/dto/SamenvoegVoorstel.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/dto/SamenvoegVoorstel.cls.xml (revision 0)
+++ DOM/ProdRes/dto/SamenvoegVoorstel.cls.xml (revision 2161)
@@ -0,0 +1,21 @@
+
+
+
+1
+%RegisteredObject,%XML.Adaptor
+0
+
+
+%Float
+
+
+
+%String
+
+
+
+%String
+list
+
+
+
Index: DOM/ProdRes/impl/InvoerUitvoerGekoppeld.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/InvoerUitvoerGekoppeld.cls.xml (revision 0)
+++ DOM/ProdRes/impl/InvoerUitvoerGekoppeld.cls.xml (revision 2161)
@@ -0,0 +1,48 @@
+
+
+
+1
+1
+0
+
+
+DOM.ProdRes.InvoerUitvoerLink
+array
+1
+
+
+
+
+Een invoeruitvoerlink kan pas geregistreerd worden indien deze vooraf werd opgeslagen
+InvoerUitvoerLink:DOM.ProdRes.InvoerUitvoerLink
+
+
+
+
+InvoerUitvoerLink:DOM.ProdRes.InvoerUitvoerLink
+
+
+
+
+%Float
+
+
+
+
+TECH.ListIterator
+
+
+
+
Index: DOM/ProdRes/impl/VerwachteInvoerAPIimpl.cls.xml
===================================================================
diff -u
--- DOM/ProdRes/impl/VerwachteInvoerAPIimpl.cls.xml (revision 0)
+++ DOM/ProdRes/impl/VerwachteInvoerAPIimpl.cls.xml (revision 2161)
@@ -0,0 +1,172 @@
+
+
+
+1
+%RegisteredObject,DOM.ProdRes.VerwachteInvoerAPI
+0
+
+
+VerwachteInvoerID:%String
+
+
+
+
+VerwachteInvoerInfo:DOM.ProdRes.dto.VerwachteInvoerInfo
+DOM.ProdRes.VerwachteInvoer
+
+
+
+
+VerwachteInvoerID:%String
+
+
+
+
+VerwachteInvoerID:%String
+
+
+
+
+TransactieReferentie:%String,TransactieLijnReferentie:%String,Bedrijf:DOM.common.enu.Bedrijf
+DOM.ProdRes.VerwachteInvoer
+
+
+
+
+VerwachteInvoerID:%String,VerwachteUitvoerID:%String
+ 0 && ProductReservatieIterator.HasNext())
+ {
+ Set Reservatie = ProductReservatieIterator.Next()
+ Set AantalTeLinkenReservatie = Reservatie.GeefAantal() - Reservatie.GeefAantalGelinkt()
+ If (AantalTeLinkenReservatie > AantalTeLinkenInvoer)
+ {
+ Set AantalTeLinkenReservatie = AantalTeLinkenInvoer
+ }
+ If (AantalTeLinkenReservatie > 0)
+ {
+ Set InvoerUitvoerLink = ##class(DOM.ProdRes.impl.InvoerUitvoerLinkImpl).%New(AantalTeLinkenReservatie)
+ Set Status = InvoerUitvoerLink.%Save()
+ If ($$$ISERR(Status)) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.SaveFailedException).%New("Kon de invoeruitvoerlink niet opslaan",Status)) }
+ Do VerwachteInvoer.RegistreerInvoerUitvoerLink(InvoerUitvoerLink)
+ Do Reservatie.RegistreerInvoerUitvoerLink(InvoerUitvoerLink)
+ Set AantalTeLinkenInvoer = AantalTeLinkenInvoer - AantalTeLinkenReservatie
+ Set Status = VerwachteInvoer.%Save()
+ If ($$$ISERR(Status)) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.SaveFailedException).%New("Kon de verwachte invoer niet opslaan",Status)) }
+ Set Status = Reservatie.%Save()
+ If ($$$ISERR(Status)) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.SaveFailedException).%New("Kon de reservatie niet opslaan",Status)) }
+ }
+ }
+ Do OperatieScope.Gelukt()
+ Quit
+RegistreerFout
+ Set $ZTRAP = ""
+ Do OperatieScope.Gefaald()
+ Do ##class(TECH.ExceptionHandler).Rethrow()
+]]>
+
+
+
+
+Geeft aan voor welke producten bepaalde verwachte invoeren kunnen samengevoegd worden.
+VerwachteUitvoerIDs:%ListOfDataTypes
+DOM.ProdRes.dto.SamenvoegVoorstellen
+ 1)
+ {
+ Set SamenvoegVoorstel = ##class(DOM.ProdRes.dto.SamenvoegVoorstel).%New()
+ Set SamenvoegVoorstel.Aantal = 0
+ Set SamenvoegVoorstel.ProductID = VerwachteInvoerLijstIterator.Key()
+ Set VerwachteInvoerIterator = ##class(TECH.ListIterator).%New(VerwachteInvoerLijst)
+ While (VerwachteInvoerIterator.HasNext())
+ {
+ Set VerwachteInvoer = VerwachteInvoerIterator.Next()
+ Do SamenvoegVoorstel.VerwachteInvoerIDs.Insert(VerwachteInvoer.%Id())
+ Set SamenvoegVoorstel.Aantal = SamenvoegVoorstel.Aantal + VerwachteInvoer.GeefAantal()
+ }
+ Do SamenvoegVoorstellen.Insert(SamenvoegVoorstel)
+ }
+ }
+
+ Quit SamenvoegVoorstellen
+]]>
+
+
+
Index: DOM/ProdRes/VerwachteUitvoerAPI.cls.xml
===================================================================
diff -u -r2136 -r2161
--- DOM/ProdRes/VerwachteUitvoerAPI.cls.xml (.../VerwachteUitvoerAPI.cls.xml) (revision 2136)
+++ DOM/ProdRes/VerwachteUitvoerAPI.cls.xml (.../VerwachteUitvoerAPI.cls.xml) (revision 2161)
@@ -28,8 +28,6 @@
-
-Gooit een exceptie indien meerdere resultaten werden gevonden.
1
TransactieReferentie:%String,TransactieLijnReferentie:%String,Bedrijf:DOM.common.enu.Bedrijf
DOM.ProdRes.VerwachteUitvoer