Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AMQQRMD

AMQQRMD.m

Go to the documentation of this file.
  1. AMQQRMD ; IHS/CMI/THL - DATE BUCKETS ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. I AMQQCCLS="V" G:$D(AMQP(1)) START Q
  1. I '$D(AMQQHOLD)!('$D(AMQQUATN)) Q
  1. S %=$P($G(^UTILITY("AMQQ",$J,"AG",AMQQUATN,AMQQHOLD)),U,3)
  1. I '% Q
  1. S AMQP(1)=%
  1. START I '$D(AMQQDZ) S (AMQQDZ,AMQQDX)=0
  1. S AMQQDZ=AMQQDZ+1
  1. I IOST["C-",AMQQDZ>1 W $C(13),AMQQDZ I AMQQDX W " (",AMQQDX,")"
  1. I AMQQDZ>1 D SET Q
  1. I IOST["C-" W !!!!,"CRUNCH, CRUNCH....",!!
  1. D PRE
  1. D SET
  1. EXIT K %,%H,%T,%Y,A,G,I,J,N,Z
  1. Q
  1. ;
  1. FAIL S AMQQDX=AMQQDX+1
  1. I AMQQDZ>1 W $C(13),AMQQDZ," (",AMQQDX,")"
  1. Q
  1. ;
  1. COUNT S (D1,AMQQDDS)=AMQQDDS\1
  1. S (D2,AMQQDDF)=AMQQDDF\1
  1. S Y=AMQQDDS
  1. X ^DD("DD")
  1. S AMQQDDS=Y
  1. S Y=AMQQDDF
  1. X ^DD("DD")
  1. S AMQQDDF=Y
  1. I (D2-D1)<8 K D1,D2 Q
  1. F Y=2,1 S X=@("D"_Y) D H^%DTC S X(Y)=%H
  1. S X(0)=%Y
  1. S X=X(2)-X(1)+1
  1. S Y=X\7
  1. S Z=X#7
  1. S %=$E("01234560123456",%Y+1,%Y+Z)
  1. S X=""
  1. F I=1:1:7 S X=X_(Y+(%[(I-1)))_U
  1. S AMQQDD=X K D1,D2
  1. Q
  1. ;
  1. PRE K ^UTILITY("AMQQ",$J,"DOW")
  1. S AMQQDGR="^UTILITY(""AMQQ"",$J,""DOW"")"
  1. F I=0:1:23 S @AMQQDGR@("B",I)=0
  1. F I=0:1:6 S @AMQQDGR@("C",I)=0
  1. S AMQQDTOT=0
  1. Q
  1. ;
  1. SET S %=+^AUPNVSIT(AMQP(1),0),AMQQDAY=%\1
  1. I %'["." D FAIL Q
  1. I '$D(AMQQDDS) S AMQQDDS=%
  1. I '$D(AMQQDDF) S AMQQDDF=%
  1. I %<AMQQDDS S AMQQDDS=%
  1. I %>AMQQDDF S AMQQDDF=%
  1. S %=$P(%,".",2)
  1. S %="."_%
  1. S %=$J(%,1,4)
  1. S AMQQDTIM=(%*100)\1
  1. S X=AMQQDAY
  1. D H^%DTC
  1. S AMQQDAY=%Y
  1. S %=$G(@AMQQDGR@("A",AMQQDTIM,AMQQDAY)),^(AMQQDAY)=%+1
  1. S %=$G(@AMQQDGR@("B",AMQQDTIM)),^(AMQQDTIM)=%+1
  1. S %=$G(@AMQQDGR@("C",AMQQDAY)),^(AMQQDAY)=%+1
  1. S AMQQDTOT=AMQQDTOT+1
  1. Q
  1. ;
  1. PRINT I '$D(AMQQDDS) G PEXIT
  1. D COUNT
  1. D HEADER
  1. S AMQQDGR="^UTILITY(""AMQQ"",$J,""DOW"")"
  1. F AMQQDLIN=0:1:23 D:AMQQDLIN&'(AMQQDLIN#(IOSL-4)) PAUSE G:AMQQDLIN=999999 PEXIT D B1
  1. W !!,"TOTAL"
  1. S I=0
  1. F J=16:8 W ?J,@AMQQDGR@("C",I) S I=I+1 I I=7 W ?(J+8),AMQQDTOT Q
  1. I $D(AMQQDD) W !,"DAYS" S (I,N)=0 F J=16:8 S I=I+1 W ?J,$P(AMQQDD,U,I) S N=N+$P(AMQQDD,U,I) I I=7 W ?(J+8),N Q
  1. I $D(AMQQDD) W !,"AVERAGE" S I=0 F J=16:8 D AVE I I=7 W ?(J+8) S %=AMQQDTOT/N,%=$J(%,1,1) W % Q
  1. I IOST'?1"C-".E W @IOF D ^%ZISC G PEXIT
  1. D ^%ZISC
  1. R !!,"<>",AMQQDY:DTIME
  1. PEXIT K X,Y,Z,A,G,AMQQDZ,AMQQDX,AMQQDLIN,N,AMQQDAY,AMQQDTIM,AMQQDTOT,%H,%Y,%T,AMQQDY,AMQQDGR,AMQQDDS,AMQQDDF,AMQQDD,AMQQRMFL
  1. Q
  1. ;
  1. AVE S I=I+1
  1. I '$P(AMQQDD,U,I) S %=0
  1. E S %=@AMQQDGR@("C",I-1)/$P(AMQQDD,U,I)
  1. S %=$J(%,1,1)
  1. W ?J,%
  1. Q
  1. ;
  1. B1 S %=AMQQDLIN
  1. S %=%*100
  1. S X=%
  1. S Y=%+59
  1. S I=0
  1. I %<1000 S X="0"_X,Y="0"_Y
  1. I X="00" S X="0000",Y="0059"
  1. W !,X,"-",Y
  1. F J=16:8 W ?J,$S($D(@AMQQDGR@("A",AMQQDLIN,I)):^(I),1:".") S I=I+1 I I=7 W ?(J+8),@AMQQDGR@("B",AMQQDLIN) Q
  1. Q
  1. ;
  1. PAUSE I IOST["C-" R !,"<>",AMQQRQ:DTIME S:'$T!(AMQQRQ=U) AMQQDLIN=999999 K AMQQRQ
  1. I AMQQDLIN=999999 Q
  1. D HEADER
  1. Q
  1. ;
  1. W !,"WORKLOAD DISTRIBUTION REPORT: ",AMQQDDS," to ",AMQQDDF,!
  1. W "VISIT TIME"
  1. S I=0
  1. F J=14:8 S I=I+1 W ?J,$P("SUN^MON^TUE^WED^THU^FRI^SAT",U,I) I I=7 W ?(J+8),"TOT" Q
  1. S AMQQDY=""
  1. S $P(AMQQDY,"-",80)=""
  1. W !,AMQQDY
  1. K AMQQRI,AMQQRJ,AMQQDY
  1. Q
  1. ;
  1. WORKTASK S ZTRTN="WORKRUN^AMQQRMD"
  1. S ZTIO=ION
  1. S ZTDTH="NOW"
  1. S ZTDESC="Q-MAN WORKLOAD DISTRIBUTION REPORT"
  1. F I=1:1 S %=$P("AMQQRMFL;AMQV(;AMQQ200(;AMQQRV;AMQQNV;AMQQXV;^UTILITY(""AMQQ"",$J,;^UTILITY(""AMQQ RAND"",$J,;^UTILITY(""AMQQ TAX"",$J,",";",I) Q:%="" S ZTSAVE(%)=""
  1. D ^%ZTLOAD
  1. D ^%ZISC
  1. W !!,$S($D(ZTSK):"Request queued!",1:"Request cancelled!"),!!!
  1. H 3
  1. Q
  1. ;
  1. WORK ; ENTRY POINT FROM AMQQCMPL
  1. D DEV
  1. I $D(AMQQQUIT) Q
  1. S AMQQRMFL="^AMQQRMD"
  1. I $D(IO("Q")) D WORKTASK D ^%ZISC W @IOF Q
  1. U IO D WORKRUN D ^%ZISC
  1. Q
  1. ;
  1. DEV W !!!
  1. S %ZIS="Q"
  1. D ^%ZIS
  1. I POP K DUOUT,DTOUT,POP S AMQQQUIT=""
  1. D PRINT^AMQQSEC E W " <= Not a secure device!!",*7 G DEV
  1. I $D(IO("Q")),IO=IO(0) W !!,"You can not queue a job to a slave printer..Try again",!!,*7 G DEV
  1. Q
  1. ;
  1. WORKRUN W @IOF
  1. X AMQV(0)
  1. D PRINT
  1. I IOST["P-" W @IOF
  1. I $D(ZTQUEUED) D EXIT2^AMQQKILL S ZTREQ="@"
  1. Q
  1. ;