Index: APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml =================================================================== diff -u -r72106 -r72155 --- APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml (.../WerklijstItemsUitvoerder.cls.xml) (revision 72106) +++ APPS/Halux/PPS/Activiteit/impl/WerklijstItemsUitvoerder.cls.xml (.../WerklijstItemsUitvoerder.cls.xml) (revision 72155) @@ -68,7 +68,7 @@ #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) @@ -82,7 +82,7 @@ #dim 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) && (..IsProductiegroepKast(Batch) || (..IsProductiegroepProbox(Batch))) && (Object.%ClassName(1)="APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo")) { + If ( $IsObject(Object) && (..IsProductiegroepKastOfPallet(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) @@ -91,17 +91,44 @@ 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 UitvoeringResultaat = Verwerker.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() + 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 + Set UitvoeringResultaat = Verwerker.VerwerkUitvoeringInfoLijst(SamengesteldeLijstPerToelevering,ActiviteitParameters) + Do SamengesteldeLijstIterator.Reset() + } + Do UitvoeringLijstIterator.Reset() #dim i = 1 While UitvoeringLijstIterator.HasNext() { @@ -153,6 +180,26 @@ ]]> + +SamengesteldeLijstIterator:TECH.ListIterator +1 +%ListOfDataTypes + + + UitvoeringInfoIterator:TECH.ListIterator 1 @@ -245,11 +292,11 @@ ]]> - + Batch:APPS.Halux.common.Batch 1 %Boolean -