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
-