KMPURP1 ;SP/JML - VSM POST REST functions ;7/1/2025
;;4.0;CAPACITY MANAGEMENT;**5**;3/1/2018;Build 9
;
;
;
GETCONFIGP ;
N KMPRET,KMPREQ
S KMPRET=##class(%DynamicObject).%New()
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
S KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
S KMPRET.Function=KMPREQ.Function
I KMPREQ.Function'="GetConfig" D Q 0
.S KMPRET.Status="Incorrect Function Type"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
;
D SITE^KMPUTLW(KMPRET)
D CPF^KMPUTLW(KMPRET)
D MON^KMPUTLW(KMPRET)
D MAILGROUPS^KMPUTLW(KMPRET)
S KMPRET.ResultText="OK"
W KMPRET.%ToJSON()
Q
;
GETERRORP ;
N KMRET,KMPREQ,KMPD,KMPDAT,KMPENUM,KMPINODE,KMPJNODE,KMPUVNB,KMPVAL,KMPVAR,KMPVNUM,KMPVOBJ
S KMPRET=##class(%DynamicObject).%New()
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
S KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
S KMPRET.Function=KMPREQ.Function
I KMPREQ.Function'="GetError" D Q 0
.S KMPRET.Status="Incorrect Function Type"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
D SITE^KMPUTLW(KMPRET)
S KMPDAT=KMPREQ.ErrorDate
I KMPDAT="" D Q
.S KMPRET.Status="No Date Provided"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
S KMPDAT=$ZDATEH(KMPDAT,3)
S KMPENUM=KMPREQ.ErrorNumber
I KMPENUM="" D Q 0
.S KMPRET.Status="No Error Number Provided"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
S KMPD=##class(%DynamicObject).%New()
I '$D(^%ZTER(1,KMPDAT,1,KMPENUM)) S KMPRET.Status="Error Not Found" Q
S KMPD.ErrorNumber=+$G(^%ZTER(1,KMPDAT,1,KMPENUM,0))
S KMPD.LastGlobalReference=$G(^%ZTER(1,KMPDAT,1,KMPENUM,"GR"))
S KMPINODE=$G(^%ZTER(1,KMPDAT,1,KMPENUM,"I"))
S KMPD.CurrentIo=$P(KMPINODE,"^",1)
S KMPD.ZaValue=$P(KMPINODE,"^",2)
S KMPD.ZbValue=$P(KMPINODE,"^",3)
S KMPD.CurrentZio=$P(KMPINODE,"^",4)
S KMPD.HValue=$G(^%ZTER(1,KMPDAT,1,KMPENUM,"H"))
S KMPJNODE=$G(^%ZTER(1,KMPDAT,1,KMPENUM,"J"))
S KMPD.JobNumber=$P(KMPJNODE,"^",1)
S KMPD.ProcessName=$P(KMPJNODE,"^",2)
S KMPD.UserName=$P(KMPJNODE,"^",3)
S KMPUVNB=$P(KMPJNODE,"^",4)
S KMPD.Uci=$P(KMPUVNB,"~",1)
S KMPD.Vol=$P(KMPUVNB,"~",1)
S KMPD.Node=$P(KMPUVNB,"~",1)
S KMPD.Box=$P(KMPUVNB,"~",1)
S KMPD.AlternateJobNumber=$P(KMPJNODE,"^",5)
S KMPD.Line=$G(^%ZTER(1,KMPDAT,1,KMPENUM,"LINE"))
S KMPD.ZE=$G(^%ZTER(1,KMPDAT,1,KMPENUM,"ZE"))
S KMPVNUM=0,KMPVOBJ=##class(%DynamicObject).%New()
F S KMPVNUM=$O(^%ZTER(1,KMPDAT,1,KMPENUM,"ZV",KMPVNUM)) Q:+KMPVNUM=0 D
.S KMPVAR=^%ZTER(1,KMPDAT,1,KMPENUM,"ZV",KMPVNUM,0)
.S KMPVAL=^%ZTER(1,KMPDAT,1,KMPENUM,"ZV",KMPVNUM,"D")
.D KMPVOBJ.%Set(KMPVAR,KMPVAL)
S KMPD.Variables=KMPVOBJ
S KMPRET.Status="Error Found"
S KMPRET.Error=KMPD
S KMPRET.ResultText="OK"
W KMPRET.%ToJSON()
Q
;
HTTPMETP ;
N KMPRET,KMPREQ,KMPMCHK,KMPDATE,KMPDCHK,KMPMLIST,KMPSUB,KMPDAY,KMPMTYP,KMPMOBJ,KMPDARR,KMPNODE,KMPT,KMPTIME,KMPDATA
S KMPRET=##class(%DynamicObject).%New()
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
S KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
S KMPRET.Function=KMPREQ.Function
I KMPREQ.Function'="HttpMetrics" D Q 0
.S KMPRET.Status="Incorrect Function Type"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
D SITE^KMPUTLW(KMPRET)
S KMPMCHK=KMPREQ.Montype
I KMPMCHK="" S KMPMCHK="ALL"
S KMPDATE=KMPREQ.Date
I KMPDATE="" D Q
.S KMPRET.Status="No Date Provided"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
; parse odbc date format into fileman data format
S KMPDCHK="3"_$E(KMPDATE,3,4)_$P(KMPDATE,"-",2)_$P(KMPDATE,"-",3)
S KMPRET.Date=KMPDATE
S KMPMLIST=##class(%DynamicArray).%New()
S KMPSUB="KMP"
F S KMPSUB=$O(^XTMP(KMPSUB)) Q:$E(KMPSUB,1,3)'="KMP" D
.S KMPDAY=$P(KMPSUB," ",2)
.Q:KMPDCHK'=KMPDAY
.S KMPMTYP=0
.F S KMPMTYP=$O(^XTMP(KMPSUB,KMPMTYP)) Q:KMPMTYP="" D
..Q:(KMPMCHK'[KMPMTYP)&(KMPMCHK'="ALL")
..S KMPMOBJ=##class(%DynamicObject).%New()
..S KMPMOBJ.Monitor=KMPMTYP
..S KMPDARR=##class(%DynamicArray).%New()
..S KMPNODE=""
..F S KMPNODE=$O(^XTMP(KMPSUB,KMPMTYP,"HTTP",KMPNODE)) Q:KMPNODE="" D
...S KMPT=""
...F S KMPT=$O(^XTMP(KMPSUB,KMPMTYP,"HTTP",KMPNODE,KMPT)) Q:KMPT="" D
....S KMPTIME=$ZT(KMPT)
....S KMPDATA=^XTMP(KMPSUB,KMPMTYP,"HTTP",KMPNODE,KMPT)
....S KMPDATA=KMPTIME_"^"_KMPNODE_"^"_KMPDATA
....D KMPDARR.%Push(KMPDATA)
..S KMPMOBJ.Data=KMPDARR
..D KMPMLIST.%Push(KMPMOBJ)
S KMPRET.Monitors=KMPMLIST
S KMPRET.ResultText="OK"
W KMPRET.%ToJSON()
Q
;
GETOPSP ;
N KMPRET,KMPREQ
S KMPRET=##class(%DynamicObject).%New()
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
S KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
S KMPRET.Function=KMPREQ.Function
I KMPREQ.Function'="GetOps" D Q
.S KMPRET.Status="Incorrect Function Type"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
D GETWEBP^KMPOPS(KMPREQ,KMPRET)
W KMPRET.%ToJSON()
Q
;
GETPACKP ;
N KMPRET,KMPREQ,KMPIEN,KMPPACK,KMPPARR,KMPPNAM,KMPPRE
S KMPRET=##class(%DynamicObject).%New()
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
S KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
S KMPRET.Function=KMPREQ.Function
I KMPREQ.Function'="GetPackages" D Q 0
.S KMPRET.Status="Incorrect Function Type"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
D SITE^KMPUTLW(KMPRET)
S KMPPARR=##class(%DynamicArray).%New()
S KMPPRE=""
F S KMPPRE=$O(^DIC(9.4,"C",KMPPRE)) Q:KMPPRE="" D
.S KMPIEN=""
.F S KMPIEN=$O(^DIC(9.4,"C",KMPPRE,KMPIEN)) Q:KMPIEN="" D
..S KMPPNAM=$P($G(^DIC(9.4,KMPIEN,0)),"^")
..S KMPPACK=##class(%DynamicObject).%New()
..S KMPPACK.Name=KMPPNAM,KMPPACK.Prefix=KMPPRE,KMPPACK.Ien=KMPIEN
..D KMPPARR.%Push(KMPPACK)
S KMPRET.Packages=KMPPARR
S KMPRET.ResultText="OK"
W KMPRET.%ToJSON()
Q
;
GETLOGP ;
N KMPRET,KMPREQ,KMPD,KMPDATA,KMPIEN,KMPMARR,KMPREF,KMPMONLIST,KMPMON,KMPDAYS,KMPSTARTH,KMPENDH,KMPH,KMPMONOBJ
S KMPRET=##class(%DynamicObject).%New()
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
S KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
S KMPRET.Function=KMPREQ.Function
I KMPREQ.Function'="RunLog" D Q 0
.S KMPRET.Status="Incorrect Function Type"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
S KMPSTARTH="",KMPENDH=99999
S KMPDAYS=+KMPREQ.Days
I KMPDAYS D
.S KMPSTARTH=$H-KMPDAYS
S KMPDATE=KMPREQ.Date
I KMPDATE]"" D
.S KMPDATE=$ZDATEH(KMPDATE,3)
.S KMPSTARTH=KMPDATE-1
.S KMPENDH=KMPDATE
S KMPREF("VTCM")=3
S KMPREF("VSTM")=4
S KMPREF("VMCM")=5
S KMPREF("VBEM")=6
S KMPREF("VCSM")=7
S KMPREF("VETM")=8
S KMPREF("VHLM")=9
D SITE^KMPUTLW(KMPRET)
S KMPMARR=##class(%DynamicArray).%New()
S KMPIEN=0
S KMPH=KMPSTARTH
F S KMPH=$O(^KMPV(8969.03,"B",KMPH)) Q:((+KMPH=0)!(KMPH>KMPENDH)) D
.S KMPIEN=$O(^KMPV(8969.03,"B",KMPH,0))
.S KMPDATA=$G(^KMPV(8969.03,KMPIEN,0))
.S KMPD=##class(%DynamicObject).%New()
.S KMPD.Date=$$SHORTDAT^KMPUTLW($P(KMPDATA,"^",1),"HOROLOG"),KMPD.Node=$P(KMPDATA,"^",2)
.S KMPMONLIST=##class(%DynamicArray).%New()
.S KMPMON=""
.F S KMPMON=$O(KMPREF(KMPMON)) Q:KMPMON="" D
..S KMPMONOBJ=##class(%DynamicObject).%New()
..S KMPMONOBJ.Monitor=KMPMON
..S KMPMONOBJ.Timestamp=$P($$TSTAMP^KMPUTLW($P(KMPDATA,"^",KMPREF(KMPMON)),"FILEMAN"),"^")
..D KMPMONLIST.%Push(KMPMONOBJ)
.S KMPD.Something=KMPMONLIST
.D KMPMARR.%Push(KMPD)
S KMPRET.Log=KMPMARR
S KMPRET.ResultText="OK"
W KMPRET.%ToJSON()
Q
;
RETRYP ;
N KMPREQ,KMPRET,KMPMKEY,KMPVER,ZTDESC,ZTDTH,ZTRTN
S KMPRET=##class(%DynamicObject).%New()
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
S KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
S KMPRET.Function=KMPREQ.Function
I KMPREQ.Function'="Retry" D Q 0
.S KMPRET.Status="Incorrect Function Type"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
S KMPMKEY=KMPREQ.Monitor
S ZTDTH=$H
I KMPMKEY="VTCM" S ZTRTN="RETRY^KMPTCMRT",ZTDESC="VTCM RETRY"
I KMPMKEY="VSTM" S ZTRTN="RETRY^KMPSTMRT",ZTDESC="VSTM RETRY"
I KMPMKEY="VBEM" S ZTRTN="RETRY^KMPBEMRT",ZTDESC="VBEM RETRY"
I KMPMKEY="VMCM" S ZTRTN="RETRY^KMPMCMRT",ZTDESC="VMCM RETRY"
I KMPMKEY="VHLM" S ZTRTN="RETRY^KMPHLMRT",ZTDESC="VHLM RETRY"
I KMPMKEY="VCSM" S ZTRTN="RETRY^KMPCSMRT",ZTDESC="VCSM RETRY"
I KMPMKEY="VETM" S ZTRTN="RETRY^KMPETMRT",ZTDESC="VETM RETRY"
D ^ZTLOAD
S KMPRET.ResultText="OK"
D SITE^KMPUTLW(KMPRET)
W KMPRET.%ToJSON()
Q
;
SETCONFIGP ;
N KMPRET,KMPREQ
S KMPRET=##class(%DynamicObject).%New()
Do %response.SetHeader("Access-Control-Allow-Origin","*")
Do %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
S KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
S KMPRET.Function=KMPREQ.Function
I KMPREQ.Function'="SetConfig" D Q 0
.S KMPRET.Status="Incorrect Function Type"
.S KMPRET.ResultText="OK"
.W KMPRET.%ToJSON()
S KMPRET.ResultText=$$SETCFG^KMPUTLW2(KMPREQ)
D SITE^KMPUTLW(KMPRET)
D CPF^KMPUTLW(KMPRET)
D MON^KMPUTLW(KMPRET)
W KMPRET.%ToJSON()
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HKMPURP1 9567 printed Apr 22, 2026@13:39:05 Page 2
KMPURP1 ;SP/JML - VSM POST REST functions ;7/1/2025
+1 ;;4.0;CAPACITY MANAGEMENT;**5**;3/1/2018;Build 9
+2 ;
+3 ;
+4 ;
GETCONFIGP ;
+1 NEW KMPRET,KMPREQ
+2 SET KMPRET=##class(%DynamicObject).%New()
+3 DO %response.SetHeader("Access-Control-Allow-Origin","*")
+4 DO %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
+5 SET KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
+6 SET KMPRET.Function=KMPREQ.Function
+7 IF KMPREQ.Function'="GetConfig"
Begin DoDot:1
+8 SET KMPRET.Status="Incorrect Function Type"
+9 SET KMPRET.ResultText="OK"
+10 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT 0
+11 ;
+12 DO SITE^KMPUTLW(KMPRET)
+13 DO CPF^KMPUTLW(KMPRET)
+14 DO MON^KMPUTLW(KMPRET)
+15 DO MAILGROUPS^KMPUTLW(KMPRET)
+16 SET KMPRET.ResultText="OK"
+17 WRITE KMPRET.%ToJSON()
+18 QUIT
+19 ;
GETERRORP ;
+1 NEW KMRET,KMPREQ,KMPD,KMPDAT,KMPENUM,KMPINODE,KMPJNODE,KMPUVNB,KMPVAL,KMPVAR,KMPVNUM,KMPVOBJ
+2 SET KMPRET=##class(%DynamicObject).%New()
+3 DO %response.SetHeader("Access-Control-Allow-Origin","*")
+4 DO %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
+5 SET KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
+6 SET KMPRET.Function=KMPREQ.Function
+7 IF KMPREQ.Function'="GetError"
Begin DoDot:1
+8 SET KMPRET.Status="Incorrect Function Type"
+9 SET KMPRET.ResultText="OK"
+10 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT 0
+11 DO SITE^KMPUTLW(KMPRET)
+12 SET KMPDAT=KMPREQ.ErrorDate
+13 IF KMPDAT=""
Begin DoDot:1
+14 SET KMPRET.Status="No Date Provided"
+15 SET KMPRET.ResultText="OK"
+16 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT
+17 SET KMPDAT=$ZDATEH(KMPDAT,3)
+18 SET KMPENUM=KMPREQ.ErrorNumber
+19 IF KMPENUM=""
Begin DoDot:1
+20 SET KMPRET.Status="No Error Number Provided"
+21 SET KMPRET.ResultText="OK"
+22 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT 0
+23 SET KMPD=##class(%DynamicObject).%New()
+24 IF '$DATA(^%ZTER(1,KMPDAT,1,KMPENUM))
SET KMPRET.Status="Error Not Found"
QUIT
+25 SET KMPD.ErrorNumber=+$GET(^%ZTER(1,KMPDAT,1,KMPENUM,0))
+26 SET KMPD.LastGlobalReference=$GET(^%ZTER(1,KMPDAT,1,KMPENUM,"GR"))
+27 SET KMPINODE=$GET(^%ZTER(1,KMPDAT,1,KMPENUM,"I"))
+28 SET KMPD.CurrentIo=$PIECE(KMPINODE,"^",1)
+29 SET KMPD.ZaValue=$PIECE(KMPINODE,"^",2)
+30 SET KMPD.ZbValue=$PIECE(KMPINODE,"^",3)
+31 SET KMPD.CurrentZio=$PIECE(KMPINODE,"^",4)
+32 SET KMPD.HValue=$GET(^%ZTER(1,KMPDAT,1,KMPENUM,"H"))
+33 SET KMPJNODE=$GET(^%ZTER(1,KMPDAT,1,KMPENUM,"J"))
+34 SET KMPD.JobNumber=$PIECE(KMPJNODE,"^",1)
+35 SET KMPD.ProcessName=$PIECE(KMPJNODE,"^",2)
+36 SET KMPD.UserName=$PIECE(KMPJNODE,"^",3)
+37 SET KMPUVNB=$PIECE(KMPJNODE,"^",4)
+38 SET KMPD.Uci=$PIECE(KMPUVNB,"~",1)
+39 SET KMPD.Vol=$PIECE(KMPUVNB,"~",1)
+40 SET KMPD.Node=$PIECE(KMPUVNB,"~",1)
+41 SET KMPD.Box=$PIECE(KMPUVNB,"~",1)
+42 SET KMPD.AlternateJobNumber=$PIECE(KMPJNODE,"^",5)
+43 SET KMPD.Line=$GET(^%ZTER(1,KMPDAT,1,KMPENUM,"LINE"))
+44 SET KMPD.ZE=$GET(^%ZTER(1,KMPDAT,1,KMPENUM,"ZE"))
+45 SET KMPVNUM=0
SET KMPVOBJ=##class(%DynamicObject).%New()
+46 FOR
SET KMPVNUM=$ORDER(^%ZTER(1,KMPDAT,1,KMPENUM,"ZV",KMPVNUM))
if +KMPVNUM=0
QUIT
Begin DoDot:1
+47 SET KMPVAR=^%ZTER(1,KMPDAT,1,KMPENUM,"ZV",KMPVNUM,0)
+48 SET KMPVAL=^%ZTER(1,KMPDAT,1,KMPENUM,"ZV",KMPVNUM,"D")
+49 DO KMPVOBJ.%Set(KMPVAR,KMPVAL)
End DoDot:1
+50 SET KMPD.Variables=KMPVOBJ
+51 SET KMPRET.Status="Error Found"
+52 SET KMPRET.Error=KMPD
+53 SET KMPRET.ResultText="OK"
+54 WRITE KMPRET.%ToJSON()
+55 QUIT
+56 ;
HTTPMETP ;
+1 NEW KMPRET,KMPREQ,KMPMCHK,KMPDATE,KMPDCHK,KMPMLIST,KMPSUB,KMPDAY,KMPMTYP,KMPMOBJ,KMPDARR,KMPNODE,KMPT,KMPTIME,KMPDATA
+2 SET KMPRET=##class(%DynamicObject).%New()
+3 DO %response.SetHeader("Access-Control-Allow-Origin","*")
+4 DO %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
+5 SET KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
+6 SET KMPRET.Function=KMPREQ.Function
+7 IF KMPREQ.Function'="HttpMetrics"
Begin DoDot:1
+8 SET KMPRET.Status="Incorrect Function Type"
+9 SET KMPRET.ResultText="OK"
+10 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT 0
+11 DO SITE^KMPUTLW(KMPRET)
+12 SET KMPMCHK=KMPREQ.Montype
+13 IF KMPMCHK=""
SET KMPMCHK="ALL"
+14 SET KMPDATE=KMPREQ.Date
+15 IF KMPDATE=""
Begin DoDot:1
+16 SET KMPRET.Status="No Date Provided"
+17 SET KMPRET.ResultText="OK"
+18 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT
+19 ; parse odbc date format into fileman data format
+20 SET KMPDCHK="3"_$EXTRACT(KMPDATE,3,4)_$PIECE(KMPDATE,"-",2)_$PIECE(KMPDATE,"-",3)
+21 SET KMPRET.Date=KMPDATE
+22 SET KMPMLIST=##class(%DynamicArray).%New()
+23 SET KMPSUB="KMP"
+24 FOR
SET KMPSUB=$ORDER(^XTMP(KMPSUB))
if $EXTRACT(KMPSUB,1,3)'="KMP"
QUIT
Begin DoDot:1
+25 SET KMPDAY=$PIECE(KMPSUB," ",2)
+26 if KMPDCHK'=KMPDAY
QUIT
+27 SET KMPMTYP=0
+28 FOR
SET KMPMTYP=$ORDER(^XTMP(KMPSUB,KMPMTYP))
if KMPMTYP=""
QUIT
Begin DoDot:2
+29 if (KMPMCHK'[KMPMTYP)&(KMPMCHK'="ALL")
QUIT
+30 SET KMPMOBJ=##class(%DynamicObject).%New()
+31 SET KMPMOBJ.Monitor=KMPMTYP
+32 SET KMPDARR=##class(%DynamicArray).%New()
+33 SET KMPNODE=""
+34 FOR
SET KMPNODE=$ORDER(^XTMP(KMPSUB,KMPMTYP,"HTTP",KMPNODE))
if KMPNODE=""
QUIT
Begin DoDot:3
+35 SET KMPT=""
+36 FOR
SET KMPT=$ORDER(^XTMP(KMPSUB,KMPMTYP,"HTTP",KMPNODE,KMPT))
if KMPT=""
QUIT
Begin DoDot:4
+37 SET KMPTIME=$ZT(KMPT)
+38 SET KMPDATA=^XTMP(KMPSUB,KMPMTYP,"HTTP",KMPNODE,KMPT)
+39 SET KMPDATA=KMPTIME_"^"_KMPNODE_"^"_KMPDATA
+40 DO KMPDARR.%Push(KMPDATA)
End DoDot:4
End DoDot:3
+41 SET KMPMOBJ.Data=KMPDARR
+42 DO KMPMLIST.%Push(KMPMOBJ)
End DoDot:2
End DoDot:1
+43 SET KMPRET.Monitors=KMPMLIST
+44 SET KMPRET.ResultText="OK"
+45 WRITE KMPRET.%ToJSON()
+46 QUIT
+47 ;
GETOPSP ;
+1 NEW KMPRET,KMPREQ
+2 SET KMPRET=##class(%DynamicObject).%New()
+3 DO %response.SetHeader("Access-Control-Allow-Origin","*")
+4 DO %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
+5 SET KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
+6 SET KMPRET.Function=KMPREQ.Function
+7 IF KMPREQ.Function'="GetOps"
Begin DoDot:1
+8 SET KMPRET.Status="Incorrect Function Type"
+9 SET KMPRET.ResultText="OK"
+10 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT
+11 DO GETWEBP^KMPOPS(KMPREQ,KMPRET)
+12 WRITE KMPRET.%ToJSON()
+13 QUIT
+14 ;
GETPACKP ;
+1 NEW KMPRET,KMPREQ,KMPIEN,KMPPACK,KMPPARR,KMPPNAM,KMPPRE
+2 SET KMPRET=##class(%DynamicObject).%New()
+3 DO %response.SetHeader("Access-Control-Allow-Origin","*")
+4 DO %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
+5 SET KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
+6 SET KMPRET.Function=KMPREQ.Function
+7 IF KMPREQ.Function'="GetPackages"
Begin DoDot:1
+8 SET KMPRET.Status="Incorrect Function Type"
+9 SET KMPRET.ResultText="OK"
+10 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT 0
+11 DO SITE^KMPUTLW(KMPRET)
+12 SET KMPPARR=##class(%DynamicArray).%New()
+13 SET KMPPRE=""
+14 FOR
SET KMPPRE=$ORDER(^DIC(9.4,"C",KMPPRE))
if KMPPRE=""
QUIT
Begin DoDot:1
+15 SET KMPIEN=""
+16 FOR
SET KMPIEN=$ORDER(^DIC(9.4,"C",KMPPRE,KMPIEN))
if KMPIEN=""
QUIT
Begin DoDot:2
+17 SET KMPPNAM=$PIECE($GET(^DIC(9.4,KMPIEN,0)),"^")
+18 SET KMPPACK=##class(%DynamicObject).%New()
+19 SET KMPPACK.Name=KMPPNAM
SET KMPPACK.Prefix=KMPPRE
SET KMPPACK.Ien=KMPIEN
+20 DO KMPPARR.%Push(KMPPACK)
End DoDot:2
End DoDot:1
+21 SET KMPRET.Packages=KMPPARR
+22 SET KMPRET.ResultText="OK"
+23 WRITE KMPRET.%ToJSON()
+24 QUIT
+25 ;
GETLOGP ;
+1 NEW KMPRET,KMPREQ,KMPD,KMPDATA,KMPIEN,KMPMARR,KMPREF,KMPMONLIST,KMPMON,KMPDAYS,KMPSTARTH,KMPENDH,KMPH,KMPMONOBJ
+2 SET KMPRET=##class(%DynamicObject).%New()
+3 DO %response.SetHeader("Access-Control-Allow-Origin","*")
+4 DO %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
+5 SET KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
+6 SET KMPRET.Function=KMPREQ.Function
+7 IF KMPREQ.Function'="RunLog"
Begin DoDot:1
+8 SET KMPRET.Status="Incorrect Function Type"
+9 SET KMPRET.ResultText="OK"
+10 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT 0
+11 SET KMPSTARTH=""
SET KMPENDH=99999
+12 SET KMPDAYS=+KMPREQ.Days
+13 IF KMPDAYS
Begin DoDot:1
+14 SET KMPSTARTH=$HOROLOG-KMPDAYS
End DoDot:1
+15 SET KMPDATE=KMPREQ.Date
+16 IF KMPDATE]""
Begin DoDot:1
+17 SET KMPDATE=$ZDATEH(KMPDATE,3)
+18 SET KMPSTARTH=KMPDATE-1
+19 SET KMPENDH=KMPDATE
End DoDot:1
+20 SET KMPREF("VTCM")=3
+21 SET KMPREF("VSTM")=4
+22 SET KMPREF("VMCM")=5
+23 SET KMPREF("VBEM")=6
+24 SET KMPREF("VCSM")=7
+25 SET KMPREF("VETM")=8
+26 SET KMPREF("VHLM")=9
+27 DO SITE^KMPUTLW(KMPRET)
+28 SET KMPMARR=##class(%DynamicArray).%New()
+29 SET KMPIEN=0
+30 SET KMPH=KMPSTARTH
+31 FOR
SET KMPH=$ORDER(^KMPV(8969.03,"B",KMPH))
if ((+KMPH=0)!(KMPH>KMPENDH))
QUIT
Begin DoDot:1
+32 SET KMPIEN=$ORDER(^KMPV(8969.03,"B",KMPH,0))
+33 SET KMPDATA=$GET(^KMPV(8969.03,KMPIEN,0))
+34 SET KMPD=##class(%DynamicObject).%New()
+35 SET KMPD.Date=$$SHORTDAT^KMPUTLW($PIECE(KMPDATA,"^",1),"HOROLOG")
SET KMPD.Node=$PIECE(KMPDATA,"^",2)
+36 SET KMPMONLIST=##class(%DynamicArray).%New()
+37 SET KMPMON=""
+38 FOR
SET KMPMON=$ORDER(KMPREF(KMPMON))
if KMPMON=""
QUIT
Begin DoDot:2
+39 SET KMPMONOBJ=##class(%DynamicObject).%New()
+40 SET KMPMONOBJ.Monitor=KMPMON
+41 SET KMPMONOBJ.Timestamp=$PIECE($$TSTAMP^KMPUTLW($PIECE(KMPDATA,"^",KMPREF(KMPMON)),"FILEMAN"),"^")
+42 DO KMPMONLIST.%Push(KMPMONOBJ)
End DoDot:2
+43 SET KMPD.Something=KMPMONLIST
+44 DO KMPMARR.%Push(KMPD)
End DoDot:1
+45 SET KMPRET.Log=KMPMARR
+46 SET KMPRET.ResultText="OK"
+47 WRITE KMPRET.%ToJSON()
+48 QUIT
+49 ;
RETRYP ;
+1 NEW KMPREQ,KMPRET,KMPMKEY,KMPVER,ZTDESC,ZTDTH,ZTRTN
+2 SET KMPRET=##class(%DynamicObject).%New()
+3 DO %response.SetHeader("Access-Control-Allow-Origin","*")
+4 DO %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
+5 SET KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
+6 SET KMPRET.Function=KMPREQ.Function
+7 IF KMPREQ.Function'="Retry"
Begin DoDot:1
+8 SET KMPRET.Status="Incorrect Function Type"
+9 SET KMPRET.ResultText="OK"
+10 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT 0
+11 SET KMPMKEY=KMPREQ.Monitor
+12 SET ZTDTH=$HOROLOG
+13 IF KMPMKEY="VTCM"
SET ZTRTN="RETRY^KMPTCMRT"
SET ZTDESC="VTCM RETRY"
+14 IF KMPMKEY="VSTM"
SET ZTRTN="RETRY^KMPSTMRT"
SET ZTDESC="VSTM RETRY"
+15 IF KMPMKEY="VBEM"
SET ZTRTN="RETRY^KMPBEMRT"
SET ZTDESC="VBEM RETRY"
+16 IF KMPMKEY="VMCM"
SET ZTRTN="RETRY^KMPMCMRT"
SET ZTDESC="VMCM RETRY"
+17 IF KMPMKEY="VHLM"
SET ZTRTN="RETRY^KMPHLMRT"
SET ZTDESC="VHLM RETRY"
+18 IF KMPMKEY="VCSM"
SET ZTRTN="RETRY^KMPCSMRT"
SET ZTDESC="VCSM RETRY"
+19 IF KMPMKEY="VETM"
SET ZTRTN="RETRY^KMPETMRT"
SET ZTDESC="VETM RETRY"
+20 DO ^ZTLOAD
+21 SET KMPRET.ResultText="OK"
+22 DO SITE^KMPUTLW(KMPRET)
+23 WRITE KMPRET.%ToJSON()
+24 QUIT
+25 ;
SETCONFIGP ;
+1 NEW KMPRET,KMPREQ
+2 SET KMPRET=##class(%DynamicObject).%New()
+3 DO %response.SetHeader("Access-Control-Allow-Origin","*")
+4 DO %response.SetHeader("Allow","HEAD,GET,POST,PUT,DELETE,OPTIONS")
+5 SET KMPREQ=##class(%DynamicAbstractObject).%FromJSON(%request.Content)
+6 SET KMPRET.Function=KMPREQ.Function
+7 IF KMPREQ.Function'="SetConfig"
Begin DoDot:1
+8 SET KMPRET.Status="Incorrect Function Type"
+9 SET KMPRET.ResultText="OK"
+10 WRITE KMPRET.%ToJSON()
End DoDot:1
QUIT 0
+11 SET KMPRET.ResultText=$$SETCFG^KMPUTLW2(KMPREQ)
+12 DO SITE^KMPUTLW(KMPRET)
+13 DO CPF^KMPUTLW(KMPRET)
+14 DO MON^KMPUTLW(KMPRET)
+15 WRITE KMPRET.%ToJSON()
+16 QUIT