Index: ULTOER.mac.rou =================================================================== diff -u -r60504 -r62359 --- ULTOER.mac.rou (.../ULTOER.mac.rou) (revision 60504) +++ ULTOER.mac.rou (.../ULTOER.mac.rou) (revision 62359) @@ -401,7 +401,7 @@ New ULTOERL,I,R,X,DL,Clear For I=1,2,5,8 Set ULTOERL(I)=ULTOER(I) Set $P(ULTOERL(2),D,4,5)="$$KLTYP^KLANT($P(FL(3),D,3));C;R;3;;;;$S(X=""IND-A"":""IA"",X=""IND-B"":""IB"",1:"""")" - Set X=$P(Kriteria,D,5),ULTOERL(11)="Toerlijst volgens "_$S(X="B":"bonnummer",X="K":"klantnaam",1:"postkode") + Set X=$P(Kriteria,D,5),ULTOERL(11)="Toerlijst "_$$GeefToerNr()_" volgens "_$S(X="B":"bonnummer",X="K":"klantnaam",1:"postkode") Set X=$P(Kriteria,D,3) Set:$L(X) ULTOERL(11)=ULTOERL(11)_D_$S($L(X):X_" "_$G(^RES("KLANT","PI","VERZENDWIJZE","D",X,"N")),1:"") Set DL(1)="ULTOERL",Clear=20+(Type="P"*2),FP=Clear*100+1 Write @F,@F1 If '$L(Type) Set Type="PMT" @@ -413,6 +413,11 @@ Do ADD^vhScherm(Clear,24) Quit ; + +GeefToerNr() + Quit:$P(Kriteria,D,3)'?1"OD"1N "" + Quit $I(^TRANSP("ULTOER")) + Locals(List) New I For I=1:1:$L(List,",") Set $P(List,",",I)=""""_$P(List,",",I)_"""" Index: PVHerstartFOP.mac.rou =================================================================== diff -u --- PVHerstartFOP.mac.rou (revision 0) +++ PVHerstartFOP.mac.rou (revision 62359) @@ -0,0 +1,117 @@ +#include %occStatus +#define CRLF $C(13,10) + +Herstart ; FOP server herstarten en FOP sheduler terug testen + Do StartLog + Do StelInVoorDocBaseHerstart + Do StopScheduler + Hang 30 + Do RestartDocBaseServer + Hang 3*60 ; 3 min + Do RestartSpooler + Hang 30 + Do VerzendTestPrinttaak + Hang 60 + Do ControleerPrinterCache + If 'HerstartOK Do + . Hang 60 + . Do ControleerPrinterCache + If 'HerstartOK Do + . Hang 60 + . Do ControleerPrinterCache + If 'HerstartOK Do + . Hang 60 + . Do ControleerPrinterCache + Do:HerstartOK AlleNieuwTakenDoorlaten + Do:'HerstartOK AddLog("Nieuwe taken worden niet doorgelaten",1) + Do StuurMail + Quit + +StopScheduler + Do AddLog("StopScheduler : ",1) + Set sc=##class(BL.Sys.FOP.Scheduler).Stop() + Set ^Sys.FOP.Settings("Scheduler","MaxBusyTask")=0 + + Set Status=$S(sc=0:"is niet actief.", $$$ISERR(sc):"is NIET correct gestopt! "_"Error :"_$$ParseStatus^vhLib(sc), 1:"is correct gestopt.") + Do AddLog(Status) + Quit + +StelInVoorDocBaseHerstart + Do AddLog("StelInVoorDocBaseHerstart",1) + Set StatusVoorNieuwePrintertaken="H" + Set ^Sys.FOP.Settings("InitialStatusExpr")="$S($IsObject(%this.Task)&&$IsObject(%this.Task.ActionPrint)&&(%this.Task.ActionPrint.Printer'="""")&&(%this.Task.ActionPrint.Printer'=""VHIP2""):"""_StatusVoorNieuwePrintertaken_""", 1:""W"")" + Quit + +RestartDocBaseServer + Do AddLog("RestartDocBaseServer : ",1) + Set Status=$zf(-2,"shutdown /r /f /t 0 /m \\fop.vanhoecke.be") + Do AddLog(Status) + Quit + +RestartSpooler + Do AddLog("RestartSpooler : ",1) + Set Status=$zf(-1,"Sc.exe \\fop.vanhoecke.be start spooler") + Do AddLog(Status) + Quit + +VerzendTestPrinttaak + Do AddLog("VerzendTestPrinttaak : ",1) + Set ^Sys.FOP.Settings("Scheduler","MaxBusyTask")=1 + #dim ReturnMessage As %String = "" + #dim AdminOfferteID = 534679 + #dim PrinterNaam = "VHIP2" + #dim sc As %Status = ##class(BL.Flow.Offerte.Doc).RenderAndPrintDoc("O-"_AdminOfferteID,PrinterNaam,1) + Set ReturnMessage = "Testopdracht (offerte "_AdminOfferteID_" printen op "_PrinterNaam_") naar de server gestuurd. "_$S($$$ISERR(sc):"Error:"_$$ParseStatus^vhLib(sc),1:"") + Do AddLog(ReturnMessage) + Quit + +ControleerPrinterCache + Set HerstartOK=0,FirstLine="" + Do AddLog("Controle van printercache in log : ",1) + Set Status=$zf(-1,"powershell.exe -ExecutionPolicy Bypass C:\scripts\Check_FOP_log.ps1") + If Status=0 ; Uitgevoerd + { + Set Dev=$$OPEN^vhDEV("C:\scripts\","Check_FOP_result.txt","R","M") + Use Dev + Read FirstLine:1 + Close Dev + + Set HerstartOK=(FirstLine="Printers loaded") ; controle van het resultaat + } + Do AddLog("Firstline:"_FirstLine_", Status powershell:"_Status) + Quit + +AlleNieuwTakenDoorlaten + Do AddLog("AlleNieuweTakenDoorlaten",1) + Set ^Sys.FOP.Settings("InitialStatusExpr")="" + Quit + +StuurMail + Set Actie = "Restart einde" ; mag aangepast worden + New vhLibLogger Set vhLibLogger = ##class(vhLib.Logger).%New("FopHerstartJob") + Do vhLibLogger.Info(Actie,MailBody) + + Set From=$G(From,"Cache01@VanHoecke.be") + Set:$G(To)="" To=$LB("PV@VanHoecke.be") + Set Subject="Herstart FOP/DocBase : "_$S(HerstartOK:"Herstart=OK",1:"Herstart gefaald") + Do SendMiniMail^vhLib(From,To,Subject,MailBody,,,,,) + Quit + +StartLog + Set MailBody="" + Set Actie = "Restart begin" ; mag aangepast worden + New vhLibLogger Set vhLibLogger = ##class(vhLib.Logger).%New("FopHerstartJob") + Do vhLibLogger.Info(Actie,Actie) + Quit + +AddLog(Tekst,NewLine) + Set MailBody=MailBody_Tekst + Do:$G(NewLine) WriteMailBody + + Quit + +WriteMailBody + Write !,"--------" + Write MailBody + ;r " ...s press key", k + Quit