| 1 | ENY2USRS ;(WASH CIOFO)/DH-Y2K Utility System Reports ;8.26.98
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**55**;August 17,1993
 | 
|---|
| 3 | EN W @IOF,!,?20,"UTILITY EQUIPMENT SUMMARY REPORT"
 | 
|---|
| 4 |  I $P($G(^DIC(6910,1,0)),U,2)']"" W !!,"There is no STATION NUMBER in your Engineering Init Paramaters file.",!,"Can't proceed.",*7 Q
 | 
|---|
| 5 |  S ENSTN=0
 | 
|---|
| 6 |  I $P(^DIC(6910,1,0),U,10)!($D(^DIC(6910,1,3))) D  I ENSTN="^" K ENSTN Q
 | 
|---|
| 7 |  . W !! S DIR(0)="Y",DIR("A")="Do you want a breakout by station",DIR("B")="NO"
 | 
|---|
| 8 |  . S DIR("?",1)="If you say 'NO' you will obtain a single report for all your equipment,"
 | 
|---|
| 9 |  . S DIR("?")="regardless of which station it belongs to."
 | 
|---|
| 10 |  . D ^DIR K DIR I $D(DIRUT) S ENSTN="^" Q
 | 
|---|
| 11 |  . S ENSTN=Y
 | 
|---|
| 12 |  W !! K IO("Q") S %ZIS="QM" D ^%ZIS G:POP EXIT
 | 
|---|
| 13 |  I $D(IO("Q")) S ZTRTN="SUM^ENY2USRS" D  G EXIT
 | 
|---|
| 14 |  . S ZTDESC="Summary Util Systems Report",ZTIO=ION
 | 
|---|
| 15 |  . S ZTSAVE("ENSTN")=""
 | 
|---|
| 16 |  . D ^%ZTLOAD,HOME^%ZIS K ZTSK
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 | SUM ;  summarization of utility equipment status
 | 
|---|
| 19 |  N STATION,COUNT,TOTAL,FMLY,COMP,DA,J,K
 | 
|---|
| 20 | SUM1 S STATION("PARNT")=$P(^DIC(6910,1,0),U,2),STATION=STATION("PARNT")
 | 
|---|
| 21 |  F J=0,"ALARM","COMM","ELECT","ENVRN","FIRE","OTHER","SCRTY","TRANS","WATER" F K="TOT","FC","NC","CC" S COUNT(STATION,"SYS",J,K)=0,COUNT(STATION,"COMP",J,K)=0
 | 
|---|
| 22 |  F J=0,"ALARM","COMM","ELECT","ENVRN","FIRE","OTHER","SCRTY","TRANS","WATER" S TOTAL(STATION,"ECST",J)=0
 | 
|---|
| 23 |  S DA=0 F  S DA=$O(^ENG(6914,"AR","BSE",DA)) Q:'DA  I $D(^ENG(6914,DA,0)) D
 | 
