| [613] | 1 | ENWO1 ;WCIOFO/DLM/DH/SAB-Process Work Order ;1/2/2001
 | 
|---|
 | 2 |  ;;7.0;ENGINEERING;**35,51,59,67**;Aug 17, 1993
 | 
|---|
 | 3 | ENT ;Edit work orders
 | 
|---|
 | 4 |  D WO^ENWOUTL S DA=+Y G:DA'>0 EXIT L +^ENG(6920,DA):5 I '$T W !!,"This work order is being edited by another user.  Please try again later.",*7,! G ENT
 | 
|---|
 | 5 |  I $D(^ENG(6920,DA,5)),$P(^(5),U,2)]"" D
 | 
|---|
 | 6 |  . W !,*7,"NOTE: This work order has already been closed out."
 | 
|---|
 | 7 |  . I '$D(^XUSEC("ENEDCLWO",DUZ)) W !,"Security key ENEDCLWO is needed to edit closed work orders." L -^ENG(6920,DA) S DA="" Q
 | 
|---|
 | 8 |  . S DIR(0)="Y",DIR("A")="Are you sure you want to edit this work order",DIR("B")="NO"
 | 
|---|
 | 9 |  . D ^DIR K DIR I Y'>0 L -^ENG(6920,DA) S DA="" Q
 | 
|---|
 | 10 |  . I $P($G(^ENG(6920,DA,3)),U,8)>0 D KILLHS^ENEQHS I $G(R)="^" S DA="" Q
 | 
|---|
 | 11 |  . S ENWOCLOD=$P(^ENG(6920,DA,5),U,2)
 | 
|---|
 | 12 |  . S $P(^ENG(6920,DA,5),U,2)="",$P(^ENG(6920,DA,4),U,3)=""
 | 
|---|
 | 13 |  . D TEST^ENWOCOMP
 | 
|---|
 | 14 |  . ; if PM work order then back out PM hours
 | 
|---|
 | 15 |  . I $E($P($G(^ENG(6920,DA,0)),U),1,3)="PM-" D
 | 
|---|
 | 16 |  . . N ENPMDT,PMTOT,X
 | 
|---|
 | 17 |  . . D PMHRS^ENEQPMR4 Q:'$D(PMTOT)
 | 
|---|
 | 18 |  . . S X=$P($P(^ENG(6920,DA,0),U),"-",2)
 | 
|---|
 | 19 |  . . F I=1:1:$L(X) S:$E(X,I)?1N ENPMDT=$G(ENPMDT)_$E(X,I)
 | 
|---|
 | 20 |  . . S ENPMDT=$E(ENPMDT,1,4)
 | 
|---|
 | 21 |  . . D UNPOST^ENBCPM8
 | 
|---|
 | 22 |  G:DA="" ENT
 | 
|---|
 | 23 |  S DIE="^ENG(6920,",DR=$S($D(^DIE("B","ENZWOEDIT")):"[ENZWOEDIT]",1:"[ENWOEDIT]")
 | 
|---|
 | 24 |  S ENDA=DA
 | 
|---|
 | 25 |  D ^DIE
 | 
|---|
 | 26 |  ; if PM work order closed then post PM hours
 | 
|---|
 | 27 |  I $G(DA),$E($P($G(^ENG(6920,DA,0)),U),1,3)="PM-",$P($G(^(5)),U,2)]"" D
 | 
|---|
 | 28 |  . N ENPMDT,PMTOT,X
 | 
|---|
 | 29 |  . D PMHRS^ENEQPMR4 Q:'$D(PMTOT)
 | 
|---|
 | 30 |  . S X=$P($P(^ENG(6920,DA,0),U),"-",2)
 | 
|---|
 | 31 |  . F I=1:1:$L(X) S:$E(X,I)?1N ENPMDT=$G(ENPMDT)_$E(X,I)
 | 
|---|
 | 32 |  . S ENPMDT=$E(ENPMDT,1,4)
 | 
|---|
 | 33 |  . D COUNT^ENBCPM8
 | 
|---|
 | 34 |  L -^ENG(6920,ENDA) K ENDA
 | 
|---|
 | 35 |  G ENT
 | 
|---|
 | 36 |  ;
 | 
|---|
 | 37 | CLSOUT ;Close work order
 | 
|---|
 | 38 |  D WO^ENWOUTL S DA=+Y I DA'>0 G EXIT
 | 
|---|
 | 39 |  I $E(^ENG(6920,DA,0),1,3)="Y2-" W !,*7,"Please use the Y2K Equipment Management Module to close Y2K work orders." G CLSOUT
 | 
