Index: BL/PPS/TBX/DocsV1.cls.xml
===================================================================
diff -u -r72155 -r75040
--- BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 72155)
+++ BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 75040)
@@ -467,6 +467,7 @@
Set Opmerking=""
Set PRNr=$P(Basis,"\",1)
Set DC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DC")) ; Designcode
+ Set IB=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"IB")) ; InterneBreedte
Set LD=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LD")) ; Ladediepte
Set LC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LC")) ; LadeCode
Set KL=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KL")) ; Kleurlade
@@ -475,7 +476,8 @@
Set ZWH=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"ZW")) ; Zijwandhoogte
Set IsSR=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"IsSR")) ; Stalenrug
Set KL=KL_$CASE(DC,"S":"","B":"","I":"-A"_$S((ZWH)="L":"2",1:""),"MA":"-A",:"-"_DC)
-
+
+ If (IB < 275) Quit ""
If DK=25 Set DK="I"
Else If DK=80 Set DK="80"
Else Set DK=""
@@ -1204,25 +1206,55 @@
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()
+ #dim Batch As APPS.Halux.common.Batch = ##class(APPS.ApplicatieContext).Instance().GeefProductieAPI().GeefBatchService().GeefBatch(Object.BatchID)
+ 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))) {
+ If $$$Not(Batch.GeefProductieGroep() = ##class(APPS.Halux.common.enu.ProductieGroep).Kast()) { //Sequentie is anders bij vhoss dan bij andere groepen, daardoor kunnen totalen niet met dezelfde logica worden opgeteld.
+ Set VorigeMat.TotaalAantalMattenInToelevering = AantalMattenVoorDezeToelevering
+ } Else {
+ Set VorigeMat.TotaalAantalMattenInToelevering = ""
+ }
+ Set AantalMattenVoorDezeToelevering = HuidigeMat.Aantal
+ }
+ Set VorigeMat = HuidigeMat
+ }
+ }
+
+ If $IsObject(VorigeMat) {
+ If $$$Not(Batch.GeefProductieGroep() = ##class(APPS.Halux.common.enu.ProductieGroep).Kast()) { //Sequentie is anders bij vhoss dan bij andere groepen, daardoor kunnen totalen niet met dezelfde logica worden opgeteld.
+ Set VorigeMat.TotaalAantalMattenInToelevering = AantalMattenVoorDezeToelevering
+ } Else {
+ Set VorigeMat.TotaalAantalMattenInToelevering = ""
+ }
+ }
Set UitvoeringLijstIterator = ##class(TECH.ListIterator).%New(UitvoeringInfoLijst)
//Matten met zelfde dimensies groeperen
while UitvoeringLijstIterator.HasNext() {
#dim Mat As APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo= UitvoeringLijstIterator.Next()
#dim OvereenkomstigeMatGevonden As %Boolean = $$$False
- #dim Batch As APPS.Halux.common.Batch = ..BatchService.GeefBatch(Mat.BatchID)
+ Set Batch = ..BatchService.GeefBatch(Mat.BatchID)
If ( $IsObject(Mat) && ((..IsProductiegroepKastOfPallet(Batch)) || (..IsProductiegroepProbox(Batch))) && (Mat.%ClassName(1)="APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo") ){
Do LijstAantallen.Insert(Mat.Aantal)
while (SamengesteldeLijstIterator.HasNext() & $$$Not(OvereenkomstigeMatGevonden)){
#dim Mat2 As APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo= SamengesteldeLijstIterator.Next()
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
+ Set Mat2.TotaalAantalMattenInToelevering = Mat.TotaalAantalMattenInToelevering
}
}
If (SamengesteldeLijst.Count()=0 || $$$Not(OvereenkomstigeMatGevonden)){
@@ -1234,38 +1266,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 +1281,7 @@
else {
Do:UitvoeringInfoLijst.Count() Afdrukker.VerwerkUitvoeringInfoLijst(UitvoeringInfoLijst,ActiviteitParameters)
}
-
+
Quit MatCnt
]]>
@@ -1745,8 +1749,15 @@
DnaCodeIterator:TECH.Iterator
@@ -1783,6 +1794,22 @@
]]>
+
+Dag:%String,Maand:%String,LabelPrinter:%String,Aantal:%Integer=1,BONNr:%String=""
+
+
+
Bepaalt het volume-aandeel van de probox-laden
@@ -1922,7 +1949,7 @@
PalletID:%String
-