| 1 | ENWO2 ;WIRMFO/DH,SAB-Disapprove Work Order ;2/3/97
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**35**;Aug 17, 1993
 | 
|---|
| 3 | DISAP ;Disapprove work order
 | 
|---|
| 4 | EN S DIC("S")="I $P($G(^(5)),U,2)=""""" D WO^ENWOUTL K DIC
 | 
|---|
| 5 |  G:Y'>0 EXIT S DA=+Y
 | 
|---|
| 6 |  S DIE="^ENG(6920,"
 | 
|---|
| 7 | EN1 ;
 | 
|---|
| 8 |  I $D(^ENG(6920,DA,5)),$P(^(5),U,2)]"" W !,*7,"NOTE: This Work Order has already been closed out." W:$D(^XUSEC("ENEDCLWO",DUZ)) !,"Use the Work Order EDIT or DISPLAY option if you need to edit." G EXIT
 | 
|---|
| 9 |  S ENDA(0)=DA,DR=$S($D(^DIE("B","ENZWODISAP")):"[ENZWODISAP]",1:"[ENWODISAP]") D ^DIE W !!
 | 
|---|
| 10 |  S DA=ENDA(0)
 | 
|---|
| 11 |  K ENDA(0) G EXIT
 | 
|---|
| 12 | EXIT Q
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 | MSG ; Notify Requestor of W.O. Status Change
 | 
|---|
| 15 |  ; File 6920 Field 32 "AH" mumps x-ref
 | 
|---|
| 16 |  ; Expects DA (ien of w.o.)
 | 
|---|
| 17 |  N ENABBR,ENDAS,ENELWO,ENI,ENQ,ENSEND,ENSO,ENX,ENY
 | 
|---|
| 18 |  S ENSEND="" ; flag: =1 send msg, =0 no msg, =NULL don't know yet
 | 
|---|
| 19 |  S ENDAS=DA_","
 | 
|---|
| 20 |  D GETS^DIQ(6920,ENDAS,".01;.05;2;32","E","ENQ")
 | 
|---|
| 21 |  D GETS^DIQ(6920,ENDAS,"7.5;32;32.1","I","ENQ")
 | 
|---|
| 22 |  S:$E(ENQ(6920,ENDAS,.01,"E"),1,3)="PM-" ENSEND=0 ; ignore PM W.O.s
 | 
|---|
| 23 |  S:ENQ(6920,ENDAS,7.5,"I")'?1.N ENSEND=0 ; no requestor
 | 
|---|
| 24 |  S:ENQ(6920,ENDAS,7.5,"I")=DUZ ENSEND=0 ; don't send msg to self
 | 
|---|
| 25 |  ; if disapproved
 | 
|---|
| 26 |  I ENSEND="",ENQ(6920,ENDAS,32,"E")="DISAPPROVED" D  S:ENSEND="" ENSEND=0
 | 
|---|
| 27 |  . I ENQ(6920,ENDAS,2,"E")["COMPUTER" S ENSEND=1
 | 
|---|
| 28 |  ; else if existing notification preference
 | 
|---|
| 29 |  I ENSEND="",ENQ(6920,ENDAS,32.1,"I")]"" D  S:ENSEND="" ENSEND=0
 | 
|---|
| 30 |  . I ENQ(6920,ENDAS,32.1,"I")="S" S ENSEND=1
 | 
|---|
| 31 |  . I ENQ(6920,ENDAS,32.1,"I")="C",ENQ(6920,ENDAS,32,"E")="COMPLETED" S ENSEND=1
 | 
|---|
| 32 |  ; else if existing software option
 | 
|---|
| 33 |  I ENSEND="" D  S:ENSEND="" ENSEND=0
 | 
|---|
| 34 |  . S ENI=$O(^ENG(6910.2,"B","NOTIFY W.O. REQUESTOR",0))
 | 
|---|
| 35 |  . S ENSO=$S(ENI?1.N:$P($G(^ENG(6910.2,ENI,0)),U,2),1:"")
 | 
|---|
| 36 |  . I ENSO]"" D
 | 
|---|
| 37 |  . . ; check if electronic w.o.
 | 
|---|
| 38 |  . . S ENELWO=0
 | 
|---|
| 39 |  . . F ENI=1:1 Q:$E(ENQ(6920,ENDAS,.05,"E"),ENI)'?1U
 | 
|---|
| 40 |  . . S ENABBR=$E(ENQ(6920,ENDAS,.05,"E"),1,ENI-1)
 | 
|---|
| 41 |  . . Q:ENABBR=""
 | 
|---|
| 42 |  . . S ENI=89
 | 
|---|
| 43 |  . . F  S ENI=$O(^DIC(6922,ENI)) Q:'ENI  D:ENI#100>89  Q:ENELWO
 | 
|---|
| 44 |  . . . I $P($G(^(ENI,0)),U,2)=ENABBR S ENELWO=1
 | 
|---|
| 45 |  . . Q:'ENELWO
 | 
|---|
| 46 |  . . I ENSO="S" S ENSEND=1
 | 
|---|
| 47 |  . . I ENSO="C",ENQ(6920,ENDAS,32,"E")="COMPLETED" S ENSEND=1
 | 
|---|
| 48 |  D:ENSEND=1
 | 
|---|
| 49 |  . ; send mail message to requestor
 | 
|---|
| 50 |  . N ENL,ENTEXT,XMCHAN,XMDUZ,XMSUB,XMTEXT,XMY
 | 
|---|
| 51 |  . S ENTEXT(1)="A work request which you entered on "_$$GET1^DIQ(6920,ENDAS,1)
 | 
|---|
| 52 |  . S ENTEXT(2)="   Original Work Order #: "_ENQ(6920,ENDAS,.05,"E")
 | 
|---|
| 53 |  . S ENTEXT(3)="   Task Description: "_$$GET1^DIQ(6920,ENDAS,6)
 | 
|---|
| 54 |  . S ENTEXT(4)="   Contact Person: "_$$GET1^DIQ(6920,ENDAS,7)
 | 
|---|
| 55 |  . S ENTEXT(4)=ENTEXT(4)_"   Phone: "_$$GET1^DIQ(6920,ENDAS,8)
 | 
|---|
| 56 |  . S ENTEXT(5)=$S(ENQ(6920,ENDAS,32,"I")<5:"is ",1:"has been ")
 | 
|---|
| 57 |  . S ENTEXT(5)=ENTEXT(5)_ENQ(6920,ENDAS,32,"E")
 | 
|---|
| 58 |  . S:ENQ(6920,ENDAS,32,"I")>4 ENTEXT(5)=ENTEXT(5)_" on "_$$GET1^DIQ(6920,ENDAS,36)
 | 
|---|
| 59 |  . S ENTEXT(5)=ENTEXT(5)_"."
 | 
|---|
| 60 |  . S ENL=5
 | 
|---|
| 61 |  . I ENQ(6920,ENDAS,32,"E")="COMPLETED" D
 | 
|---|
| 62 |  . . S ENL=ENL+1,ENTEXT(ENL)=" "
 | 
|---|
| 63 |  . . ;
 | 
|---|
| 64 |  . . S ENX("DIMSG",1)="Work Perf: "_$P($G(^ENG(6920,DA,5)),U,7)
 | 
|---|
| 65 |  . . K ENY D MSG^DIALOG("AM",.ENY,70,"","ENX")
 | 
|---|
| 66 |  . . F ENI=1:1 Q:'$D(ENY(ENI))  S ENL=ENL+1,ENTEXT(ENL)=ENY(ENI)
 | 
|---|
| 67 |  . . ;
 | 
|---|
| 68 |  . I $O(^ENG(6920,DA,6,0)) D
 | 
|---|
| 69 |  . . S ENL=ENL+1,ENTEXT(ENL)=" "
 | 
|---|
| 70 |  . . S ENL=ENL+1,ENTEXT(ENL)="COMMENTS:"
 | 
|---|
| 71 |  . . S ENI=0
 | 
|---|
| 72 |  . . F  S ENI=$O(^ENG(6920,DA,6,ENI)) Q:'ENI  S ENL=ENL+1,ENTEXT(ENL)=$G(^(ENI,0))
 | 
|---|
| 73 |  . I $O(^DIC(6910,1,5,0)) D
 | 
|---|
| 74 |  . . ; add WORK ORDER MESSAGE TEXT if any
 | 
|---|
| 75 |  . . S ENL=ENL+1,ENTEXT(ENL)=" "
 | 
|---|
| 76 |  . . S ENI=0
 | 
|---|
| 77 |  . . F  S ENI=$O(^DIC(6910,1,5,ENI)) Q:'ENI  S ENL=ENL+1,ENTEXT(ENL)=$G(^(ENI,0))
 | 
|---|
| 78 |  . S XMSUB="Work Order "_ENQ(6920,ENDAS,.01,"E")_" STATUS"
 | 
|---|
| 79 |  . ;_" "_ENQ(6920,ENDAS,32,"E")
 | 
|---|
| 80 |  . S XMCHAN=1,XMTEXT="ENTEXT(",XMDUZ="AEMS/MERS"
 | 
|---|
| 81 |  . S XMZ=$P($G(^ENG(6920,DA,4)),U,6)
 | 
|---|
| 82 |  . I XMZ,$$SUBGET^XMGAPI0(XMZ)]"" D  I ENI>0 Q
 | 
|---|
| 83 |  . . ; send message as response
 | 
|---|
| 84 |  . . S ENI=$$ENT^XMA2R(XMZ,XMSUB,.ENTEXT,"",DUZ)
 | 
|---|
| 85 |  . ; create new message
 | 
|---|
| 86 |  . K XMZ D XMZ^XMA2 I XMZ'>0 Q  ; could not create new message
 | 
|---|
| 87 |  . ; save message number in w.o.
 | 
|---|
| 88 |  . S $P(^ENG(6920,DA,4),U,6)=XMZ
 | 
|---|
| 89 |  . ; add text to message
 | 
|---|
| 90 |  . S (ENI,ENL)=0 F  S ENI=$O(ENTEXT(ENI)) Q:'ENI  D
 | 
|---|
| 91 |  . . S ^XMB(3.9,XMZ,2,ENI,0)=ENTEXT(ENI),ENL=ENL+1
 | 
|---|
| 92 |  . I ENL S ^XMB(3.9,XMZ,2,0)="^3.92^"_ENL_U_ENL_U_DT
 | 
|---|
| 93 |  . ; make information only
 | 
|---|
| 94 |  . K ENL
 | 
|---|
| 95 |  . S ENL(3.9,XMZ_",",1.97)="Y"
 | 
|---|
| 96 |  . D FILE^DIE("E","ENL")
 | 
|---|
| 97 |  . ; forward to user
 | 
|---|
| 98 |  . S XMY(ENQ(6920,ENDAS,7.5,"I"))=""
 | 
|---|
| 99 |  . D ENT1^XMD
 | 
|---|
| 100 |  Q
 | 
|---|
| 101 |  ;ENWO2
 | 
|---|