|---|
 | 40 |  L +^ENG(6920,DA):5 I '$T W !!,"This work order is being edited by another user.  Please try again later.",*7 G CLSOUT
 | 
|---|
 | 41 |  I $D(^ENG(6920,DA,5)),$P(^(5),U,2)]"" D
 | 
|---|
 | 42 |  . W !,*7,"NOTE: This work order has already been closed out."
 | 
|---|
 | 43 |  . I $D(^XUSEC("ENEDCLWO",DUZ)) W !,"You may use the work order EDIT or DISPLAY option to edit this work order."
 | 
|---|
 | 44 |  . L -^ENG(6920,DA) S DA=""
 | 
|---|
 | 45 |  I DA="" G CLSOUT
 | 
|---|
 | 46 |  S DIE="^ENG(6920,",DR=""
 | 
|---|
 | 47 |  ; select template
 | 
|---|
 | 48 |  D
 | 
|---|
 | 49 |  . I $E(^ENG(6920,DA,0),1,3)="PM-" S DR=$S($D(^DIE("B","ENZPMCLOSE")):"[ENZPMCLOSE]",1:"[ENPMCLOSE]") Q
 | 
|---|
 | 50 |  . S X=$P($G(^ENG(6920,DA,2)),U)
 | 
|---|
 | 51 |  . I X>0,$P($G(^DIC(6922,X,0)),U,5) S DR=$S($D(^DIE("B","ENZWOBIOCLSE")):"[ENZWOBIOCLSE]",1:"[ENWOBIOCLSE]") Q
 | 
|---|
 | 52 |  . S DR=$S($D(^DIE("B","ENZWOCLOSE")):"[ENZWOCLOSE]",1:"[ENWOCLOSE]")
 | 
|---|
 | 53 |  S ENDA=DA
 | 
|---|
 | 54 |  D ^DIE
 | 
|---|
 | 55 |  ; if PM work order closed then post PM hours, update equip file
 | 
|---|
 | 56 |  I $D(DA),$E($P($G(^ENG(6920,DA,0)),U),1,3)="PM-",$P($G(^(5)),U,2)]"" D
 | 
|---|
 | 57 |  . N ENPMDT,PMTOT,X
 | 
|---|
 | 58 |  . D PMHRS^ENEQPMR4,PMINV^ENEQPMR4
 | 
|---|
 | 59 |  . Q:'$D(PMTOT)
 | 
|---|
 | 60 |  . S X=$P($P(^ENG(6920,DA,0),U),"-",2)
 | 
|---|
 | 61 |  . F I=1:1:$L(X) S:$E(X,I)?1N ENPMDT=$G(ENPMDT)_$E(X,I)
 | 
|---|
 | 62 |  . S ENPMDT=$E(ENPMDT,1,4)
 | 
|---|
 | 63 |  . D COUNT^ENBCPM8
 | 
|---|
 | 64 |  L -^ENG(6920,ENDA) K ENDA
 | 
|---|
 | 65 |  W !!
 | 
|---|
 | 66 |  G CLSOUT
 | 
|---|
 | 67 |  ;
 | 
|---|
 | 68 | EQHIV ;EQUIPMENT HIST
 | 
|---|
 | 69 |  Q  ;Obsolete entry point
 | 
|---|
 | 70 |  ;
 | 
|---|
 | 71 | EQHI ;  Equipment work order history, by entry number
 | 
|---|
 | 72 |  S DIC("S")="I $D(^(3))" D GETEQ^ENUTL G:Y'>0 EXIT S ENDA=+Y
 | 
|---|
 | 73 |  D NOW^%DTC S ENSTMPL="ENWOHIST"_%
 | 
|---|
 | 74 |  W !,"Compiling SORT TEMPLATE ["_ENSTMPL_"]",!
 | 
|---|
 | 75 |  K DD,DO S DIC="^DIBT(",DIC(0)="X",X=ENSTMPL D FILE^DICN S DA=+Y
 | 
|---|
 | 76 |  I DA'>0 W !,"Process ABORTED.",*7 G EXIT
 | 
|---|
 | 77 |  S ENSTMPL(0)=DA
 | 
|---|
 | 78 |  S DIE="^DIBT(",DR="2///^S X=DT;4///^S X=6920;5///^S X=DUZ;15///^S X=""EQUIPMENT ID# EQUALS ""_ENDA" D ^DIE
 | 
