1 | PRCNEQA2 ;SSI/ALA-Equipment Committee Approval ;[ 09/11/96 2:01 PM ]
|
---|
2 | ;;1.0;Equipment/Turn-In Request;;Sep 13, 1996
|
---|
3 | BEG K DIR,Y,^TMP($J,"APP") S PRCNX=0,PRCNT=0,PRCNZ=-17,PG=1
|
---|
4 | BLST ; Build list of Equipment Requests
|
---|
5 | S PRCNX=$O(^PRCN(413,PRCNX)) G:PRCNX'>0 BPRT
|
---|
6 | I $P(^PRCN(413,PRCNX,0),U,7)=31 D
|
---|
7 | . S PRCNT=PRCNT+1,^TMP($J,"APP",PG,PRCNT)=PRCNX
|
---|
8 | . I PRCNT=12 S PG=PG+1
|
---|
9 | G BLST
|
---|
10 | BPRT ; Update display number and print a screenful
|
---|
11 | S NPG=PG,PG=1
|
---|
12 | BLP ; Main loop: get input & process help
|
---|
13 | D HDR
|
---|
14 | I PRCNT=0 D Q
|
---|
15 | . W !!,"NO RECORDS TO PROCESS"
|
---|
16 | . R !!,"Press return to continue: ",PRCNX:DTIME
|
---|
17 | K ^TMP($J,"APP","D"),DUOUT S X=0,ER=0,ER(0)=""
|
---|
18 | SEL I NPG>1 S DIR(0)="SM^S:Select Requests;N:Next Page;P:Previous Page"
|
---|
19 | I NPG=1 G SEL1
|
---|
20 | S DIR("A")="Select Action "
|
---|
21 | D ^DIR K DIR S VTI=$$UP^XLFSTR(X) I VTI["^" Q
|
---|
22 | I VTI="N",PG+1>NPG W !,"No Next Page" G SEL
|
---|
23 | I VTI="P",PG-1<1 W !,"No Previous Page" G SEL
|
---|
24 | I VTI="N" S PG=PG+1 G BLP
|
---|
25 | I VTI="P" S PG=PG-1 G BLP
|
---|
26 | SEL1 ;
|
---|
27 | S DIR("A")="Select numbers to process",DIR(0)="L^1:"_PRCNT
|
---|
28 | D ^DIR Q:$G(DIRUT)=1 S EQLS=Y K DIR,Y,X
|
---|
29 | F J=1:1 S EQDA=$P(EQLS,",",J) Q:EQDA="" D
|
---|
30 | . S PPG="" F S PPG=$O(^TMP($J,"APP",PPG)) Q:PPG="" D
|
---|
31 | .. Q:$G(^TMP($J,"APP",PPG,EQDA))=""
|
---|
32 | .. S ^TMP($J,"APP","D",^TMP($J,"APP",PPG,EQDA))=""
|
---|
33 | Q
|
---|
34 | HDR ; Prints NX header and up to 12 lines of NX data
|
---|
35 | D:'$D(IOF) HOME^%ZIS
|
---|
36 | W @IOF,?15,EQXT_" in the following Equipment Requests",!
|
---|
37 | W !,"Num#",?7,"Rank",?13,"Request #",?33,"Service",?60,"# Items",?70,"Amount",!
|
---|
38 | F I=1:1:79 W "-"
|
---|
39 | S Y="" F S Y=$O(^TMP($J,"APP",PG,Y)) Q:Y="" S D0=^TMP($J,"APP",PG,Y) D
|
---|
40 | . D GETSUMS W !,Y,?7,$P($G(^PRCN(413,D0,6)),U,3)
|
---|
41 | . W ?13,$P($G(^PRCN(413,D0,0)),U) S SERV=$P(^DIC(49,$P(^(0),U,3),0),U)
|
---|
42 | . W ?33,$E(SERV,1,25),?62,TQTY,?70,"$",$J(TOTAL,8,2)
|
---|
43 | Q
|
---|
44 | GETSUMS ; Get line item total & display stuff
|
---|
45 | S (D1,TQTY,TOTAL,LTOTAL)=0 NEW Y
|
---|
46 | F S D1=$O(^PRCN(413,D0,1,D1)) Q:'+D1 D S TQTY=TQTY+1
|
---|
47 | . S DR=15,DR(413.015)=6,DIQ(0)="C",DIQ="LBTOT"
|
---|
48 | . S DIC=413,DA=D0,DA(1)=D1,DA(413.015)=D1 NEW D1
|
---|
49 | . D EN^DIQ1
|
---|
50 | . S LBN="" F S LBN=$O(LBTOT(413.015,LBN)) Q:LBN="" D
|
---|
51 | .. S X=$G(LBTOT(413.015,LBN,6))
|
---|
52 | .. S LTOTAL=LTOTAL+X
|
---|
53 | . K DR,DIQ,LBTOT,DIC,X
|
---|
54 | S TOTAL=TOTAL+LTOTAL F FN=20,22,24,53,54,60,63,65,66 D
|
---|
55 | . S:FN<25 I=2,PN=FN-15 S:FN>25 I=7,PN=FN-51
|
---|
56 | . S COST=$P($G(^PRCN(413,D0,I)),U,PN),TOTAL=TOTAL+COST
|
---|
57 | Q
|
---|