1 | ENWOME ;(WASH ISC)/SAB-WORK ORDER MULTIPLE ENTRY ;1-27-97
|
---|
2 | ;;7.0;ENGINEERING;**35**;Aug 17, 1993
|
---|
3 | N NUMBER,SHOPKEY,WARD
|
---|
4 | K ^TMP($J)
|
---|
5 | S DIR("A")="Enter a new equipment work order and copy it (Y/N)"
|
---|
6 | S DIR(0)="Y",DIR("B")="YES" D ^DIR K DIR G:'Y!$D(DIRUT) EXIT
|
---|
7 | ; get first w.o.
|
---|
8 | D SSHOP^ENWO G:ENSHKEY'>0 EXIT
|
---|
9 | S SHOPKEY=ENSHKEY
|
---|
10 | S NUMBER="" D WONUM^ENWONEW I NUMBER="" D G EXIT
|
---|
11 | . W !!,*7,"Can't seem to add to Work Order File."
|
---|
12 | . W !,"Please try again later or contact IRM Service."
|
---|
13 | S ENWODA=DA L +^ENG(6920,ENWODA)
|
---|
14 | W !,"WORK ORDER #: ",NUMBER
|
---|
15 | S WARD=0 D WOFILL^ENWONEW
|
---|
16 | EDITWO ; edit work order
|
---|
17 | S DR=$S($D(^DIE("B","ENZWONEW")):"[ENZWONEW]",1:"[ENWONEW]")
|
---|
18 | D ^DIE I $D(DTOUT) D DELWO G EXIT
|
---|
19 | S ENEQDA=$P($G(^ENG(6920,ENWODA,3)),U,8)
|
---|
20 | I ENEQDA']"" D G:Y EDITWO D DELWO G EXIT
|
---|
21 | . W !,"An Equipment ID # is required by this option."
|
---|
22 | . S DIR(0)="Y"
|
---|
23 | . S DIR("A")="Do you want to edit the work order (Y/N)",DIR("B")="YES"
|
---|
24 | . D ^DIR K DIR
|
---|
25 | S DIR(0)="Y",DIR("B")="NO"
|
---|
26 | S DIR("A")="Do you want to CLOSE this work order now (Y/N)"
|
---|
27 | D ^DIR K DIR D:Y I $D(DIRUT) D DELWO G EXIT
|
---|
28 | . S DR=$S($D(^DIE("B","ENZWONEWCLOSE")):"[ENZWONEWCLOSE]",1:"[ENWONEWCLOSE]")
|
---|
29 | . D ^DIE
|
---|
30 | S DIR(0)="Y"
|
---|
31 | S DIR("A")="Do you want to print this work order (Y/N)",DIR("B")="YES"
|
---|
32 | D ^DIR K DIR I $D(DIRUT) D DELWO G EXIT
|
---|
33 | I Y S DA=ENWODA D P^ENWOD
|
---|
34 | SEL ; select equipment
|
---|
35 | K ^TMP($J)
|
---|
36 | S DIR(0)="S^1:SEARCH EQUIPMENT FILE BY CATEGORY, MANUFACTURER, OR MODEL;2:INDIVIDUALLY SELECT EQUIPMENT"
|
---|
37 | S DIR("A")="USE METHOD: ",DIR("B")="1"
|
---|
38 | S DIR("A",1)="Choose desired method to select additional equipment."
|
---|
39 | S DIR("?")="Enter 1 or 2 (enter '^' to abort and W.O. will be deleted)"
|
---|
40 | S DIR("?",1)="Additional equipment can be selected by one of the following methods."
|
---|
41 | S DIR("?",2)=" "
|
---|
42 | S DIR("?",3)="1 SEARCH EQUIPMENT FILE BY CATEGORY, MANUFACTURER, OR MODEL -"
|
---|
43 | S DIR("?",4)=" Enter desired value(s) in one or more of the three available search"
|
---|
44 | S DIR("?",5)=" criteria. Equipment Category, Manufacturer, and/or Model can be specified."
|
---|
45 | S DIR("?",6)=" Equipment which exactly matches all specified criteria will be selected."
|
---|
46 | S DIR("?",7)=" If a value is not entered then the corresponding search criteria will not"
|
---|
47 | S DIR("?",8)=" be used. Equipment with a disposition date will not be included."
|
---|
48 | S DIR("?",9)=" "
|
---|
49 | S DIR("?",10)="2 INDIVIDUALLY SELECT EQUIPMENT - Individually choose each equipment item."
|
---|
50 | S DIR("?",11)=" "
|
---|
51 | D ^DIR K DIR S ENMETH=Y I $D(DIRUT) D DELWO G EXIT
|
---|
52 | S ENC("EQ")=0
|
---|
53 | I ENMETH=1 D I $D(DTOUT)!$D(DUOUT) D DELWO G EXIT
|
---|
54 | . S (ENEQCAT,ENMANF,ENMODEL)="" K DA
|
---|
55 | . S DIR(0)="6914,6",DIR("A")="Select items with EQUIPMENT CATEGORY"
|
---|
56 | . D ^DIR K DIR Q:$D(DTOUT)!$D(DUOUT) S:Y>0 ENEQCAT=+Y
|
---|
57 | . S DIR(0)="6914,1",DIR("A")="Select items with MANUFACTURER"
|
---|
58 | . D ^DIR K DIR Q:$D(DTOUT)!$D(DUOUT) S:Y>0 ENMANF=+Y
|
---|
59 | . S DIR(0)="6914,4",DIR("A")="Select items with MODEL"
|
---|
60 | . D ^DIR K DIR Q:$D(DTOUT)!$D(DUOUT) S ENMODEL=Y
|
---|
61 | . I ENEQCAT']"",ENMANF']"",ENMODEL']"" W !,"No criteria entered" Q
|
---|
62 | . S ENXREF=$S(ENMODEL]"":"E",ENMANF]"":"K",1:"G")
|
---|
63 | . S ENXREFV=$S(ENXREF="E":ENMODEL,ENXREF="K":ENMANF,1:ENEQCAT)
|
---|
64 | . S ENI=0 F S ENI=$O(^ENG(6914,ENXREF,ENXREFV,ENI)) Q:'ENI D
|
---|
65 | . . S ENY1=$G(^ENG(6914,ENI,1))
|
---|
66 | . . I ENEQCAT]"",$P(ENY1,U,1)'=ENEQCAT Q
|
---|
67 | . . I ENMANF]"",$P(ENY1,U,4)'=ENMANF Q
|
---|
68 | . . I ENMODEL]"",$P(ENY1,U,2)'=ENMODEL Q
|
---|
69 | . . I $P($G(^ENG(6914,ENI,3)),U,11)]"" Q ; disposition date exists
|
---|
70 | . . I ENI'=ENEQDA S ^TMP($J,ENI)="",ENC("EQ")=ENC("EQ")+1
|
---|
71 | I ENMETH=2 D K DIC
|
---|
72 | . S DIC="^ENG(6914,",DIC(0)="AQEM"
|
---|
73 | . F D ^DIC Q:Y'>0 I Y'=ENEQDA,'$D(^TMP($J,+Y)) S ^(+Y)="",ENC("EQ")=ENC("EQ")+1
|
---|
74 | I 'ENC("EQ") W !,"No equipment items were selected" G SEL
|
---|
75 | CONF ; confirm
|
---|
76 | W !!,"Work Orders will be copied for ",ENC("EQ")," items of equipment"
|
---|
77 | S DIR("A")="OK to Proceed"
|
---|
78 | S DIR("?")="Enter Y, N, or L (enter '^' to exit and delete work order)"
|
---|
79 | S DIR("?",1)="Select appropriate action"
|
---|
80 | S DIR("?",2)="YES to create work orders for selected equipment"
|
---|
81 | S DIR("?",3)="NO to select different equipment"
|
---|
82 | S DIR("?",4)="LIST to list currently selected equipment"
|
---|
83 | S DIR("?",5)="^ to exit and delete original work order"
|
---|
84 | S DIR(0)="SMB^Y:YES;N:NO;L:LIST" D ^DIR K DIR I $D(DIRUT) D DELWO G EXIT
|
---|
85 | I Y="N" G SEL
|
---|
86 | I Y="L" D LST^ENWOME1 G CONF
|
---|
87 | ASKPRT ; print new work orders?
|
---|
88 | S DIR(0)="Y"
|
---|
89 | S DIR("?")="Enter Yes or No"
|
---|
90 | S DIR("?",1)="Enter Yes to print all new work orders to a selected"
|
---|
91 | S DIR("?",2)="device. The appropriate format (LONG or SHORT) will be"
|
---|
92 | S DIR("?",3)="obtained from the AUTO PRINT NEW W.O. software option."
|
---|
93 | S DIR("?",4)=" "
|
---|
94 | S DIR("A")="Should all new work orders be printed? (Y/N)",DIR("B")="NO"
|
---|
95 | D ^DIR K DIR S ENPRT=Y I $D(DIRUT) D DELWO G EXIT
|
---|
96 | D:ENPRT I $D(DTOUT)!$D(DUOUT) D DELWO G EXIT
|
---|
97 | . ; get output device (with default for shop)
|
---|
98 | . S DIC=6922,DR="2",DA=ENSHKEY,DIQ="ENDIQ",DIQ(0)="E"
|
---|
99 | . D EN^DIQ1 K DIQ
|
---|
100 | . S DIC=3.5,DIC(0)="AQEMZ",DIC("B")=ENDIQ(6922,ENSHKEY,2,"E")
|
---|
101 | . K ENDIQ
|
---|
102 | . D ^DIC K DIC S:Y>0 ENPRT("DEV")=$P(Y(0),U)
|
---|
103 | COPYWO ;
|
---|
104 | W !,"Copying work order for selected equipment"
|
---|
105 | S ENFATAL=0
|
---|
106 | S ENI=0 F S ENI=$O(^TMP($J,ENI)) Q:'ENI D Q:ENFATAL
|
---|
107 | . ; get new w.o. number
|
---|
108 | . S NUMBER="" D WONUM^ENWONEW
|
---|
109 | . I NUMBER="" D I NUMBER="" S ENFATAL=1 Q
|
---|
110 | . . W !,"Couldn't obtain a new Work Order #. Retrying..."
|
---|
111 | . . D WONUM^ENWONEW
|
---|
112 | . . I NUMBER="" W !,"Still couldn't get a new Work Order #"
|
---|
113 | . S ENWODAY=DA
|
---|
114 | . ; copy data
|
---|
115 | . L +^ENG(6920,ENWODAY)
|
---|
116 | . S %X="^ENG(6920,ENWODA,",%Y="^ENG(6920,ENWODAY," D %XY^%RCR
|
---|
117 | . ; set specific data for .01, .05, LOCATION, EQUIPMENT ID #
|
---|
118 | . S ENY0=$G(^ENG(6920,ENWODAY,0))
|
---|
119 | . S $P(ENY0,U,1)=NUMBER
|
---|
120 | . S $P(ENY0,U,6)=NUMBER
|
---|
121 | . S $P(ENY0,U,4)=$P($G(^ENG(6914,ENI,3)),U,5) ; location from equip
|
---|
122 | . S ^ENG(6920,ENWODAY,0)=ENY0
|
---|
123 | . S $P(^ENG(6920,ENWODAY,3),U,8)=ENI ; will trigger remaining fields
|
---|
124 | . ; index new entry
|
---|
125 | . S DA=ENWODAY,DIK="^ENG(6920," D IX^DIK K DIK
|
---|
126 | . ; save w.o. number in ^tmp
|
---|
127 | . S ^TMP($J,ENI)=ENWODAY_U_NUMBER
|
---|
128 | . L -^ENG(6920,ENWODAY)
|
---|
129 | . W "."
|
---|
130 | I ENFATAL D DELWO G EXIT
|
---|
131 | I ENPRT D QUETSK^ENWOME2
|
---|
132 | W !,"All work orders created"
|
---|
133 | W !,"Select output device for list or enter '^' to suppress report"
|
---|
134 | S ENCOPY=1 D LST^ENWOME1
|
---|
135 | EXIT ;
|
---|
136 | I $D(ENWODA) L -^ENG(6920,ENWODA)
|
---|
137 | K ^TMP($J)
|
---|
138 | K %X,%Y,DA,DIK,DIROUT,DIRUT,DR,DTOUT,DUOUT,X,Y
|
---|
139 | K ENBARCD,ENC,ENCOPY,ENDA,ENEQCAT,ENEQDA,ENFATAL,ENI
|
---|
140 | K ENMANF,ENMODEL,ENMETH,ENPRT,ENSHKEY,ENWOCLOD
|
---|
141 | K ENWODA,ENWODAY,ENXREF,ENXREFV,ENY0,ENY1
|
---|
142 | Q
|
---|
143 | DELWO ; delete work orders (master and any copied)
|
---|
144 | W !,"Process Terminated - Deleting any created work orders"
|
---|
145 | K DA S DA=ENWODA
|
---|
146 | S ENWOCLOD=$P($G(^ENG(6920,ENWODA,5)),U,2)
|
---|
147 | I ENWOCLOD]"" D KILLHS^ENEQHS
|
---|
148 | S DA=ENWODA,DIK="^ENG(6920," D ^DIK K DIK W "."
|
---|
149 | S ENI=0 F S ENI=$O(^TMP($J,ENI)) Q:'ENI S ENDA=$P($G(^(ENI)),U) D:ENDA
|
---|
150 | . I ENWOCLOD]"" S DA=ENDA D KILLHS^ENEQHS
|
---|
151 | . S DA=ENDA,DIK="^ENG(6920," D ^DIK K DIK
|
---|
152 | . W "."
|
---|
153 | Q
|
---|
154 | ;ENWOME
|
---|