Index: APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml =================================================================== diff -u -r72153 -r72154 --- APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml (.../WerklijstItemsUitvoerder.cls.xml) (revision 72153) +++ APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml (.../WerklijstItemsUitvoerder.cls.xml) (revision 72154) @@ -68,12 +68,8 @@ #dim SamengesteldeLijstIterator AS TECH.ListIterator = ##class(TECH.ListIterator).%New(SamengesteldeLijst) #dim UitvoeringLijstIterator AS TECH.ListIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst) #dim LijstAantallen As %ListOfDataTypes = ##class(%ListOfDataTypes).%New("") - #dim ObjectIsMat As %Boolean = $$$False + #dim ObjectIsMat As %Boolean = $$$False - //Berekenen en schrijven van property TotaalAantalMattenInToelevering - Do ..ZetTotaalAantalMattenPerToelevering(UitvoeringLijstIterator) - Set UitvoeringLijstIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst) - Do ..GroepeerTiponSynchronisatiestangen(UitvoeringLijstIterator) Set UitvoeringLijstIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst) @@ -91,32 +87,43 @@ If ((Mat.ToeDos = Mat2.ToeDos) && (Mat.Diepte = Mat2.Diepte) && (Mat.Breedte = Mat2.Breedte) && (Mat.MateriaalId = Mat2.MateriaalId) && (Mat.KleurId = Mat2.KleurId) && (Mat.BewerkingBreedte = Mat2.BewerkingBreedte) && (Mat.BewerkingDiepte = Mat2.BewerkingDiepte)){ Set OvereenkomstigeMatGevonden = $$$True Set Mat2.Aantal = Mat2.Aantal + Mat.Aantal - Set Mat2.TotaalAantalMattenInToelevering = Mat.TotaalAantalMattenInToelevering } } If (SamengesteldeLijst.Count() = 0 || $$$Not(OvereenkomstigeMatGevonden)) { Do SamengesteldeLijst.Insert(Mat) } Do SamengesteldeLijstIterator.Reset() } - } + } + + //1 document per toelevering van de mattenlijst en per document het totaal # matten weergeven If (SamengesteldeLijst.Count()>0 && ObjectIsMat) { Set SamengesteldeLijstIterator = ##class(TECH.ListIterator).%New(SamengesteldeLijst) - 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 $$$Not(Mat.ToeleveringID = HuidigeToelevNr) { - Set UitvoeringResultaat = Verwerker.VerwerkUitvoeringInfoLijst(SamengesteldeLijstPerToelevering,ActiviteitParameters) - Set SamengesteldeLijstPerToelevering = ##class(APPS.Halux.PPS.dto.UitvoeringInfoLijst).%New() - Do SamengesteldeLijstPerToelevering.Insert(Mat) - Set HuidigeToelevNr = Mat.ToeleveringID - } Else { - Do SamengesteldeLijstPerToelevering.Insert(Mat) + #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() + While SamengesteldeLijstIterator.HasNext() { + Set Mat = SamengesteldeLijstIterator.Next() + + If (Mat.ToeleveringID = ToeleveringID) { + Do SamengesteldeLijstPerToelevering.Insert(Mat) + Set TotaalAantalMattenInToelevering = TotaalAantalMattenInToelevering + Mat.Aantal + } } + + Set Mat = SamengesteldeLijstPerToelevering.GetAt(SamengesteldeLijstPerToelevering.Count()) + Set Mat.TotaalAantalMattenInToelevering = TotaalAantalMattenInToelevering + Set UitvoeringResultaat = Verwerker.VerwerkUitvoeringInfoLijst(SamengesteldeLijstPerToelevering,ActiviteitParameters) + Do SamengesteldeLijstIterator.Reset() } - Set UitvoeringResultaat = Verwerker.VerwerkUitvoeringInfoLijst(SamengesteldeLijstPerToelevering,ActiviteitParameters) Do UitvoeringLijstIterator.Reset() #dim i = 1 While UitvoeringLijstIterator.HasNext() { @@ -137,34 +144,23 @@ ]]> - -UitvoeringLijstIterator:TECH.ListIterator + +SamengesteldeLijstIterator:TECH.ListIterator 1 +%ListOfDataTypes Index: BL/PPS/TBX/DocsV1.cls.xml =================================================================== diff -u -r72153 -r72154 --- BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 72153) +++ BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 72154) @@ -1204,31 +1204,6 @@ 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 - } Set UitvoeringLijstIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst) //Matten met zelfde dimensies groeperen @@ -1255,26 +1230,36 @@ 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) - 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 $$$Not(Mat.ToeleveringID = HuidigeToelevNr) { - Set Afdrukker = ##class(APPS.Halux.PPS.Document.impl.GekoppeldeIK.Matten).%New() - Do Afdrukker.VerwerkUitvoeringInfoLijst(SamengesteldeLijstPerToelevering,ActiviteitParameters) - Set SamengesteldeLijstPerToelevering = ##class(APPS.Halux.PPS.dto.UitvoeringInfoLijst).%New() - Do SamengesteldeLijstPerToelevering.Insert(Mat) - Set HuidigeToelevNr = Mat.ToeleveringID - } Else { - Do SamengesteldeLijstPerToelevering.Insert(Mat) + #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) { + 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() } - Set Afdrukker = ##class(APPS.Halux.PPS.Document.impl.GekoppeldeIK.Matten).%New() - Do Afdrukker.VerwerkUitvoeringInfoLijst(SamengesteldeLijstPerToelevering,ActiviteitParameters) Do UitvoeringLijstIterator.Reset() #dim i = 1 @@ -1292,6 +1277,26 @@ ]]> + +SamengesteldeLijstIterator:TECH.ListIterator +1 +%ListOfDataTypes + + + TBXQueue:DS.PPS.TBX.Queue APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo