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