| [613] | 1 | ENPLS ;WISC/SAB-SELECT PROJECTS ;8/17/95 | 
|---|
|  | 2 | ;;7.0;ENGINEERING;**23**;Aug 17, 1993 | 
|---|
|  | 3 | EN(ENTY,ENLK) ; Entry Point | 
|---|
|  | 4 | ; input variables | 
|---|
|  | 5 | ;   (optional) ENTY - type of projects (F,A,R) | 
|---|
|  | 6 | ;   (optional) ENLK - true if selected projects should be locked | 
|---|
|  | 7 | ; output variables | 
|---|
|  | 8 | ;   ^TMP($J,"L")=project count^current year of FYFP if ENTY="F" | 
|---|
|  | 9 | ;   ^TMP($J,"L",project number)=ien | 
|---|
|  | 10 | ; | 
|---|
|  | 11 | N ENC,ENDA,ENFY,ENPN,ENSEL,ENSN | 
|---|
|  | 12 | K ^TMP($J,"L") | 
|---|
|  | 13 | I "^F^A^R^"'[(U_$G(ENTY)_U) S ENTY="",ENSEL=1 | 
|---|
|  | 14 | S ENLK=$G(ENLK) | 
|---|
|  | 15 | I ENTY]"" D  G:$D(DIRUT) EXIT S ENSEL=Y | 
|---|
|  | 16 | . S DIR("A")="Choose method of project selection" | 
|---|
|  | 17 | . S DIR(0)="S^1:INDIVIDUAL PROJECTS" | 
|---|
|  | 18 | . S:ENTY="F" DIR(0)=DIR(0)_";2:FROM LIST OF FYFP PROJECTS RETURNED TO SITE" | 
|---|
|  | 19 | . S:ENTY="F" DIR(0)=DIR(0)_";3:ALL PROJECTS IN FIVE YEAR FACILITY PLAN" | 
|---|
|  | 20 | . S:ENTY="A" DIR(0)=DIR(0)_";2:FROM LIST OF PROJECT APPLICATIONS RETURNED TO SITE" | 
|---|
|  | 21 | . S:ENTY="A" DIR(0)=DIR(0)_";3:SELECTED PROJECTS FROM PROGRAM-YEAR LIST" | 
|---|
|  | 22 | . S:ENTY="R" DIR(0)=DIR(0)_";2:ALL PROJECTS WITH MONTHLY UPDATES = YES" | 
|---|
|  | 23 | . D ^DIR K DIR | 
|---|
|  | 24 | ; need year for FYFP | 
|---|
|  | 25 | I ENTY="F" D  G:$D(DIRUT) EXIT | 
|---|
|  | 26 | . S DIR(0)="N^1993:2099:0",DIR("A")="Budget Year of 5-Yr Plan" | 
|---|
|  | 27 | . S DIR("?")="Enter the 4-digit Budget Year of the Plan" | 
|---|
|  | 28 | . S DIR("B")=$E(17000000+DT,1,4)+$S($E(DT,4,7)>0600:2,1:1) | 
|---|
|  | 29 | . D ^DIR K DIR Q:$D(DIRUT) | 
|---|
|  | 30 | . S ENFY=Y-1 | 
|---|
|  | 31 | I ENSEL=1 D  I $D(DTOUT)!$D(DUOUT) D:ENLK UNLOCK K ^TMP($J,"L") G EXIT | 
|---|
|  | 32 | . ; individual projects chosen | 
|---|
|  | 33 | . S ENC=0 | 
|---|
|  | 34 | . S DIC=6925,DIC(0)="AQEM",DIC("A")="Select PROJECT NUMBER: " | 
|---|
|  | 35 | . F  D ^DIC Q:Y'>0  S ENDA=+Y  D | 
|---|
|  | 36 | . . S ENPN=$P($G(^ENG("PROJ",ENDA,0)),U) Q:ENPN']"" | 
|---|
|  | 37 | . . I ENLK L +^ENG("PROJ",ENDA):10 I '$T W !,"Another user is editing this project. Can't select.",$C(7) Q | 
|---|
|  | 38 | . . S ^TMP($J,"L",ENPN)=+Y,ENC=ENC+1 | 
|---|
|  | 39 | . K DIC | 
|---|
|  | 40 | . S:ENC ^TMP($J,"L")=ENC_$S(ENTY="F":U_ENFY,1:"") | 
|---|
|  | 41 | I ENTY="F",ENSEL=2 D RET,LOCK:ENLK ; returned FYFP projects | 
|---|
|  | 42 | I ENTY="F",ENSEL=3 D  G:$D(DIRUT)!$D(DTOUT)!$D(DUOUT) EXIT D:ENLK LOCK | 
|---|
|  | 43 | . ; FYFP projects chosen | 
|---|
|  | 44 | . S DIC="^DIC(4,",DIC(0)="AEMQ",DIC("B")=$P($G(^DIC(6910,1,0)),U,2) | 
|---|
|  | 45 | . D ^DIC K DIC I Y<1!$D(DTOUT)!$D(DUOUT) Q | 
|---|
|  | 46 | . S ENSN=$E($$GET1^DIQ(4,+Y_",",99),1,3) | 
|---|
|  | 47 | . D FYFP^ENPLS1(ENSN,ENFY) | 
|---|
|  | 48 | I ENTY="A",ENSEL=2 D RET,LOCK:ENLK ; returned project applications | 
|---|
|  | 49 | I ENTY="A",ENSEL=3 D PYLIST^ENPLS2,LOCK:ENLK ; program,year project list | 
|---|
|  | 50 | I ENTY="R",ENSEL=2 D  D LOCK:ENLK | 
|---|
|  | 51 | . ; monthly updates chosen | 
|---|
|  | 52 | . S (ENC,ENDA)=0 F  S ENDA=$O(^ENG("PROJ",ENDA)) Q:'ENDA  D | 
|---|
|  | 53 | . . S ENPN=$$GET1^DIQ(6925,ENDA_",",.01) Q:ENPN="" | 
|---|
|  | 54 | . . I $$GET1^DIQ(6925,ENDA_",",2.5)="YES" S ^TMP($J,"L",ENPN)=ENDA,ENC=ENC+1 | 
|---|
|  | 55 | . S:ENC ^TMP($J,"L")=ENC | 
|---|
|  | 56 | I '$D(^TMP($J,"L")) W !,"No projects selected!",$C(7) G EXIT | 
|---|
|  | 57 | EXIT ; Exit | 
|---|
|  | 58 | K DIC,DIR,DIRUT,DTOUT,DUOUT,DIROUT,X,Y | 
|---|
|  | 59 | Q | 
|---|
|  | 60 | RET ; Select from Returned projects | 
|---|
|  | 61 | N ENACL,ENC,ENDA,ENFLD,ENI,ENJ,ENK,ENPN,ENPR,ENY,ENY0 | 
|---|
|  | 62 | K ^TMP($J,"R") | 
|---|
|  | 63 | S ENFLD=$S(ENTY="F":181.1,ENTY="A":251,1:"") | 
|---|
|  | 64 | ; find,sort returned projects | 
|---|
|  | 65 | S ENDA=0 | 
|---|
|  | 66 | F  S ENDA=$O(^ENG("PROJ",ENDA)) Q:'ENDA  D | 
|---|
|  | 67 | . Q:$$GET1^DIQ(6925,ENDA_",",ENFLD)'="RETURNED TO SITE" | 
|---|
|  | 68 | . S ENY0=$G(^ENG("PROJ",ENDA,0)) Q:$P(ENY0,U)=""!($P(ENY0,U,6)="") | 
|---|
|  | 69 | . S ^TMP($J,"R",$P(ENY0,U,6),$P(ENY0,U))=$P(ENY0,U)_U_$P(ENY0,U,6)_U_$P(ENY0,U,3)_U_ENDA | 
|---|
|  | 70 | I '$D(^TMP($J,"R")) W !!,"No 'Returned' Projects Found!",! G RETEX | 
|---|
|  | 71 | S ENI=0,ENPR="" | 
|---|
|  | 72 | F  S ENPR=$O(^TMP($J,"R",ENPR)) Q:ENPR=""  S ENPN="" F  S ENPN=$O(^TMP($J,"R",ENPR,ENPN)) Q:ENPN=""  S ENI=ENI+1,^TMP($J,"SCR",ENI)=^(ENPN) | 
|---|
|  | 73 | S:ENTY="F" ^TMP($J,"SCR")=ENI_U_"RETURNED Five Year Plan Projects" | 
|---|
|  | 74 | S:ENTY="A" ^TMP($J,"SCR")=ENI_U_"RETURNED Project Applications" | 
|---|
|  | 75 | S ^TMP($J,"SCR",0)="5;11;PROJECT #^19;7;PROGRAM^29;50;TITLE" | 
|---|
|  | 76 | D ^ENPLS2 | 
|---|
|  | 77 | ; save selected projects (if any) | 
|---|
|  | 78 | S ENC=0,ENJ="" F  S ENJ=$O(ENACL(ENJ)) Q:ENJ=""  D | 
|---|
|  | 79 | . F ENK=1:1 S ENI=$P(ENACL(ENJ),",",ENK) Q:ENI=""  D | 
|---|
|  | 80 | . . S ENY=^TMP($J,"SCR",ENI),^TMP($J,"L",$P(ENY,U))=$P(ENY,U,4),ENC=ENC+1 | 
|---|
|  | 81 | S:ENC ^TMP($J,"L")=ENC_$S(ENTY="F":U_ENFY,1:"") | 
|---|
|  | 82 | RETEX ; exit | 
|---|
|  | 83 | K ^TMP($J,"R"),^TMP($J,"SCR") | 
|---|
|  | 84 | Q | 
|---|
|  | 85 | LOCK ; Lock List | 
|---|
|  | 86 | N ENDA,ENDEL,ENPN | 
|---|
|  | 87 | S ENDEL=0 | 
|---|
|  | 88 | S ENPN="" F  S ENPN=$O(^TMP($J,"L",ENPN)) Q:ENPN=""  D | 
|---|
|  | 89 | . S ENDA=$P(^TMP($J,"L",ENPN),U) | 
|---|
|  | 90 | . L +^ENG("PROJ",ENDA):10 I '$T S ENDEL=1 W !,"Project ",ENPN," is currently being edited!" | 
|---|
|  | 91 | I ENDEL D UNLOCK K ^TMP($J,"L") | 
|---|
|  | 92 | Q | 
|---|
|  | 93 | UNLOCK ; Unlock List | 
|---|
|  | 94 | N ENDA,ENPN | 
|---|
|  | 95 | S ENPN="" F  S ENPN=$O(^TMP($J,"L",ENPN)) Q:ENPN=""  D | 
|---|
|  | 96 | . S ENDA=$P(^TMP($J,"L",ENPN),U) | 
|---|
|  | 97 | . L -^ENG("PROJ",ENDA) | 
|---|
|  | 98 | Q | 
|---|
|  | 99 | ;ENPLS | 
|---|