|---|
| 24 |  . I '$D(ZTQUEUED),'(DA#10) W "." ; activity indicator
 | 
|---|
| 25 |  . Q:"^4^5^"[(U_$P($G(^ENG(6914,DA,3)),U)_U)  ; turned in
 | 
|---|
| 26 |  . I ENSTN S STATION=$S($P($G(^ENG(6914,DA,9)),U,5)]"":$P(^(9),U,5),1:STATION("PARNT")) D:'$D(COUNT(STATION))
 | 
|---|
| 27 |  .. F J=0,"ALARM","COMM","ELECT","ENVRN","FIRE","OTHER","SCRTY","TRANS","WATER" F K="TOT","FC","NC","CC" S COUNT(STATION,"SYS",J,K)=0,COUNT(STATION,"COMP",J,K)=0
 | 
|---|
| 28 |  .. F J=0,"ALARM","COMM","ELECT","ENVRN","FIRE","OTHER","SCRTY","TRANS","WATER" S TOTAL(STATION,"ECST",J)=0
 | 
|---|
| 29 |  . I $P(^ENG(6914,DA,0),U,3)="" D  Q
 | 
|---|
| 30 |  .. ;component without a parent (may or may not have children)
 | 
|---|
| 31 |  .. S FMLY=$P($G(^ENG(6914,DA,9)),U,12) I FMLY="" S FMLY=0
 | 
|---|
| 32 |  .. E  S FMLY=$P($G(^ENG(6918.1,FMLY,0)),U) S:FMLY="" FMLY=0
 | 
|---|
| 33 |  .. S COUNT(STATION,"COMP",FMLY,"TOT")=COUNT(STATION,"COMP",FMLY,"TOT")+1,COMP("SYS")="FC" D
 | 
|---|
| 34 |  ... I "^FC^NA^"[(U_$P($G(^ENG(6914,DA,11)),U)_U) S COUNT(STATION,"COMP",FMLY,"FC")=COUNT(STATION,"COMP",FMLY,"FC")+1 Q
 | 
|---|
| 35 |  ... I $P($G(^ENG(6914,DA,11)),U)="NC" S COUNT(STATION,"COMP",FMLY,"NC")=COUNT(STATION,"COMP",FMLY,"NC")+1,COMP("SYS")="NC",TOTAL(STATION,"ECST",FMLY)=TOTAL(STATION,"ECST",FMLY)+$P($G(^ENG(6914,DA,2)),U,3) Q
 | 
|---|
| 36 |  ... I $P($G(^ENG(6914,DA,11)),U)="CC" S COUNT(STATION,"COMP",FMLY,"CC")=COUNT(STATION,"COMP",FMLY,"CC")+1,COMP("SYS")="NC",TOTAL(STATION,"ECST",FMLY)=TOTAL(STATION,"ECST",FMLY)+$P($G(^ENG(6914,DA,11)),U,3)
 | 
|---|
| 37 |  .. Q:'$D(^ENG(6914,"AE",DA))  ;no children
 | 
|---|
| 38 |  .. D RCRSN(DA,"")
 | 
|---|
| 39 |  .. S COUNT(STATION,"SYS",FMLY,"TOT")=COUNT(STATION,"SYS",FMLY,"TOT")+1
 | 
|---|
| 40 |  .. I COMP("SYS")]"" S COUNT(STATION,"SYS",FMLY,COMP("SYS"))=COUNT(STATION,"SYS",FMLY,COMP("SYS"))+1
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 | PRNTSUM ; print the summary report
 | 
|---|
| 43 |  Q:$G(ENY2K("VACO"))  ;  invoked by national roll-up
 | 
|---|
| 44 |  U IO
 | 
|---|
| 45 |  N PAGE,DATE,ESCAPE,UL,ULD
 | 
|---|
| 46 |  D NOW^%DTC S Y=% X ^DD("DD") S DATE("PRNT")=$P(Y,":",1,2),PAGE=0
 | 
|---|
| 47 |  S $P(UL,"-",79)="-",$P(ULD,"=",79)="="
 | 
|---|
| 48 |  S STATION="" F  S STATION=$O(COUNT(STATION)) Q:STATION=""  D HDRSUM D  D HOLD Q:$G(ESCAPE)
 | 
|---|
| 49 |  . N PRCNT
 | 
|---|
| 50 |  . S COUNT(STATION,"SYS")=0,COUNT(STATION,"SYS","FC")=0,COUNT(STATION,"SYS","NC")=0 F J=0,"ALARM","COMM","ELECT","ENVRN","FIRE","OTHER","SCRTY","TRANS","WATER" D
 | 
|---|
| 51 |  .. S COUNT(STATION,"SYS")=COUNT(STATION,"SYS")+COUNT(STATION,"SYS",J,"TOT"),COUNT(STATION,"SYS","FC")=COUNT(STATION,"SYS","FC")+COUNT(STATION,"SYS",J,"FC")
 | 
|---|
| 52 |  .. S COUNT(STATION,"SYS","NC")=COUNT(STATION,"SYS","NC")+COUNT(STATION,"SYS",J,"NC")
 | 
|---|
| 53 |  . I 'COUNT(STATION,"SYS") W !!,?20,"<There are no Utility Systems on which to report>"
 | 
|---|
| 54 |  . E  D
 | 
|---|
| 55 |  .. S PRCNT("COMP")=$P(100*(COUNT(STATION,"SYS","FC")/COUNT(STATION,"SYS"))+.5,".") S:PRCNT("COMP")="" PRCNT("COMP")=0
 | 
|---|
| 56 |  .. W !!,"There "_$S(COUNT(STATION,"SYS")=1:"is ",1:"are ")_COUNT(STATION,"SYS")_" Utility System"_$S(COUNT(STATION,"SYS")=1:"",1:"s")_" in this data base."
 | 
|---|
| 57 |  .. W !,?5,COUNT(STATION,"SYS","FC")_"  ("_$J(PRCNT("COMP"),3)_" %) are Y2K compliant."
 | 
|---|
| 58 |  .. W:IOSL>59 !,ULD
 | 
|---|
| 59 |  .. W !!,?35,"SYSTEM"
 | 
|---|
| 60 |  .. W !,?22,"System",?40,"FC System",?60,"NC/CC System"
 | 
|---|
| 61 |  .. W !,"Family",?22,"Count",?42,"Count",?63,"Count"
 | 
|---|
| 62 |  .. W !,UL
 | 
|---|
| 63 |  .. F J="ALARM","COMM","ELECT","ENVRN","FIRE","OTHER","SCRTY","TRANS","WATER" W !,J,?19,$J(COUNT(STATION,"SYS",J,"TOT"),8),?39,$J(COUNT(STATION,"SYS",J,"FC"),8),?60,$J(COUNT(STATION,"SYS",J,"NC"),8)
 | 
|---|
| 64 |  .. W !,"No Family",?19,$J(COUNT(STATION,"SYS",0,"TOT"),8),?39,$J(COUNT(STATION,"SYS",0,"FC"),8),?60,$J(COUNT(STATION,"SYS",0,"NC"),8)
 | 
|---|
| 65 |  .. W:IOSL>59 !,UL
 | 
|---|
| 66 |  .. W !,"TOTALS",?19,$J(COUNT(STATION,"SYS"),8),?39,$J(COUNT(STATION,"SYS","FC"),8),?60,$J(COUNT(STATION,"SYS","NC"),8)
 | 
|---|
| 67 |  . S COUNT(STATION,"COMP")=0,COUNT(STATION,"COMP","FC")=0,COUNT(STATION,"COMP","NC")=0,COUNT(STATION,"COMP","CC")=0,TOTAL(STATION,"ECST")=0
 | 
|---|
| 68 |  . F J=0,"ALARM","COMM","ELECT","ENVRN","FIRE","OTHER","SCRTY","TRANS","WATER" D
 | 
|---|
| 69 |  .. S COUNT(STATION,"COMP")=COUNT(STATION,"COMP")+COUNT(STATION,"COMP",J,"TOT"),COUNT(STATION,"COMP","FC")=COUNT(STATION,"COMP","FC")+COUNT(STATION,"COMP",J,"FC")
 | 
|---|
| 70 |  .. S COUNT(STATION,"COMP","NC")=COUNT(STATION,"COMP","NC")+COUNT(STATION,"COMP",J,"NC"),COUNT(STATION,"COMP","CC")=COUNT(STATION,"COMP","CC")+COUNT(STATION,"COMP",J,"CC"),TOTAL(STATION,"ECST")=TOTAL(STATION,"ECST")+TOTAL(STATION,"ECST",J)
 | 
|---|
| 71 |  . I 'COUNT(STATION,"COMP") W !!,?20,"<There is no Utility Equipment on which to report>" Q
 | 
|---|
| 72 |  . I COUNT(STATION,"SYS"),IOSL<60 D HOLD Q:$G(ESCAPE)  D HDRSUM
 | 
|---|
| 73 |  . I IOSL>59 W !!,ULD
 | 
|---|
| 74 |  . W !,?34,"COMPONENTS"
 | 
|---|
| 75 |  . W !,?12,"Component",?24,"FC Component",?39,"NC Component",?54,"CC Component",?69,"Est Comp"
 | 
|---|
| 76 |  . W !,"Family",?14,"Count",?28,"Count",?43,"Count",?58,"Count",?71,"Cost"
 | 
|---|
| 77 |  . W !,UL
 | 
|---|
| 78 |  . F J="ALARM","COMM","ELECT","ENVRN","FIRE","OTHER","SCRTY","TRANS","WATER" W !,J,?12,$J(COUNT(STATION,"COMP",J,"TOT"),8),?27,$J(COUNT(STATION,"COMP",J,"FC"),8),?42,$J(COUNT(STATION,"COMP",J,"NC"),8),?57,$J(COUNT(STATION,"COMP",J,"CC"),8) D
 | 
|---|
| 79 |  .. W ?67,"$",$J($P(TOTAL(STATION,"ECST",J)+.5,"."),9,0)
 | 
|---|
| 80 |  . W !,"No Family",?12,$J(COUNT(STATION,"COMP",0,"TOT"),8),?27,$J(COUNT(STATION,"COMP",0,"FC"),8),?42,$J(COUNT(STATION,"COMP",0,"NC"),8),?57,$J(COUNT(STATION,"COMP",0,"CC"),8),?67,"$",$J($P(TOTAL(STATION,"ECST",0)+.5,"."),9,0)
 | 
|---|
| 81 |  . W !,UL
 | 
|---|
| 82 |  . W !,"TOTALS",?12,$J(COUNT(STATION,"COMP"),8),?27,$J(COUNT(STATION,"COMP","FC"),8),?42,$J(COUNT(STATION,"COMP","NC"),8),?57,$J(COUNT(STATION,"COMP","CC"),8),?67,"$",$J($P(TOTAL(STATION,"ECST")+.5,"."),9,0)
 | 
|---|
| 83 |  . W !,ULD
 | 
|---|
| 84 |  G EXIT ; design exit for summary report
 | 
|---|
| 85 |  ;
 | 
|---|
| 86 | HDRSUM ; header for summary utility systems report
 | 
|---|
| 87 |  Q:$G(ESCAPE)
 | 
|---|
| 88 |  W:PAGE>0!($E(IOST,1,2)="C-") @IOF S PAGE=PAGE+1
 | 
|---|
| 89 |  W "Summary Report on Utility Equipment as of "_DATE("PRNT"),?70,"Page: "_PAGE
 | 
|---|
| 90 |  W !,$S(ENSTN:"Station: "_STATION,1:"Consolidated ("_STATION("PARNT")_")")
 | 
|---|
| 91 |  W !,ULD
 | 
|---|
| 92 |  Q
 | 
|---|
| 93 |  ;
 | 
|---|
| 94 | RCRSN(PARNT,PRECRSR) ;  build hierarchical system tree
 | 
|---|
| 95 |  N CHILD
 | 
|---|
| 96 |  S CHILD=0 F  S CHILD=$O(^ENG(6914,"AE",PARNT,CHILD)) Q:'CHILD  D
 | 
|---|
| 97 |  . Q:","_PRECRSR_PARNT_","[(","_CHILD_",")  ;  would be an endless loop
 | 
|---|
| 98 |  . Q:"^4^5^"[(U_$P($G(^ENG(6914,CHILD,3)),U)_U)  ; ck for turn-ins
 | 
|---|
| 99 |  . S COUNT(STATION,"COMP",FMLY,"TOT")=COUNT(STATION,"COMP",FMLY,"TOT")+1 D
 | 
|---|
| 100 |  .. I "^FC^NA^"[(U_$P($G(^ENG(6914,DA,11)),U)_U) S COUNT(STATION,"COMP",FMLY,"FC")=COUNT(STATION,"COMP",FMLY,"FC")+1 Q
 | 
|---|
| 101 |  .. I $P($G(^ENG(6914,DA,11)),U)="NC" S COUNT(STATION,"COMP",FMLY,"NC")=COUNT(STATION,"COMP",FMLY,"NC")+1,COMP("SYS")="NC",TOTAL(STATION,"ECST",FMLY)=TOTAL(STATION,"ECST",FMLY)+$P($G(^ENG(6914,DA,2)),U,3) Q
 | 
|---|
| 102 |  .. I $P($G(^ENG(6914,DA,11)),U)="CC" S COUNT(STATION,"COMP",FMLY,"CC")=COUNT(STATION,"COMP",FMLY,"CC")+1,COMP("SYS")="NC",TOTAL(STATION,"ECST",FMLY)=TOTAL(STATION,"ECST",FMLY)+$P($G(^ENG(6914,DA,11)),U,3) Q
 | 
|---|
| 103 |  .. ;this component has Y2K category of null
 | 
|---|
| 104 |  .. S:COMP("SYS")'="NC" COMP("SYS")=""
 | 
|---|
| 105 |  . I $O(^ENG(6914,"AE",CHILD,0)) D RCRSN(CHILD,PRECRSR_PARNT_",")
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 | HOLD Q:$E(IOST,1,2)'="C-"!($G(ESCAPE))
 | 
|---|
| 109 |  W !!,"Press <RETURN> to continue, '^' to escape..." R X:DTIME
 | 
|---|
| 110 |  I '$T!($E(X)="^") S ESCAPE=1
 | 
|---|
| 111 |  Q
 | 
|---|
| 112 |  ;
 | 
|---|
| 113 | EXIT K ENSTN
 | 
|---|
| 114 |  I $D(ZTQUEUED) S ZTREQN="@"
 | 
|---|
| 115 |  D ^%ZISC,HOME^%ZIS
 | 
|---|
| 116 |  Q
 | 
|---|
| 117 |  ;ENY2USRS
 | 
|---|