1 | PRCNRNK ;SSI/ALA-Rank Requests for Committee ;[ 07/19/96 10:43 AM ]
|
---|
2 | ;;1.0;Equipment/Turn-In Request;;Sep 13, 1996
|
---|
3 | SELECT ; Select a transaction
|
---|
4 | W @IOF S DIC("S")="I $P(^(0),U,7)=10!($P(^(0),U,7)=31)",DIC="^PRCN(413,"
|
---|
5 | S DIC(0)="AEQZ" D ^DIC K DIC("S") G EXIT:Y<0
|
---|
6 | S IN=+Y,PRCNUSR=8 D SETUP^PRCNPRNT Q:$D(EDIT)
|
---|
7 | K DUOUT S DR="[PRCNRNK]",DIE="^PRCN(413,",DA=IN D ^DIE
|
---|
8 | G SELECT
|
---|
9 | EXIT K DIC,DIE,DA,IN,PRCNUSR,PRCC,OLDRANK,LPRI,PRCNDEF,EDIT,OLD,RANKMAX
|
---|
10 | K DR,C,D,D0
|
---|
11 | Q
|
---|
12 | RANKMAX ; Calculate maximum equipment committee rank
|
---|
13 | S OLDRANK=$P($G(^PRCN(413,IN,6)),U,3),(RANKMAX,I)=0
|
---|
14 | F S I=$O(^PRCN(413,"E",I)) Q:'I S RANKMAX=I
|
---|
15 | S RANKMAX=RANKMAX+1
|
---|
16 | Q
|
---|
17 | EN ;Check on entered priority
|
---|
18 | K:+X'=X!(X>999)!(X<1)!(X?.E1"."1N.N) X
|
---|
19 | I $G(X)="" Q
|
---|
20 | ; Check if priority X already exists for this service
|
---|
21 | Q:'$D(^PRCN(413,"E",X))
|
---|
22 | Q:$D(^PRCN(413,"E",X,DA))
|
---|
23 | NEW I
|
---|
24 | I $D(^PRCN(413,"E",X)) S START=X D DOWN S DA=ORGDA
|
---|
25 | K START,ORGDA
|
---|
26 | Q
|
---|
27 | DOWN ; Insert this transaction & shift others one priority #
|
---|
28 | S LPRI=RANKMAX S ORGDA=DA NEW DA S DA=ORGDA
|
---|
29 | S ^PRCN(413,"E",START,ORGDA)=""
|
---|
30 | S NXPR=START D GETDA
|
---|
31 | I OTHDA'="",OTHDA'=DA S NXPR=START D GETPR
|
---|
32 | K OTHDA,DA,NXPR,START,OLDA
|
---|
33 | Q
|
---|
34 | DRANK ; Display ranks. Called as special help for rank fld.
|
---|
35 | W !!,"Ranking list:" S I=0,PRCNCT=0
|
---|
36 | F S I=$O(^PRCN(413,"E",I)) Q:'+I D Q:$G(PRCC)'=""
|
---|
37 | . S J=$O(^PRCN(413,"E",I,"")),PRCNCT=PRCNCT+1
|
---|
38 | . I PRCNCT>20 D CHKPG Q:$G(PRCC)'=""
|
---|
39 | . W !,I,?8,$P(^PRCN(413,J,0),U),?28,$P(^PRCN(413,J,0),U,18)
|
---|
40 | K I,J,PRCC,PRCNCT
|
---|
41 | Q
|
---|
42 | CHKPG ; If printing to screen & it is full, clear screen
|
---|
43 | W !,"Hit RETURN to continue or '^' to quit. "
|
---|
44 | R PRCC:DTIME S:'$T PRCC=U I PRCC'?1"^".E K PRCC Q
|
---|
45 | S PRCNCT=0
|
---|
46 | Q
|
---|
47 | GETPR S NXPR=$O(^PRCN(413,"E",NXPR))
|
---|
48 | I NXPR'=(START+1) S NXPR=START+1 D SETDA Q
|
---|
49 | I NXPR=(START+1) D SETDA S START=NXPR,DA=OTHDA D GETDA G GETPR
|
---|
50 | Q
|
---|
51 | SETDA S $P(^PRCN(413,OTHDA,6),U,3)=NXPR,^PRCN(413,"E",NXPR,OTHDA)=""
|
---|
52 | K ^PRCN(413,"E",START,OTHDA)
|
---|
53 | Q
|
---|
54 | GETDA S OLDA="" F S OLDA=$O(^PRCN(413,"E",NXPR,OLDA)) Q:OLDA="" S:OLDA'=DA OTHDA=OLDA
|
---|
55 | Q
|
---|