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
]]>