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 -