1 | FSCRPCEB ;SLC/STAFF-NOIS RPC Edit Batch ;9/6/98 21:55
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | ;
|
---|
4 | BATCH(IN,OUT) ; from FSCRPX (RPCEditBatch)
|
---|
5 | N CALL,EDITDATA,EDITED,FIELDS,NUM,PDATA K FIELDS
|
---|
6 | K ^TMP("FSC BATCH CALLS",$J),^TMP("FSC WP",$J)
|
---|
7 | D CALLS
|
---|
8 | D PROCESS^FSCRPCNC(.FIELDS)
|
---|
9 | S EDITDATA=$$EDITDATA(.FIELDS)
|
---|
10 | S PDATA=$$PDATA(.FIELDS)
|
---|
11 | I $L($G(FIELDS("SUBJECT"))) S FIELDS("SUBJECT")=$$FIX^FSCRPCEC(FIELDS("SUBJECT"))
|
---|
12 | I $L($G(FIELDS("PHONE"))) S FIELDS("PHONE")=$$FIX^FSCRPCEC(FIELDS("PHONE"))
|
---|
13 | I $L($G(FIELDS("PATCH"))) S FIELDS("PATCH")=$$FIX^FSCRPCEC(FIELDS("PATCH"))
|
---|
14 | I $L($G(FIELDS("KEYWORDS"))) S FIELDS("KEYWORDS")=$$FIX^FSCRPCEC(FIELDS("KEYWORDS"))
|
---|
15 | I $L($G(FIELDS("WEB"))) S FIELDS("WEB")=$$FIX^FSCRPCEC(FIELDS("WEB"))
|
---|
16 | I $L($G(FIELDS("PLONG"))) S FIELDS("PLONG")=$$FIX^FSCRPCEC(FIELDS("PLONG"))
|
---|
17 | I $L($G(FIELDS("PSHORT"))) S FIELDS("PSHORT")=$$FIX^FSCRPCEC(FIELDS("PSHORT"))
|
---|
18 | I $L($G(FIELDS("PNUM"))) S FIELDS("PNUM")=+FIELDS("PNUM")
|
---|
19 | I $L($G(FIELDS("HRS"))) S FIELDS("HRS")=+FIELDS("HRS")
|
---|
20 | S NUM=0 F S NUM=$O(^TMP("FSC BATCH CALLS",$J,NUM)) Q:NUM<1 S CALL=+^(NUM) D
|
---|
21 | .I '$D(^FSCD("CALL",CALL,0)) Q
|
---|
22 | .S EDITED=0
|
---|
23 | .I EDITDATA D FIELDS^FSCRPCEF(CALL,.FIELDS,.EDITED)
|
---|
24 | .I $D(FIELDS("WEB")) D WEB(CALL,FIELDS("WEB"),.EDITED)
|
---|
25 | .I EDITED D UPDATE^FSCAUDIT(CALL)
|
---|
26 | .I PDATA D PFIELDS(CALL,.FIELDS,.EDITED)
|
---|
27 | .I EDITED D MRE^FSCMR(DUZ,CALL)
|
---|
28 | .I $D(FIELDS("HRS")) D WKLD(CALL,.FIELDS)
|
---|
29 | .S ^TMP("FSC CURRENT LIST",$J,+$G(^TMP("FSC CURRENT LIST",$J,"C",CALL)))=CALL_U_$$SHORT^FSCRPXUS(CALL,DUZ)
|
---|
30 | K ^TMP("FSC BATCH CALLS",$J),^TMP("FSC WP",$J)
|
---|
31 | Q
|
---|
32 | ;
|
---|
33 | CALLS ;
|
---|
34 | N CALL,DONE,LINE,NUM
|
---|
35 | S NUM=0 F S NUM=$O(^TMP("FSCRPC",$J,"INPUT",NUM)) Q:NUM<1 S LINE=^(NUM) I LINE="{CALLS}" D Q
|
---|
36 | .K ^TMP("FSCRPC",$J,"INPUT",NUM)
|
---|
37 | .F S NUM=$O(^TMP("FSCRPC",$J,"INPUT",NUM)) Q:NUM<1 S LINE=^(NUM) S DONE=0 D I DONE Q
|
---|
38 | ..K ^TMP("FSCRPC",$J,"INPUT",NUM)
|
---|
39 | ..I LINE="{{{}}}" S DONE=1 Q
|
---|
40 | ..S ^TMP("FSC BATCH CALLS",$J,NUM)=LINE
|
---|
41 | Q
|
---|
42 | ;
|
---|
43 | EDITDATA(FIELDS) ; $$(fields) -> 1 if used to edit call's fields, else 0
|
---|
44 | N OK,FNAME
|
---|
45 | S OK=0
|
---|
46 | F FNAME="STATUS","SUBJECT","PHONE","PATCH","KEYWORDS","MOD","IRM","PRI","SPEC","SPECD","DEVSUB" I $D(FIELDS(FNAME)) S OK=1 Q
|
---|
47 | I 'OK F FNAME="DESC","NOTE","RES" I $O(^TMP("FSC WP",$J,FNAME,0)) S OK=1 Q
|
---|
48 | Q OK
|
---|
49 | ;
|
---|
50 | PDATA(FIELDS) ; $$(fields) -> 1 if edit personal fields, else 0
|
---|
51 | N OK,FNAME
|
---|
52 | S OK=0
|
---|
53 | F FNAME="PSHORT","PLONG","PNUM","PNOTE" I $D(FIELDS(FNAME)) S OK=1 Q
|
---|
54 | Q OK
|
---|
55 | ;
|
---|
56 | WEB(CALL,VALUE,EDITED) ; from FSCRPCWS
|
---|
57 | N DA,DIE,DR,NEWV,OLDV,URL,X,Y K NEWV,OLDV
|
---|
58 | S URL=$P($G(^FSCD("CALL",CALL,1.7)),U)
|
---|
59 | I URL=VALUE Q
|
---|
60 | S EDITED=1
|
---|
61 | S OLDV("WEB")=U_URL
|
---|
62 | S DA=CALL,DIE="^FSCD(""CALL"","
|
---|
63 | I $L(VALUE) S DR="1.7///"_VALUE
|
---|
64 | E S DR="1.7///@"
|
---|
65 | D ^DIE
|
---|
66 | S NEWV("WEB")=U_$P($G(^FSCD("CALL",CALL,1.7)),U)
|
---|
67 | D AUDIT^FSCAUDIT(CALL,.OLDV,.NEWV)
|
---|
68 | K NEWV,OLDV
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | PFIELDS(CALL,FIELDS,EDITED) ;
|
---|
72 | N CNT,DA,DIE,DIK,DR,LINE,NUM,OK,X,Y
|
---|
73 | S EDITED=1
|
---|
74 | S DA=+$G(^FSCD("CALL USER","AUC",DUZ,CALL))
|
---|
75 | I DA D
|
---|
76 | .S DR=""
|
---|
77 | .I $D(FIELDS("PSHORT")) D
|
---|
78 | ..I $L(FIELDS("PSHORT")) S DR=DR_";2///"_FIELDS("PSHORT") Q
|
---|
79 | ..S DR=DR_";2///@"
|
---|
80 | .I $D(FIELDS("PNUM")) D
|
---|
81 | ..I $L(FIELDS("PNUM")) S DR=DR_";3///"_FIELDS("PNUM") Q
|
---|
82 | ..S DR=DR_";3///@"
|
---|
83 | .I $D(FIELDS("PLONG")) D
|
---|
84 | ..I $L(FIELDS("PLONG")) S DR=DR_";4///"_FIELDS("PLONG") Q
|
---|
85 | ..S DR=DR_";4///@"
|
---|
86 | .I '$L(DR) Q
|
---|
87 | .I $E(DR)=";" S DR=$E(DR,2,255)
|
---|
88 | .S DIE="^FSCD(""CALL USER"","
|
---|
89 | .D ^DIE
|
---|
90 | E D
|
---|
91 | .L +^FSCD("CALL USER",0):5 I '$T Q
|
---|
92 | .S DA=1+$P(^FSCD("CALL USER",0),U,3)
|
---|
93 | .F Q:'$D(^FSCD("CALL USER",DA,0)) S DA=DA+1
|
---|
94 | .S $P(^FSCD("CALL USER",0),U,3)=DA,$P(^(0),U,4)=$P(^(0),U,4)+1
|
---|
95 | .S ^FSCD("CALL USER",DA,0)=CALL_U_DUZ_U_$G(FIELDS("PSHORT"))_U_$G(FIELDS("PNUM"))
|
---|
96 | .I $L($G(FIELDS("PLONG"))) S ^FSCD("CALL USER",DA,1)=FIELDS("PLONG")
|
---|
97 | .L -^FSCD("CALL USER",0)
|
---|
98 | .S DIK="^FSCD(""CALL USER"","
|
---|
99 | .D IX1^DIK
|
---|
100 | I $G(FIELDS("PNOTE"))=0 K ^FSCD("CALL USER",DA,2)
|
---|
101 | I $O(^TMP("FSC WP",$J,"PNOTE",0)) D
|
---|
102 | .I $G(FIELDS("PNOTE"))=2 K ^FSCD("CALL USER",DA,2)
|
---|
103 | .S CNT=+$P($G(^FSCD("CALL USER",DA,2,0)),U,3)
|
---|
104 | .S NUM=0 F S NUM=$O(^TMP("FSC WP",$J,"PNOTE",NUM)) Q:NUM<1 S LINE=^(NUM) D
|
---|
105 | ..S CNT=CNT+1
|
---|
106 | ..S ^FSCD("CALL USER",DA,2,CNT,0)=LINE
|
---|
107 | .I CNT S ^FSCD("CALL USER",DA,2,0)="^^"_CNT_U_CNT_U_DT_U
|
---|
108 | S OK=1 D
|
---|
109 | .Q:$L($P(^FSCD("CALL USER",DA,0),U,3)) Q:$L($P(^(0),U,4)) Q:$L($G(^(1))) Q:$O(^(2,0))
|
---|
110 | .S OK=0
|
---|
111 | I 'OK D DEL^FSCUCD("^FSCD(""CALL USER"",",DA)
|
---|
112 | Q
|
---|
113 | ;
|
---|
114 | WKLD(CALL,FIELDS) ;
|
---|
115 | N DATE,DCLOSE,DOPEN,HRS,USER
|
---|
116 | S USER=DUZ
|
---|
117 | S DATE=$G(FIELDS("DATEW")) I 'DATE Q
|
---|
118 | S HRS=+$G(FIELDS("HRS")) I 'HRS Q
|
---|
119 | S DOPEN=$P($G(^FSCD("CALL",+CALL,0)),U,3),DCLOSE=$P($G(^(0)),U,4)
|
---|
120 | I 'DOPEN Q
|
---|
121 | I DCLOSE,DATE>$$FMADD^XLFDT(DCLOSE,+$P($G(^FSC("PARAM",1,0)),U,10)) Q
|
---|
122 | I DATE<DOPEN S DATE=DOPEN
|
---|
123 | I DCLOSE,DATE>DCLOSE S DATE=DCLOSE
|
---|
124 | D UPDATE^FSCEWKLD(CALL,HRS,DATE,USER)
|
---|
125 | Q
|
---|