|---|
 | 79 |  F I=0:0 S I=$O(^ENG(6920,"G",ENDA,I)) Q:I'>0  S ^DIBT(DA,1,I)="" W "."
 | 
|---|
 | 80 |  I '$D(^DIBT(DA,1)) W !!,"No work orders found.  Nothing to report.",*7,! S DIK="^DIBT(" D ^DIK K DIK G EQHI
 | 
|---|
 | 81 |  S DIC="^ENG(6914,",DA=ENDA,DIQ="ENEQ",DIQ(0)="E",DR=".01;1;4;5;53"
 | 
|---|
 | 82 |  D EN^DIQ1 K DA,DIC,DIQ,DR
 | 
|---|
 | 83 |  S I=0,ENCRIT="" F  S I=$O(^ENG(6914,ENDA,4,I)) Q:'I  D
 | 
|---|
 | 84 |  . S J=$P($G(^ENG(6914,ENDA,4,I,0)),U,4) I J>ENCRIT S ENCRIT=J
 | 
|---|
 | 85 |  D DEV^ENLIB G:POP EXIT
 | 
|---|
 | 86 |  S IOP=ION,L="0",DIC="^ENG(6920,",FLDS=$S($D(^DIPT("B","ENZ EQ HIST")):"[ENZ EQ HIST]",1:"[EN EQ HIST]"),BY="["_ENSTMPL_"]",FR="@"
 | 
|---|
 | 87 |  I $D(IO("Q")) D  K ZTSK D HOME^%ZIS G EXIT
 | 
|---|
 | 88 |  . S ZTIO=IOP,ZTRTN="DQHI^ENWO1",ZTDESC="Equipment History from Work Order Module"
 | 
|---|
 | 89 |  . S ZTSAVE("IOP")="",ZTSAVE("EN*")="",ZTSAVE("DIC")=""
 | 
|---|
 | 90 |  . S ZTSAVE("FLDS")="",ZTSAVE("BY")="",ZTSAVE("FR")="",ZTSAVE("L")=""
 | 
|---|
 | 91 |  . D ^%ZTLOAD
 | 
|---|
 | 92 |  S DIOEND="I IOST[""C-"" R !!,""Press <RETURN> to continue"",X:DTIME"
 | 
|---|
 | 93 | DQHI ;
 | 
|---|
 | 94 |  D EN1^DIP
 | 
|---|
 | 95 |  S DIK="^DIBT(",DA=ENSTMPL(0) D ^DIK K DIK
 | 
|---|
 | 96 |  G:'$D(ZTQUEUED) EQHI
 | 
|---|
 | 97 |  G EXIT
 | 
|---|
 | 98 | DSY ;Screen display work order
 | 
|---|
 | 99 |  G EDIT^ENWOD
 | 
|---|
 | 100 |  ;
 | 
|---|
 | 101 | DEL ; Delete open work order
 | 
|---|
 | 102 |  W !
 | 
|---|
 | 103 |  K DA
 | 
|---|
 | 104 |  S DIC("S")="I $P($G(^(5)),U,2)=""""" D WO^ENWOUTL K DIC
 | 
|---|
 | 105 |  S DA=+Y G:DA'>0 EXIT
 | 
|---|
 | 106 |  L +^ENG(6920,DA):5 I '$T W !!,"This work order is being edited by another user and can't be deleted.",$C(7),! G DEL
 | 
|---|
 | 107 |  S DIR(0)="Y",DIR("A")="Delete work order "_$P($G(^ENG(6920,DA,0)),U)
 | 
|---|
 | 108 |  D ^DIR K DIR I $D(DIRUT) G EXIT
 | 
|---|
 | 109 |  I 'Y G DEL
 | 
|---|
 | 110 |  S DIK="^ENG(6920," D ^DIK K DIK
 | 
|---|
 | 111 |  W !,"  The work order has been deleted."
 | 
|---|
 | 112 |  G DEL
 | 
|---|
 | 113 |  ;
 | 
|---|
 | 114 | INIT K DIC("S") S DIC="^DIC(6922,",DIC(0)="AEQM" D ^DIC S ENSHKEY=+Y Q
 | 
|---|
 | 115 | EXIT K %IS,DIC,DIE,DA,Y,DR,N,I,J,K,O,S,X,Y,Z,ENWO
 | 
|---|
 | 116 |  K ENSTMPL,L,FLDS,BY,FR,TO,ENVANO,IOP,ENDA,ENEQ,ENCRIT
 | 
|---|
 | 117 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
 | 118 |  Q
 | 
|---|
 | 119 |  ;ENWO1
 | 
|---|