Index: BL/PPS/TBX/DocsV1.cls.xml
===================================================================
diff -u -r71950 -r72155
--- BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 71950)
+++ BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 72155)
@@ -1204,31 +1204,10 @@
Set SamengesteldeLijst = ##class(APPS.Halux.PPS.dto.UitvoeringInfoLijst).%New()
#dim SamengesteldeLijstIterator AS TECH.ListIterator = ##class(TECH.ListIterator).%New(SamengesteldeLijst)
#dim LijstAantallen As %ListOfDataTypes = ##class(%ListOfDataTypes).%New("")
-
- //Berekenen en schrijven van property TotaalAantalMattenInToelevering
#dim UitvoeringLijstIterator AS TECH.ListIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst)
- #dim HuidigeMat, VorigeMat As APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo = ""
- #dim AantalMattenVoorDezeToelevering As %Integer = 0
- while UitvoeringLijstIterator.HasNext() {
- #dim Object = UitvoeringLijstIterator.Next()
- Set HuidigeMat = Object
-
- If ($IsObject(Object) && (Object.%ClassName(1)="APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo")) {
- If ((VorigeMat = "") || ($Piece(VorigeMat.ToeDos, ":",1) = $Piece(HuidigeMat.ToeDos, ":",1))) {
- Set AantalMattenVoorDezeToelevering = AantalMattenVoorDezeToelevering + HuidigeMat.Aantal
- }
-
- If ($$$Not(VorigeMat = "") && $$$Not($Piece(VorigeMat.ToeDos, ":",1) = $Piece(HuidigeMat.ToeDos, ":",1))) {
- Set VorigeMat.TotaalAantalMattenInToelevering = AantalMattenVoorDezeToelevering
- Set AantalMattenVoorDezeToelevering = HuidigeMat.Aantal
- }
- Set VorigeMat = HuidigeMat
- }
- }
- If $IsObject(VorigeMat) {
- Set VorigeMat.TotaalAantalMattenInToelevering = AantalMattenVoorDezeToelevering
- }
+ //Berekenen en schrijven van property TotaalAantalMattenInToelevering
+ Do ..ZetTotaalAantalMattenPerToelevering(UitvoeringLijstIterator)
Set UitvoeringLijstIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst)
//Matten met zelfde dimensies groeperen
@@ -1255,10 +1234,38 @@
set ActiviteitParameters = ##class(APPS.Halux.PPS.Activiteit.ActiviteitParameters).%New()
set ActiviteitParameters.Printer = ..Printer
+ //1 document per toelevering van de mattenlijst en per document het totaal # matten weergeven
set Afdrukker = ##class(APPS.Halux.PPS.Document.impl.GekoppeldeIK.Matten).%New()
If ((SamengesteldeLijst.Count()>0) && (..IsProductiegroepKastOfPallet(Batch) || (..IsProductiegroepProbox(Batch)))){
- Do Afdrukker.VerwerkUitvoeringInfoLijst(SamengesteldeLijst,ActiviteitParameters)
+ Set SamengesteldeLijstIterator = ##class(TECH.ListIterator).%New(SamengesteldeLijst)
+ #dim LijstVanToeleveringIDs As %ListOfDataTypes = ..GeefLijstVanToeleveringNummersVanMattenlijst(SamengesteldeLijstIterator)
+ Do SamengesteldeLijstIterator.Reset()
+ Set SamengesteldeLijstPerToelevering = ##class(APPS.Halux.PPS.dto.UitvoeringInfoLijst).%New()
+ Set ToeleveringIDIterator = ##class(TECH.ListIterator).%New(LijstVanToeleveringIDs)
+
+ While ToeleveringIDIterator.HasNext() {
+ #dim ToeleveringID As %Integer = ToeleveringIDIterator.Next()
+ #dim TotaalAantalMattenInToelevering As %Integer = 0
+
+ Set SamengesteldeLijstPerToelevering = ##class(APPS.Halux.PPS.dto.UitvoeringInfoLijst).%New()
+ #dim HuidigeToelevNr As %String = SamengesteldeLijst.GetAt(1).ToeleveringID
+ While SamengesteldeLijstIterator.HasNext() {
+ Set Mat = SamengesteldeLijstIterator.Next()
+
+ If (Mat.ToeleveringID = ToeleveringID) {
+ Set Mat.TotaalAantalMattenInToelevering = ""
+ Do SamengesteldeLijstPerToelevering.Insert(Mat)
+ Set TotaalAantalMattenInToelevering = TotaalAantalMattenInToelevering + Mat.Aantal
+ }
+ }
+
+ Set Mat = SamengesteldeLijstPerToelevering.GetAt(SamengesteldeLijstPerToelevering.Count())
+ Set Mat.TotaalAantalMattenInToelevering = TotaalAantalMattenInToelevering
+ Do Afdrukker.VerwerkUitvoeringInfoLijst(SamengesteldeLijstPerToelevering,ActiviteitParameters)
+ Do SamengesteldeLijstIterator.Reset()
+ }
+
Do UitvoeringLijstIterator.Reset()
#dim i = 1
While UitvoeringLijstIterator.HasNext() {
@@ -1270,11 +1277,60 @@
else {
Do:UitvoeringInfoLijst.Count() Afdrukker.VerwerkUitvoeringInfoLijst(UitvoeringInfoLijst,ActiviteitParameters)
}
-
+
Quit MatCnt
]]>
+
+UitvoeringLijstIterator:TECH.ListIterator
+1
+
+
+
+
+SamengesteldeLijstIterator:TECH.ListIterator
+1
+%ListOfDataTypes
+
+
+
TBXQueue:DS.PPS.TBX.Queue
APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo