| 1 | ENTIRA  ;WOIFO/SAB - IT EQUIPMENT RESPONSIBILITY ASSIGN ;2/4/2008
 | 
|---|
| 2 |         ;;7.0;ENGINEERING;**87**;Aug 17, 1993;Build 16
 | 
|---|
| 3 |         ;
 | 
|---|
| 4 |         N ENC,ENDA,ENIA,ENPER,ENSM,ENSMV,ENSRT,ENX,ENY
 | 
|---|
| 5 |         N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
 | 
|---|
| 6 |         ;
 | 
|---|
| 7 | GETEQ   ; get equipment
 | 
|---|
| 8 |         W !!,"Selecting accountable IT equipment to be assigned..."
 | 
|---|
| 9 |         ;   ask method of selection
 | 
|---|
| 10 |         S ENX=$$ASKEQSM^ENTIUTL2("ECULS","E")
 | 
|---|
| 11 |         S ENSM=$P(ENX,U),ENSMV=$P(ENX,U,2)
 | 
|---|
| 12 |         G:"^E^C^U^L^S^"'[(U_ENSM_U) EXIT
 | 
|---|
| 13 |         ;
 | 
|---|
| 14 |         ;   ask if already assigned equipment should be included
 | 
|---|
| 15 |         I ENSM="E" S ENIA="1"
 | 
|---|
| 16 |         E  S ENIA=$$ASKIAEQ^ENTIUTL2()
 | 
|---|
| 17 |         G:ENIA="" EXIT
 | 
|---|
| 18 |         ;
 | 
|---|
| 19 |         ;   select equipment using method
 | 
|---|
| 20 |         S ENSRT="E" ; set sort method = E
 | 
|---|
| 21 |         D GETEQ^ENTIUTL2(ENSM,ENSMV,ENSRT,ENIA)
 | 
|---|
| 22 |         ;
 | 
|---|
| 23 |         ; display count of selected equipment
 | 
|---|
| 24 |         S ENY=$G(^TMP($J,"ENITEQ",0))
 | 
|---|
| 25 |         W !!,+ENY," equipment item(s) selected."
 | 
|---|
| 26 |         ;
 | 
|---|
| 27 |         I ENY'>0 D  G:Y GETEQ G EXIT
 | 
|---|
| 28 |         . W !!
 | 
|---|
| 29 |         . S DIR(0)="Y"
 | 
|---|
| 30 |         . S DIR("A")="No equipment was selected. Do you want to try again"
 | 
|---|
| 31 |         . S DIR("B")="YES"
 | 
|---|
| 32 |         . D ^DIR K DIR
 | 
|---|
| 33 |         ;
 | 
|---|
| 34 |         ; ask if detailed report desired
 | 
|---|
| 35 |         S DIR(0)="Y"
 | 
|---|
| 36 |         S DIR("A")="Do you want to print a list of the equipment"
 | 
|---|
| 37 |         S DIR("B")="YES"
 | 
|---|
| 38 |         D ^DIR K DIR G:$D(DIRUT) EXIT
 | 
|---|
| 39 |         I Y D AEN^ENTIRRE
 | 
|---|
| 40 |         ;
 | 
|---|
| 41 | GETPE   ; get people that will be assigned the equipment
 | 
|---|
| 42 |         W !!,"Selecting person(s) to be assigned responsibility..."
 | 
|---|
| 43 |         D SELPER
 | 
|---|
| 44 |         ;
 | 
|---|
| 45 |         ; display count of selected persons
 | 
|---|
| 46 |         S ENY=$G(^TMP($J,"ENITPE",0))
 | 
|---|
| 47 |         W !!,+ENY," person(s) selected."
 | 
|---|
| 48 |         I ENY'>0 D  G:Y GETPE G EXIT
 | 
|---|
| 49 |         . W !!
 | 
|---|
| 50 |         . S DIR(0)="Y"
 | 
|---|
| 51 |         . S DIR("A")="No responsible person selected. Do you want to try again"
 | 
|---|
| 52 |         . S DIR("B")="YES"
 | 
|---|
| 53 |         . D ^DIR K DIR
 | 
|---|
| 54 |         ;
 | 
|---|
| 55 |         ; confirm
 | 
|---|
| 56 |         S DIR(0)="Y"
 | 
|---|
| 57 |         S DIR("A")="OK to create assignments"
 | 
|---|
| 58 |         S DIR("B")="YES"
 | 
|---|
| 59 |         D ^DIR K DIR G:'Y EXIT
 | 
|---|
| 60 |         ;
 | 
|---|
| 61 |         ; make assignments
 | 
|---|
| 62 |         K ENC
 | 
|---|
| 63 |         ;  loop thru equipment list
 | 
|---|
| 64 |         S ENDA=0 F  S ENDA=$O(^TMP($J,"ENITEQ","NA",ENDA)) Q:'ENDA  D
 | 
|---|
| 65 |         . ; loop thru person list
 | 
|---|
| 66 |         . S ENPER=0 F  S ENPER=$O(^TMP($J,"ENITPE",ENPER)) Q:'ENPER  D
 | 
|---|
| 67 |         . . ; create assignment
 | 
|---|
| 68 |         . . S ENX=$$ASGN^ENTIUTL1(ENDA,ENPER)
 | 
|---|
| 69 |         . . I ENX S ENC(1)=$G(ENC(1))+1
 | 
|---|
| 70 |         . . I ENX=0 W !,"  Equipment # ",ENDA," is already assigned to ",$$GET1^DIQ(200,ENPER,.01) S ENC(0)=$G(ENC(0))+1
 | 
|---|
| 71 |         . . I ENX="E" W !,"  ERROR. Equipment ",ENDA," was not assigned to ",$$GET1^DIQ(200,ENPER,.01) S ENC("E")=$G(ENC("E"))+1
 | 
|---|
| 72 |         ;
 | 
|---|
| 73 |         ; display totals
 | 
|---|
| 74 |         W !!,+$G(ENC(1))," equipment assignment(s) created."
 | 
|---|
| 75 |         W:$G(ENC(0)) !,ENC(0)," equipment assignment(s) already in place."
 | 
|---|
| 76 |         W:$G(ENC("E")) !,ENC("E")," assignment(s) not created due to an error."
 | 
|---|
| 77 |         ;
 | 
|---|
| 78 | EXIT    ;
 | 
|---|
| 79 |         K ^TMP($J,"ENITEQ"),^TMP($J,"ENITPE")
 | 
|---|
| 80 |         Q
 | 
|---|
| 81 |         ;
 | 
|---|
| 82 | SELPER  ; Select Person(s)
 | 
|---|
| 83 |         ; output
 | 
|---|
| 84 |         ;   ^TMP($J,"ENITPE",0)=count
 | 
|---|
| 85 |         ;   ^TMP($J,"ENITPE",ien)="" list of persons by internal entry number
 | 
|---|
| 86 |         ;
 | 
|---|
| 87 |         N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
 | 
|---|
| 88 |         N ENCNT,END,ENDA,ENNAME
 | 
|---|
| 89 |         S ENCNT=0,END=0
 | 
|---|
| 90 |         K ^TMP($J,"ENITPE")
 | 
|---|
| 91 |         ;
 | 
|---|
| 92 |         ; ask person in loop
 | 
|---|
| 93 |         F  D  Q:END
 | 
|---|
| 94 |         . S DIC="^VA(200,"
 | 
|---|
| 95 |         . S DIC(0)="AQEM"
 | 
|---|
| 96 |         . I ENCNT>0 S DIC("A")="Select Another NEW PERSON NAME: "
 | 
|---|
| 97 |         . W !
 | 
|---|
| 98 |         . D ^DIC K DIC  I Y<1 S END=1 Q
 | 
|---|
| 99 |         . S ENDA=+Y
 | 
|---|
| 100 |         . S ENNAME=$P(Y,U,2)
 | 
|---|
| 101 |         . S DIR(0)="Y",DIR("A")="Assign responsibility to "_ENNAME
 | 
|---|
| 102 |         . D ^DIR I $D(DIRUT) S END=1 Q
 | 
|---|
| 103 |         . I 'Y Q
 | 
|---|
| 104 |         . ; user confirmed
 | 
|---|
| 105 |         . S ENCNT=ENCNT+1
 | 
|---|
| 106 |         . S ^TMP($J,"ENITPE",ENDA)=""
 | 
|---|
| 107 |         ;
 | 
|---|
| 108 |         ; set output header node
 | 
|---|
| 109 |         S ^TMP($J,"ENITPE",0)=ENCNT
 | 
|---|
| 110 |         ;
 | 
|---|
| 111 |         ;ENTIRA
 | 
|---|