Index: EWORDS6/Orgalux.mac.rou =================================================================== diff -u --- EWORDS6/Orgalux.mac.rou (revision 0) +++ EWORDS6/Orgalux.mac.rou (revision 72047) @@ -0,0 +1,230 @@ +#include BL.Derde.LevSpecifiek +#include BL.Derde.KlantSpecifiek +#include vhLib.Macro + + +VerwerkOrders() + New KLNr,ORDNr,OLNr + + Set LaatsteVerzendDatum=$$CALCDATE^vhLib.DataTypes($H,"A",1) + w "LaatsteVerzendDatum ",LaatsteVerzendDatum," ",$$EXTDATE^vhLib.DataTypes(LaatsteVerzendDatum,"DK"),! + Set Dev=$$OPEN^vhDEV(,"TeVerzenden.txt","W") + Use Dev + Write "KLNr ORDNr VZW LA ProdGrp ProductieDueout Diff(u) #Lade #LA Lijnen #LA InPick #LA InProd #LA InStock LA TOENr LA PickDueout #OL Lijnen #OL InPick #OL InProd #OL InStock OL TOENr OL PickDueout Oordeel",! + Set KLNr=0,KLNr=$O(^KOD(KLNr)) + While KLNr'="" + { + Set ORDNr="",ORDNr=$O(^KOD(KLNr,"F",ORDNr)) + While ORDNr'="" + { + ;w KLNr, " ",ORDNr," - " + Kill Cache,ProductieCache + If $$GeldigOrder(KLNr,ORDNr) + { + Set OLNr="",OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) + While OLNr'="" + { + If $$GeldigOrderlijn(KLNr,ORDNr,OLNr) + { + Do AddOrderlijn(KLNr,ORDNr,OLNr,LaatsteVerzendDatum) + } + Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) + } + } + Do Validate(KLNr,ORDNr,.Cache) + Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) + } + Set KLNr=$O(^KOD(KLNr)) + } + Do CLOSE^vhDEV(Dev) + Quit + +Validate(KLNr,ORDNr,Cache) + Set Cnt=0 + Set ProdGrp="",ProdGrp=$O(Cache(ProdGrp)) + While ProdGrp'="" { + Set Cnt=Cnt+1 + Set ProdGrp=$O(Cache(ProdGrp)) + } + Quit:Cnt'=2 + + Quit:'(($D(Cache("LADE"))&&$D(Cache("OL")))||($D(Cache("BSL"))&&$D(Cache("OL")))) + Set VerschilInWerkuren=$$VerschilInWerkuren($H,$LG($G(Cache("LADE")),8)) + Set Verzendwijze=$P(^KOD(KLNr,"F",ORDNr,1),"\",7) + + Write $P(^KKL(^KK1(KLNr),0),"\",2),*9,ORDNr,*9,Verzendwijze + For ProdGrp="BSL","LADE","OL" Do + . If $D(Cache(ProdGrp)) Do + . . Write:ProdGrp?1(1"LADE",1"BSL") *9,ProdGrp,*9,$LG(Cache(ProdGrp),9),*9,VerschilInWerkuren,*9,$LG(Cache(ProdGrp),2) + . . Write *9,$LG(Cache(ProdGrp),1),*9,$LG(Cache(ProdGrp),3),*9,$LG(Cache(ProdGrp),4),*9,$LG(Cache(ProdGrp),5),*9,$LG(Cache(ProdGrp),15),*9,$LG(Cache(ProdGrp),13) + Write:($LG(Cache("OL"),1)=$LG(Cache("OL"),5))&&(VerschilInWerkuren'>6)&&(VerschilInWerkuren'="") *9,"DOORSTUREN" + Write ! + ;if $D(Cache) w KLNr," ",ORDNr,! zw Cache r k + Quit + +VerschilInWerkuren(T1,T2) + Quit:(T1="")||(T2="") "" + New Diff,Neg,DiffUren,T1num,T2num + Set T1num=$P(T1,",")*(24*60*60)+$P(T1,",",2) + Set T2num=$P(T2,",")*(24*60*60)+$P(T2,",",2) + Set Diff=T2num-T1num,Neg=Diff<0 + ;zw T1num,T2num,Diff + If $P(T2,",",1)>$P(T1,",",1) Do + . Set Diff=Diff-(10*3600) ;10uur aftrekken + Set DiffUren=Diff\3600 + Set:Neg DiffUren=DiffUren*2 + Quit DiffUren + +AddOrderlijn(KLNr,ORDNr,OLNr,LaatsteVerzendDatum) + New OLRec,OLUNr,Qty,PRNr,Verzendwijze,ProdGrp,Status,lbStatus,CONSNr,WMSStatus,WMSErrorStatus,TOENr,TLNr + Set OLRec=^KOD(KLNr,"F",ORDNr,OLNr) + Set OLUNr=$P(OLRec,"\",15) + Set Qty=$P(OLRec,"\",3) + Set PRNr=$P(OLRec,"\",2) + Set Verzendwijze=$P($P(^KOD(KLNr,"F",ORDNr,1),"\",7)," #") + + Set ProdGrp=$$ProductGroep(PRNr) + Set Status="Nog in order" + + Set DueOutTijdstip=$$GetPickDatum^EWORDS6(ORDNr,OLNr) + Quit:$P(DueOutTijdstip,",")>LaatsteVerzendDatum + + + + Set (IsBezigMetPicking,TeProduceren,IsVoorradig)=0 + ;Picking + Set CONSNr=$G(^ORDW("IO",ORDNr,OLUNr)) + If CONSNr + { + Set IsBezigMetPicking=1 + } + Set:CONSNr="" CONSNr="*" + + ; Productie + Set TOENr=$P(OLRec,"\",27) + Set TLNr=$P(OLRec,"\",28) + Set ProductieTijdstip="" + If TOENr + { + Set:'$D(ProductieCache(TOENr)) ProductieCache(TOENr)=$$GetGeplandProductieEinde(TOENr,TLNr) + Set ProductieTijdstip=ProductieCache(TOENr) + Set TeProduceren=1 + + } + ; Heeft voorraad + If 'TeProduceren,'IsBezigMetPicking + { + Set IsVoorradig=$$CheckStockOneProduct^EWORDS6(PRNr,Qty) + } + + Set $li(Cache(ProdGrp),1)=$lg($g(Cache(ProdGrp)),1)+1 ; aantal lijnen + Set:ProdGrp="LADE" $li(Cache(ProdGrp),2)=$lg($g(Cache(ProdGrp)),2)+Qty ; aantal stuks + Set:ProdGrp="LADE" $li(Cache(ProdGrp),2)=$lg($g(Cache(ProdGrp)),2)+Qty ; aantal stuks + Set:IsBezigMetPicking $li(Cache(ProdGrp),3)=$lg($g(Cache(ProdGrp)),3)+1 ; aantal lijnen bezig met picking + Set:TeProduceren $li(Cache(ProdGrp),4)=$lg($g(Cache(ProdGrp)),4)+1 ; aantal lijnen nog te produceren + Set:IsVoorradig $li(Cache(ProdGrp),5)=$lg($g(Cache(ProdGrp)),5)+1 ; aantal lijnen met voorraad + Set:TOENr&&($lg(Cache(ProdGrp),15)'[TOENr) $li(Cache(ProdGrp),15)=$lg(Cache(ProdGrp),15)_$S($lg(Cache(ProdGrp),15)="":"",1:";")_TOENr + + ; Bepaal maximum productietijdstip (is eigenlijk overbodig door dat het tijdstip per toelevering wordt bepaald) + If ProductieTijdstip + { + Set OldTijdstip=$lg(Cache(ProdGrp),8) + If ( OldTijdstip="" ) || ( $P(OldTijdstip,",")<$P(ProductieTijdstip,",") ) || ( ($P(OldTijdstip,",")=$P(ProductieTijdstip,",")) && ($P(OldTijdstip,",",2)<$P(ProductieTijdstip,",",2)) ) + { + Set $li(Cache(ProdGrp),8)=ProductieTijdstip + Set $li(Cache(ProdGrp),9)=$zdt(ProductieTijdstip,3,2) + } + } + ; Maximum + Set OldDueOutTijdstip=$lg(Cache(ProdGrp),10) + If (OldDueOutTijdstip="" ) || ( $P(OldDueOutTijdstip,",")<$P(DueOutTijdstip,",") ) || ( ($P(OldDueOutTijdstip,",")=$P(DueOutTijdstip,",")) && ($P(OldDueOutTijdstip,",",2)<$P(DueOutTijdstip,",",2)) ) + { + Set $li(Cache(ProdGrp),10)=DueOutTijdstip + Set $li(Cache(ProdGrp),11)=$zdt(DueOutTijdstip,3,2) + } + ;Minimum + Set OldDueOutTijdstip=$lg(Cache(ProdGrp),12) + If (OldDueOutTijdstip="" ) || ( $P(OldDueOutTijdstip,",")>$P(DueOutTijdstip,",") ) || ( ($P(OldDueOutTijdstip,",")=$P(DueOutTijdstip,",")) && ($P(OldDueOutTijdstip,",",2)>$P(DueOutTijdstip,",",2)) ) + { + Set $li(Cache(ProdGrp),12)=DueOutTijdstip + Set $li(Cache(ProdGrp),13)=$zdt(DueOutTijdstip,3,2) + } + + Quit + +CompactVerzendwijze(Verzendwijze) + Set Verzendwijze=$P($P(Verzendwijze,"`"),";") + Quit Verzendwijze + +GetGeplandProductieEinde(TOENr,TLNr) + New TLUNr,result,EindTijdstip + Set TLUNr=$P($G(^KTO($$$LevHalux,TOENr,TLNr)),"\",15) + Quit:TLUNr="" "" + + Set result=##class(%ResultSet).%New("%DynamicQuery:SQL") + Set EindTijdstip="" + Set sc=result.Prepare("Select max(EindTijdstip) as EindTijdstip from APPS_Halux_Planning_Pitching_dto.ResourcePitched where ToeleveringNr = ? and IsLeading=2") + If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + Set sc=result.Execute(TOENr) If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + Set x=result.Next(.sc) + If $$$ISERR(sc) Quit "" + Set EindTijdstip=result.Data("EindTijdstip") + If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + ;Write !,ORDNr," ",TOENr," ",EindTijdstip + + Quit $S(EindTijdstip="":"",1:$zdth(EindTijdstip,8,3)) + +GeefCompactAdresVanBon(KLNr, BONNr) + New StraatGemeente, Rec + Set Rec=$G(^KUL(KLNr,"F",BONNr,3)) + Set StraatGemeente=$P(Rec,"\",5)_";"_$P(Rec,"\",7) + ;w !,"B:",BONNr," ",StraatGemeente + Quit StraatGemeente + +GeefCompactAdresVanOrder(KLNr, ORDNr) + New StraatGemeente, Rec + Set Rec=$G(^KOD(KLNr,"F",ORDNr,3)) + Set Straat=$P(Rec,"\",5) + Set StraatGemeente=$P(Rec,"\",5)_";"_$P(Rec,"\",7) + ;w !,"O:",ORDNr," ",StraatGemeente + + Quit StraatGemeente + +ProductGroep(PRNr) + New ProdGrp + Set ProdGrp=$$PRODGRP^PRODUKT(PRNr) + Set:ProdGrp="LBX" ProdGrp="LADE" + Set:ProdGrp="TBX" ProdGrp="LADE" + Set:ProdGrp="MVX" ProdGrp="LADE" + Set:ProdGrp="TA.B" ProdGrp="LADE" + Set:ProdGrp="REST" ProdGrp="BSL" + Set:ProdGrp="BLUM" ProdGrp="BSL" + Quit ProdGrp + +GeefVerpakTijdstip(BONNr) + New result,SnijTijdstip + + Set result=##class(%ResultSet).%New("%DynamicQuery:SQL") + Set SnijTijdstip="" + Set sc=result.Prepare("select max(updatetijdstip) as SnijTijdstip from Prod.OptiBox_queue where objtype='L' and objref=? and type='S'") + If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + Set sc=result.Execute(BONNr) If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + Set x=result.Next(.sc) + If $$$ISERR(sc) Quit "" + Set SnijTijdstip=result.Data("SnijTijdstip") + If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit "" + + Quit $S(SnijTijdstip="":"",1:$zdth(SnijTijdstip,8)) + +GeldigOrder(KLNr,ORDNr,StraatGemeente) + + Quit 1 + +GeldigOrderlijn(KLNr,ORDNr,OLNr) + New OLRec + Set OLRec=^KOD(KLNr,"F",ORDNr,OLNr) + Quit:$P($P(OLRec,"\",17),"#")'="KF0" 0 ; geen productlijn + Quit:$P(OLRec,"\",3)'>0 0 ; Aantal moet groter zijn dan nul + + Quit 1 + Index: TRANSPExport2File.mac.rou =================================================================== diff -u -r66250 -r72047 --- TRANSPExport2File.mac.rou (.../TRANSPExport2File.mac.rou) (revision 66250) +++ TRANSPExport2File.mac.rou (.../TRANSPExport2File.mac.rou) (revision 72047) @@ -26,7 +26,7 @@ Do ##class(vhLib.Logger).%New("Transport").Info("FTP Transportlijst", "Ftp van transport "_TranspNr_" naar "_FtpConfiguratie.Adres) Quit -ExportEnMail(TranspNr,lbAdressen, Extensie = ".txt", Separator = "") +ExportEnMail(TranspNr,lbAdressen, Extensie = ".txt", Separator = "",lbCCAdressen) New FileNaam,Pad,PadEnFile,Subject,Body Set FileNaam="Transport "_TranspNr_Extensie Index: BL/MB/UGLYPicking/Locations.cls.xml =================================================================== diff -u -r60694 -r72047 --- BL/MB/UGLYPicking/Locations.cls.xml (.../Locations.cls.xml) (revision 60694) +++ BL/MB/UGLYPicking/Locations.cls.xml (.../Locations.cls.xml) (revision 72047) @@ -376,10 +376,10 @@ D ##class(BL.MB.UGLYPicking.Locations).Instantiate(0,0).AddHal2()