Index: BL/PPS/TBX/DocsV1.cls.xml =================================================================== diff -u -r62214 -r75040 --- BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 62214) +++ BL/PPS/TBX/DocsV1.cls.xml (.../DocsV1.cls.xml) (revision 75040) @@ -96,7 +96,7 @@ -BL.PPS.common.impl.OnderdelendoosLogoBepaler +BL.Flow.Levering.LabelLogoBepaler 1 @@ -165,13 +165,23 @@ 1 + +BL.PPS.TBX.DocsV1.ProboxInhoudEtiketGenerator +1 + + + +BL.PPS.TBX.DocsV1.ProboxBarcodeEtiketGenerator +1 + + %String 1 -LabelPrinter:BL.Sys.LabelPrinter="",BatchService:APPS.Halux.common.BatchService="",ProductieSequentieRepository:APPS.Halux.common.ProductieSequentieRepository="",ToeleveringService:DOM.AKP.ToeleveringService,LogoBepaler:BL.PPS.common.impl.OnderdelendoosLogoBepaler,ProductieService:APPS.Halux.common.ProductieService="" +LabelPrinter:BL.Sys.LabelPrinter="",BatchService:APPS.Halux.common.BatchService="",ProductieSequentieRepository:APPS.Halux.common.ProductieSequentieRepository="",ToeleveringService:DOM.AKP.ToeleveringService,LogoBepaler:BL.Flow.Levering.LabelLogoBepaler,ProductieService:APPS.Halux.common.ProductieService="" 1 1 %Status @@ -185,7 +195,9 @@ Set ..ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() Set ..TBXMatToEnuMatConverter = ##class(BL.PPS.TBX.impl.TBXMatToEnuMatConverter).%New() Set ..MatFormatter = ##class(APPS.Halux.PPS.impl.Formatter.Mat).%New() - Set ..LogoBepaler = $$$Inject(LogoBepaler, ##class(BL.PPS.common.impl.OnderdelendoosLogoBepaler).%New()) + Set ..LogoBepaler = $$$Inject(LogoBepaler, ##class(BL.Flow.Levering.LabelLogoBepaler).%New()) + Set ..ProboxInhoudEtiketGenerator = ##class(BL.PPS.TBX.DocsV1.ProboxInhoudEtiketGenerator).%New() + Set ..ProboxBarcodeEtiketGenerator = ##class(BL.PPS.TBX.DocsV1.ProboxBarcodeEtiketGenerator).%New() Quit $$$OK ]]> @@ -455,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 @@ -463,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="" @@ -741,9 +755,17 @@ #dim Opmerking4 As %String = "" #dim TBX As DOM.PM.TBXProduct.TBXLade = ..ProductAPI.GeefProduct(PRNr) - if (..BevatSynchro(TBX) || ..BevatTOBSynchroStang(TBX)) && $$$Not(..IsV1Verpakking(TBX)) { - Set Opmerking4 = "SYNCST" _" " + If (TBX.BevatDwarsverdeling()) { + Set Opmerking4 = Opmerking4 _ "DWV:" _ TBX.GeefAantalDwarsverdelingen() _" " } + + If (TBX.BevatStabilisator()) { + Set Opmerking4 = Opmerking4 _ "ZIJSTB" _" " + } + + If (..BevatSynchro(TBX) || ..BevatTOBSynchroStang(TBX)) { + Set Opmerking4 = Opmerking4 _ "SYNCST" _" " + } Quit Opmerking4 ]]> @@ -930,7 +952,11 @@ Set RSTL=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"RSTL")) ; Rug verlaagd Set PlaatMat=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"MATKL")) ; Materiaal gezaagd - Set RugPRNr=$P($G(^PRBS("BS",PRNr,"PRRUGHS.001")),"\",1) + If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("DOM.common.ProjectSettingsApi_IsActiefBomBolOmleidingTbxNaarDotNet")) { + Set RugPRNr=$P($G(^PRBS("BS",PRNr,"RUGX.001")),"\",1) + } Else { + Set RugPRNr=$P($G(^PRBS("BS",PRNr,"PRRUGHS.001")),"\",1) + } Set:RugPRNr?4.7N RH=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",RugPRNr,"RugHoogte")) ; Werkelijke hoogte van de rug Set BodemPRNr=$P($G(^PRBS("BS",PRNr,"PRBDHO.001")),"\",1) @@ -1180,20 +1206,56 @@ 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() + #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.Aantal = Mat2.Aantal + Mat.Aantal + Set Mat2.TotaalAantalMattenInToelevering = Mat.TotaalAantalMattenInToelevering + } } If (SamengesteldeLijst.Count()=0 || $$$Not(OvereenkomstigeMatGevonden)){ Do SamengesteldeLijst.Insert(Mat) @@ -1218,22 +1280,70 @@ } else { Do:UitvoeringInfoLijst.Count() Afdrukker.VerwerkUitvoeringInfoLijst(UitvoeringInfoLijst,ActiviteitParameters) - } + } Quit MatCnt ]]> + +UitvoeringLijstIterator:TECH.ListIterator +1 + + + + +SamengesteldeLijstIterator:TECH.ListIterator +1 +%ListOfDataTypes + + + TBXQueue:DS.PPS.TBX.Queue -1 APPS.Halux.PPS.Activiteit.impl.common.dto.MattenUitvoeringInfo @@ -1368,6 +1500,8 @@ Quit:..IsSpoel(PRNr) 0 ; spoelbak laden worden apart verwerkt + Set StdProd=$G(^PRBS("BS",PRNr,"MAT.001")) + Quit:($L(StdProd)&&(##class(TECH.Config.ConfigMgr).Instance().GetBoolean("DOM.common.ProjectSettingsApi_IsActiefBomBolOmleidingTbxNaarDotNet"))) 1 Set StdProd=$G(^PRBS("BS",PRNr,"PRASM.001")) Quit:$L(StdProd) 1 Set StrkProd=$G(^PRBS("BS",PRNr,"PRASMSTRK.001")) @@ -1445,6 +1579,16 @@ KlantNr:%String %String 0) { - Do ..ProboxOverdoosEtiket(Toelevering) - Hang 5 + If (..MagProboxOverdoosEtiketAfdrukken()) { + #dim itToeleveringen As TECH.Iterator = ..Batch.GeefToeleveringIterator() + while itToeleveringen.HasNext() { + #dim Toelevering As DOM.AKP.Toelevering = itToeleveringen.Next() + #dim Aantal As %Integer = ..BepaalAantalOverdoosEtiketten(Toelevering) + // aantal etiketten wordt misbruikt om al dat niet te moeten printen + If (Aantal > 0) { + Do ..ProboxOverdoosEtiket(Toelevering) + Hang 5 + } } } ]]> @@ -1524,7 +1670,7 @@ Toelevering:DOM.AKP.Toelevering 2 erbij @@ -1573,68 +1719,97 @@ ]]> + +1 +%Boolean + + + DnaCodeIterator:TECH.Iterator - -bfrRGID:%String,bfrVolgNr:%String + +DnaCodeIterator:TECH.Iterator + + + +Dag:%String,Maand:%String,LabelPrinter:%String,Aantal:%Integer=1,BONNr:%String="" + + +Dag:%String,Maand:%String,LabelPrinter:%String,Aantal:%Integer=1,BONNr:%String="" + + + Bepaalt het volume-aandeel van de probox-laden @@ -1774,7 +1949,7 @@ PalletID:%String - @@ -1901,6 +2076,7 @@ #dim OrderID As %String = Toelevering.GeefOrderID() #dim Klant As DOM.VKP.VanHoeckeKlant = ..ToeleveringService.GeefKlant(TOENr) + #dim KlantNummer As %Integer = Klant.GeefCode() Set pxLabel=##class(BL.PPS.TBX.sub.pxCommissie).%New() @@ -1910,13 +2086,14 @@ Set pxLabel.Device = ..#LabelPrinter } Set pxLabel.Layout =..#LabelExtraCommissie - Set pxLabel.Logo = ..LogoBepaler.GeefLogo(Klant) + Set pxLabel.Logo = ..LogoBepaler.GeefLogo(Toelevering.GeefOorsprongKetting(), KlantNummer) Set pxLabel.KlantNaam = Klant.GeefNaam() Set pxLabel.CommissieRef = ..CommissieRef(Klant.GeefCode(),OrderID) Set pxLabel.OrderNr = OrderID Set pxLabel.TOENr = TOENr Set pxLabel.Aantal = Aantal Set pxLabel.Titel = Titel + set pxLabel.BatchNr = ..BatchID Quit pxLabel ]]>