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 ]]> Index: APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml =================================================================== diff -u -r72766 -r72994 --- APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml (.../WerklijstItemsUitvoerder.cls.xml) (revision 72766) +++ APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml (.../WerklijstItemsUitvoerder.cls.xml) (revision 72994) @@ -68,10 +68,10 @@ #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 - + //Berekenen en schrijven van property TotaalAantalMattenInToelevering + ;Do ..ZetTotaalAantalMattenPerToelevering(UitvoeringLijstIterator) #dim UitgebreideUitvoeringInfoLijst As APPS.Halux.PPS.dto.UitvoeringInfoLijst = ##class(%ListOfObjects).%New() #dim HuidigeMat, VorigeMat As APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo = "" #dim AantalMattenVoorDezeToelevering As %Integer = 0 @@ -96,7 +96,6 @@ If $IsObject(VorigeMat) { Set VorigeMat.TotaalAantalMattenInToelevering = AantalMattenVoorDezeToelevering } - Set UitvoeringLijstIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst) Do ..GroepeerTiponSynchronisatiestangen(UitvoeringLijstIterator) @@ -107,7 +106,7 @@ Set Object = UitvoeringLijstIterator.Next() #dim OvereenkomstigeMatGevonden As %Boolean = $$$False #dim Batch As APPS.Halux.common.Batch = ##class(APPS.ApplicatieContext).Instance().GeefProductieAPI().GeefBatchService().GeefBatch(Object.BatchID) - If ( $IsObject(Object) && (..IsProductiegroepKastOfPallet(Batch) || (..IsProductiegroepProbox(Batch))) && (Object.%ClassName(1)="APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo")) { + If ( $IsObject(Object) && (..IsProductiegroepKast(Batch) || (..IsProductiegroepProbox(Batch))) && (Object.%ClassName(1)="APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo")) { Set ObjectIsMat = $$$True #dim Mat As APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo = Object Do LijstAantallen.Insert(Mat.Aantal) @@ -116,50 +115,17 @@ 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) - #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) { - Set Mat.TotaalAantalMattenInToelevering = "" - Do SamengesteldeLijstPerToelevering.Insert(Mat) - Set TotaalAantalMattenInToelevering = TotaalAantalMattenInToelevering + Mat.Aantal - } - } - - Set Mat = SamengesteldeLijstPerToelevering.GetAt(SamengesteldeLijstPerToelevering.Count()) - If (Batch.GeefProductieGroep() = ##class(APPS.Halux.common.enu.ProductieGroep).Kast()) { //Bij VHosskasten in de volgorde van matten niet goed - Set Mat.TotaalAantalMattenInToelevering = "" - } Else { - Set Mat.TotaalAantalMattenInToelevering = TotaalAantalMattenInToelevering - } - - hang 1 //Anders worden soms bestandsnamen met dezelfde naam gegenereerd - Set UitvoeringResultaat = Verwerker.VerwerkUitvoeringInfoLijst(SamengesteldeLijstPerToelevering,ActiviteitParameters) - Do SamengesteldeLijstIterator.Reset() - } - + Set UitvoeringResultaat = Verwerker.VerwerkUitvoeringInfoLijst(SamengesteldeLijst,ActiviteitParameters) Do UitvoeringLijstIterator.Reset() #dim i = 1 While UitvoeringLijstIterator.HasNext() { @@ -181,7 +147,7 @@ -UitvoeringLijstIterator:TECH.ListIterator + 1 - -SamengesteldeLijstIterator:TECH.ListIterator -1 -%ListOfDataTypes - - - UitvoeringInfoIterator:TECH.ListIterator 1 @@ -323,11 +269,11 @@ ]]> - + Batch:APPS.Halux.common.Batch 1 %Boolean -