| 1 | ECXNUTDP ;ALB/JRC - Nut Division Worksheet Print ; 11/2/06 8:41am | 
|---|
| 2 | ;;3.0;DSS EXTRACTS;**92,104**;Dec 22, 1997;Build 8 | 
|---|
| 3 | ; | 
|---|
| 4 | EN ;entry point from option | 
|---|
| 5 | ;Queue Report | 
|---|
| 6 | N ZTDESC,ZTIO,ZTSAVE | 
|---|
| 7 | S ZTIO="" | 
|---|
| 8 | S ZTDESC="Nutrition Division Worksheet for DSS" | 
|---|
| 9 | D EN^XUTMDEVQ("EN1^ECXNUTDP",ZTDESC,.ZTSAVE) | 
|---|
| 10 | Q | 
|---|
| 11 | EN1 ;Tasked entry point | 
|---|
| 12 | ;Declare variables | 
|---|
| 13 | N STOP,PAGENUM,LN,LTYPE | 
|---|
| 14 | S (STOP,PAGENUM,LTYPE)=0,LN="" | 
|---|
| 15 | K ^TMP($J) | 
|---|
| 16 | F LTYPE="119.71","119.72" D  I STOP D EXIT Q | 
|---|
| 17 | .D HEADER I STOP D EXIT Q | 
|---|
| 18 | .D GETDATA | 
|---|
| 19 | .I '$D(^TMP($J,"ECX",LTYPE)) D  Q | 
|---|
| 20 | ..W ! | 
|---|
| 21 | ..W !,"***********************************************" | 
|---|
| 22 | ..W !,"*  NOTHING TO REPORT FOR "_$S(LTYPE=119.71:"PRODUCTION LOCATIONS",LTYPE=119.72:"DELIVERY LOCATIONS  ",1:"")_" *" | 
|---|
| 23 | ..W !,"***********************************************" | 
|---|
| 24 | ..D WAIT | 
|---|
| 25 | .D DETAIL I STOP D EXIT Q | 
|---|
| 26 | .D FOOTER I STOP D EXIT Q | 
|---|
| 27 | .D WAIT Q:STOP | 
|---|
| 28 | .K ^TMP($J) | 
|---|
| 29 | EXIT K ^TMP("ECXDSS",$J) | 
|---|
| 30 | Q | 
|---|
| 31 | GETDATA ;Get data | 
|---|
| 32 | ;Init variables | 
|---|
| 33 | N DIV,IEN,PLIEN,IENS,LOCATION,CNT,PDIV,FILE | 
|---|
| 34 | S (DIV,LOCATION,PDIV)="",(IEN,PLIEN,IENS,CNT)=0 | 
|---|
| 35 | S DIV="" F  S DIV=$O(^ECX(728.46,"B",DIV)) Q:DIV=""  D | 
|---|
| 36 | . ;Q:LTYPE'=$E(DIV,6,11) | 
|---|
| 37 | . Q:LTYPE'=$E($P(DIV,"(",2),1,6) | 
|---|
| 38 | . S IEN=$O(^ECX(728.46,"B",DIV,0)) Q:'IEN  D | 
|---|
| 39 | .. ;S PLIEN=$P(DIV,";",1),FILE=$E(DIV,6,11),CNT=$G(CNT)+1 | 
|---|
| 40 | .. S PLIEN=$P(DIV,";",1),FILE=$E($P(DIV,"(",2),1,6),CNT=$G(CNT)+1 | 
|---|
| 41 | .. I FILE'=LTYPE Q | 
|---|
| 42 | .. S IENS=""_PLIEN_","_"" | 
|---|
| 43 | .. S LOCATION=$$GET1^DIQ(FILE,""_IENS_","_"",.01,"E") | 
|---|
| 44 | .. S PDIV=$$GET1^DIQ(728.46,IEN,1,"I") | 
|---|
| 45 | .. S PDIV=$$RADDIV^ECXDEPT(PDIV) | 
|---|
| 46 | .. S ^TMP($J,"ECX",FILE)="1" | 
|---|
| 47 | .. S ^TMP($J,"ECX",FILE,PLIEN)=PLIEN_U_LOCATION_U_PDIV | 
|---|
| 48 | Q | 
|---|
| 49 | HEADER ;print header | 
|---|
| 50 | N TYPE | 
|---|
| 51 | S PAGENUM=$G(PAGENUM)+1 | 
|---|
| 52 | S $P(LN,"=",9)="",TYPE=$S(LTYPE=119.71:"PRODUCTION",LTYPE=119.72:"DELIVERY",1:"") | 
|---|
| 53 | W @IOF | 
|---|
| 54 | W ?1,"RUN DATE: ",$$FMTE^XLFDT(DT,"5H"),?70,"PAGE ",PAGENUM | 
|---|
| 55 | W !,?23,"NUTRITION DIVISION WORKSHEET" | 
|---|
| 56 | W !!,?27,TYPE_" LOCATIONS" | 
|---|
| 57 | W:TYPE="DELIVERY" !!,?2,TYPE | 
|---|
| 58 | W:TYPE="PRODUCTION" !!,?1,TYPE | 
|---|
| 59 | W ?26,TYPE,?50,"ASSIGNED" | 
|---|
| 60 | W !,?1,"LOCATION #",?26,"LOCATIONS",?50,"DIVISION" | 
|---|
| 61 | W !,?1,LN_"===",?26,LN,LN,?47,LN,LN | 
|---|
| 62 | Q | 
|---|
| 63 | ; | 
|---|
| 64 | DETAIL ;Print detailed line | 
|---|
| 65 | ;Input  :  ^TMP("ECXDSS",$J) full global reference | 
|---|
| 66 | ;                    PLIEN    - File 119.71 or 119.72 IEN | 
|---|
| 67 | ;                    LOCATION - File 119.71 or 119.72 NAME | 
|---|
| 68 | ;                    DIVISION - Assigned production division | 
|---|
| 69 | ;Output  : None | 
|---|
| 70 | N FILE,NODE,PIEN | 
|---|
| 71 | S FILE=0 F  S FILE=$O(^TMP($J,"ECX",FILE)) Q:'FILE!STOP  D | 
|---|
| 72 | .S PIEN=0 F  S PIEN=$O(^TMP($J,"ECX",FILE,PIEN)) Q:'PIEN!STOP  D | 
|---|
| 73 | ..S NODE=^TMP($J,"ECX",FILE,PIEN) | 
|---|
| 74 | ..W !?3,$$RJ^XLFSTR($P(NODE,U),U,6),?26,$P(NODE,U,2),?50,$$RJ^XLFSTR($P(NODE,U,3),U,6) | 
|---|
| 75 | ..I $Y>(IOSL-5) D WAIT Q:STOP  D HEADER | 
|---|
| 76 | ..Q | 
|---|
| 77 | Q | 
|---|
| 78 | ; | 
|---|
| 79 | WAIT ;End of page logic | 
|---|
| 80 | ;Input   ; None | 
|---|
| 81 | ;Output  ; STOP - Flag indicating if printing should continue | 
|---|
| 82 | ;                 1 = Stop     0 = Continue | 
|---|
| 83 | ; | 
|---|
| 84 | S STOP=0 | 
|---|
| 85 | ;CRT - Prompt for continue | 
|---|
| 86 | I $E(IOST,1,2)="C-"&(IOSL'>24) D  Q | 
|---|
| 87 | .F  Q:$Y>(IOSL-3)  W ! | 
|---|
| 88 | .N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT | 
|---|
| 89 | .S DIR(0)="E" | 
|---|
| 90 | .D ^DIR | 
|---|
| 91 | .S STOP=$S(Y'=1:1,1:0) | 
|---|
| 92 | ;Background task - check taskman | 
|---|
| 93 | S STOP=$$S^%ZTLOAD() | 
|---|
| 94 | I STOP D | 
|---|
| 95 | .W !,"*********************************************" | 
|---|
| 96 | .W !,"*  PRINTING OF REPORT STOPPED AS REQUESTED  *" | 
|---|
| 97 | .W !,"*********************************************" | 
|---|
| 98 | Q | 
|---|
| 99 | FOOTER ;Print footer | 
|---|
| 100 | N DIV,IEN | 
|---|
| 101 | S DIV="",IEN=0 | 
|---|
| 102 | W !!!,?1,"INSTITUTION",!,"FILE/DIVISIONS",!,LN,LN | 
|---|
| 103 | F  S DIV=$O(^DG(40.8,"B",DIV)) Q:DIV=""!STOP  D | 
|---|
| 104 | .F  S IEN=$O(^DG(40.8,"B",DIV,IEN)) Q:'IEN!STOP  D  Q:STOP | 
|---|
| 105 | ..W !,?3,$$RJ^XLFSTR($$GETDIV^ECXDEPT(IEN),U,8) | 
|---|
| 106 | ..I $Y>(IOSL-5) D WAIT Q:STOP  D HEADER,FHEADER | 
|---|
| 107 | Q | 
|---|
| 108 | FHEADER ;Footer header | 
|---|
| 109 | W !!!,?1,"INSTITUTION",!,"FILE/DIVISIONS",!,LN,LN | 
|---|
| 110 | Q | 
|---|