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