Index: BL/PPS/TBX/DocsV1.cls.xml =================================================================== diff -u -r72155 -r72994 --- BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 72155) +++ BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 72994) @@ -1204,10 +1204,31 @@ 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("") - #dim UitvoeringLijstIterator AS TECH.ListIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst) //Berekenen en schrijven van property TotaalAantalMattenInToelevering - Do ..ZetTotaalAantalMattenPerToelevering(UitvoeringLijstIterator) + #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 + } Set UitvoeringLijstIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst) //Matten met zelfde dimensies groeperen @@ -1234,38 +1255,10 @@ 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)))){ - Set SamengesteldeLijstIterator = ##class(TECH.ListIterator).%New(SamengesteldeLijst) - #dim LijstVanToeleveringIDs As %ListOfDataTypes = ..GeefLijstVanToeleveringNummersVanMattenlijst(SamengesteldeLijstIterator) - Do SamengesteldeLijstIterator.Reset() + Do Afdrukker.VerwerkUitvoeringInfoLijst(SamengesteldeLijst,ActiviteitParameters) - 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() { @@ -1277,7 +1270,7 @@ else { Do:UitvoeringInfoLijst.Count() Afdrukker.VerwerkUitvoeringInfoLijst(UitvoeringInfoLijst,ActiviteitParameters) } - + Quit MatCnt ]]>