Index: HADTBXPrep.mac.rou =================================================================== diff -u -r60577 -r60652 --- HADTBXPrep.mac.rou (.../HADTBXPrep.mac.rou) (revision 60577) +++ HADTBXPrep.mac.rou (.../HADTBXPrep.mac.rou) (revision 60652) @@ -27,7 +27,7 @@ #dim Batch As APPS.Halux.common.Batch = ##class(APPS.ApplicatieContext).Instance().GeefProductieAPI().GeefBatchService().GeefBatch(BatchID) Set SubTitle = "Lijn:" _Batch.GeefLijn() _" Batch : " _BatchID _" " _SubTitle } - Do Print(.Arr,SubTitle,.Dev,"BULK") + Do Print(.Arr, SubTitle, .Dev,"BULK", Batch) Quit AddFabKey(Arr,GlobRef) @@ -75,7 +75,7 @@ ; De Arr is opgebouwd als Arr(VolgNr)=$LB(Toelevering,Product,Aantal) ; KarCode is een string met de naam/nummer van de kar ; Dev is optioneel, indien niet mee gegeven dan wordt dit gevraagd (TELNET) -Print(Arr,SubTitel,Dev,PrepOnly) +Print(Arr,SubTitel,Dev,PrepOnly,Batch) New I,FabrPrepList,FrontOnly,PLD,MemTOENr,Groep,Lijst Set FabrPrepList=$S($L($G(PrepOnly)):$LB(PrepOnly),1:$$$PrepKeys) Set FrontOnly=$G(PrepOnly)="BIN" @@ -91,7 +91,7 @@ Kill Lijst For I=1:1:$LL(FabrPrepList) Do - . Do Convert($LI(FabrPrepList,I),.Groep,.Lijst) + . Do Convert($LI(FabrPrepList,I),.Groep,.Lijst,Batch) ;zw Lijst ; Afdrukken @@ -128,7 +128,7 @@ ///; 1 : Scheidingscode ; 2 : IdentNr ; 3 : KortTekst ; 4 : Qty ; 5 : NettoDim ; 6 : IsWerkVloer ; 10 : TOENr ; 11 : DossierID ; 12 : Qty ; 13 : NettoDim -Convert(FabrPrep,Groep,Lijst) +Convert(FabrPrep,Groep,Lijst,Batch) New SortKey1,SortKey2,Cnt,Reverse,EindFormat,HalfFormat,SubLijnNr Quit:$D(Groep(FabrPrep))<10 ; Geen subnodes Set Lijst($I(Lijst))=FabrPrep_D_D_"*** "_$LI($$$PrepTranslate,$LF($$$PrepKeys,FabrPrep))_" ***" @@ -156,9 +156,9 @@ . . ; 5 : NettoDim . . ; 6 : IsWerkVloer . . Set KortTekst = $Piece(HalfFormat,"\",2) - . . If ($E($Piece(EindFormat,"\",6),1,8) = "Geleider") { - . . Set $Piece(HalfFormat,"\",2) = $Extract(KortTekst,1,8)_"�B"_$Extract(KortTekst,9,9)_"�b"_$Extract(KortTekst,10,*) - . . } + . . If ($Extract($Piece(EindFormat,"\",6),1,8) = "Geleider") { + . . Set $Piece(HalfFormat,"\",2) = $Extract(KortTekst,1,8)_"�B"_$Extract(KortTekst,9,9)_"�b"_$Extract(KortTekst,10,*) ;Bij het aanpassen van deze Korttekst moet ook gecontroleerd worden of de methode 'PickGepasteGeleiders' nog steeds + . . } ;goed uitgevoerd wordt. Deze methode gebruikt namelijk deze aangepaste string. . . If ($Extract($Piece(EindFormat,"\",6),1,6) = "Reling") && ($Extract(KortTekst,10,10)="F") { . . Set $Piece(HalfFormat,"\",2) = $Extract(KortTekst,1,9)_"�B"_$Extract(KortTekst,10,10)_"�b"_$Extract(KortTekst,11,*) . . } @@ -168,14 +168,99 @@ . . ; 11 : DossierID . . ; 12 : Qty . . ; 13 : NettoDim - . . Set $Piece(Lijst(Lijst),D,10)=EindFormat + . . Set $Piece(Lijst(Lijst),D,10)=EindFormat . . } . . Set:'Reverse HalfFormat="" . . Set:Reverse EindFormat="" . . Set SubLijnNr = SubLijnNr + 1 + Do PickGepasteGeleiders(.Lijst, Cnt, Batch) + Quit +PickGepasteGeleiders(Lijst, LengteLijst, Batch) + #dim ProdGroep As APPS.Halux.common.enu.ProductieGroep = Batch.GeefProductieGroep() + #dim EenKorttekstWerdVervangen = $$$False + New SamengesteldeLijst + + If $$$Not(ProdGroep = ##class(APPS.Halux.common.enu.ProductieGroep).Stuk()) { + For i = 2:1:LengteLijst*2 + { + If $$$Not(Lijst(i) = "") { + If ($Extract($Piece(Lijst(i),"\",15),1,8) = "Geleider") { + #dim Korttekst As %String = $Piece(Lijst(i),"\",3) + If ##class(TECH.StringUtils).Contains(Korttekst,"EP7") { + Set $Piece(Lijst(i),"\",3) = $Extract(Korttekst,1,22)_"V16"_$Extract(Korttekst,26,*) + Set EenKorttekstWerdVervangen = $$$True + } + } + + } + } + } else { + For i = 2:1:LengteLijst*2 + { + If $$$Not(Lijst(i) = "") { + If ($Extract($Piece(Lijst(i),"\",15),1,8) = "Geleider") { + #dim Korttekst As %String = $Piece(Lijst(i),"\",3) + + If ##class(TECH.StringUtils).Contains(Korttekst,"V16") { + Set $Piece(Lijst(i),"\",3) = $Extract(Korttekst,1,22)_"EP7"_$Extract(Korttekst,26,*) + Set EenKorttekstWerdVervangen = $$$True + } + } + } + } + } + If EenKorttekstWerdVervangen { + Do NeemAantallenZelfdeGeleidersSamen(.Lijst, Cnt) + Do VerwijderGewijzigdeLegeRegels(.Lijst, Cnt, .SamengesteldeLijst) + + For i = 1:1:LengteLijst*2-4 + { + Set Lijst(i) = SamengesteldeLijst(i) ; Set Lijst = SamengesteldeLijst werkt niet + } + } + + Quit + +NeemAantallenZelfdeGeleidersSamen(Lijst, LengteLijst) + For i = 1:1:LengteLijst*2 + { + If $$$Not(Lijst(i) = "") { + If ($Extract($Piece(Lijst(i),"\",15),1,8) = "Geleider") { + #dim Korttekst As %String = $Piece(Lijst(i),"\",3) + + For y = i+1:1:LengteLijst*2 + { + If $$$Not(Lijst(y) = "") { + If ($Extract($Piece(Lijst(i),"\",15),1,8) = "Geleider") { + #dim Korttekst2 As %String = $Piece(Lijst(y),"\",3) + If (Korttekst = Korttekst2) { + Set $Piece(Lijst(i),"\",4) = $Piece(Lijst(i),"\",4) + $Piece(Lijst(y),"\",4) ;Aantallen optellen + Set Lijst(y) = "" + + } + } + + } + } + } + } + } + +VerwijderGewijzigdeLegeRegels(Lijst, LengteLijst, NieuweLijst) + + Set NieuweLijst($Increment(NieuweLijst)) = Lijst(1) ;Tekst: ***Losse onderdelen BULK*** + For i = 2:2:LengteLijst*2 + { + If $$$Not(Lijst(i) = "") { + Set NieuweLijst($Increment(NieuweLijst)) = Lijst(i) + Set NieuweLijst($Increment(NieuweLijst)) = "" + } + } + Quit + HalfFormat(List) New PRNr,Qty,NettoDim,IsWerkVloer,IdentNr,KortTekst Set PRNr=$LI(List,2)