| 1 | LRLABXT ;SLC/TGA - REPRINTS DEMAND LABELS ;2/19/91  10:38 | 
|---|
| 2 | ;;5.2;LAB SERVICE;**80,161**;Sep 27, 1994 | 
|---|
| 3 | ; | 
|---|
| 4 | EN ; Reprint labels | 
|---|
| 5 | D IOCHK | 
|---|
| 6 | I '$D(LRLABLIO) D K Q | 
|---|
| 7 | D OPEN^%ZISUTL("LRHOME","HOME") ; Setup handle for user's "HOME" device. | 
|---|
| 8 | D USE^%ZISUTL("LRHOME") | 
|---|
| 9 | K DIR,DIRUT,DTOUT,DUOUT,X,Y | 
|---|
| 10 | S DIR(0)="SO^1:Range of Accessions;2:Selected Accessions",DIR("A")="Selection Method",DIR("B")=1 | 
|---|
| 11 | D ^DIR | 
|---|
| 12 | I $D(DIRUT) D K Q | 
|---|
| 13 | S LRTYPE=+Y | 
|---|
| 14 | ASK ; | 
|---|
| 15 | D USE^%ZISUTL("LRHOME") | 
|---|
| 16 | S (LRACC,LREXMPT)=1,(LRCNT,LRQUIT)=0 | 
|---|
| 17 | K ^TMP("LRLABXT",$J) | 
|---|
| 18 | I LRTYPE=1 D | 
|---|
| 19 | . D ^LRWU4 | 
|---|
| 20 | . I LRAN<1 S LRQUIT=1 Q  ; User aborted selection. | 
|---|
| 21 | . S FIRST=LRAN,X=$O(^LRO(68,LRAA,1,LRAD,1,":"),-1) | 
|---|
| 22 | . W ! | 
|---|
| 23 | . S DIR(0)="NO^"_LRAN_":"_X_":0",DIR("A")="Reprint from "_LRAN_" to",DIR("B")=LRAN | 
|---|
| 24 | . D ^DIR K DIR | 
|---|
| 25 | . I $D(DIRUT) S LRQUIT=1 Q | 
|---|
| 26 | . W ! | 
|---|
| 27 | . S LRAN=FIRST-1,LAST=Y | 
|---|
| 28 | . F  S LRAN=$O(^LRO(68,LRAA,1,LRAD,1,LRAN)) Q:'LRAN!(LRAN>LAST)  D | 
|---|
| 29 | . . W:$X>(IOM-1) ! W "." ; Let user know we're looking. | 
|---|
| 30 | . . D SETTMP | 
|---|
| 31 | I LRTYPE=2 F  D  Q:LRQUIT!(LRAN<1) | 
|---|
| 32 | . D ^LRWU4 | 
|---|
| 33 | . I $D(DTOUT)!($D(DUOUT)) S LRQUIT=1 Q | 
|---|
| 34 | . I LRAN<1 S:'$D(^TMP("LRLABXT",$J)) LRQUIT=1 Q | 
|---|
| 35 | . D SETTMP | 
|---|
| 36 | I 'LRQUIT,LRCNT>10 D | 
|---|
| 37 | . N DIR,DIRUT,DTOUT,DUOUT,X,Y | 
|---|
| 38 | . S DIR(0)="YO",DIR("A",1)="Reprinting labels for "_LRCNT_" accessions!",DIR("A")="Are you sure",DIR("B")="NO" | 
|---|
| 39 | . D ^DIR | 
|---|
| 40 | . I Y<1!($D(DIRUT)) S LRQUIT=1 Q | 
|---|
| 41 | I LRQUIT D K Q | 
|---|
| 42 | I $D(LRLABLIO("Q")) D  G ASK | 
|---|
| 43 | . S ZTIO=LRLABLIO,ZTRTN="LOAD^LRLABXT",ZTDESC="Reprint Lab Accession Labels" | 
|---|
| 44 | . S ZTSAVE("^TMP(""LRLABXT"",$J,")="" | 
|---|
| 45 | . D ^%ZTLOAD | 
|---|
| 46 | . W !,"Labels ",$S($G(ZTSK):"queued to "_$P(LRLABLIO,";")_" Task #"_ZTSK,1:"NOT queued"),! | 
|---|
| 47 | . K ZTSK,ZTRTN,ZTIO,ZTDESC,ZTSAVE | 
|---|
| 48 | W !!,"Printing labels on ",$P(LRLABLIO,";"),! | 
|---|
| 49 | D USE^%ZISUTL("LRLABEL") | 
|---|
| 50 | LOAD ; Tasked entry point and from above. | 
|---|
| 51 | D PSET^LRLABLD | 
|---|
| 52 | F  S LRLABX=$Q(^TMP("LRLABXT",$J)) Q:LRLABX=""  Q:$QS(LRLABX,1)'="LRLABXT"!($QS(LRLABX,2)'=$J)  D | 
|---|
| 53 | . S LRAA=$QS(LRLABX,3),LRAD=$QS(LRLABX,4),LRAN=$QS(LRLABX,5) | 
|---|
| 54 | . D LBLTYP^LRLABLD | 
|---|
| 55 | . D PRINT | 
|---|
| 56 | . K @LRLABX | 
|---|
| 57 | I $D(ZTQUEUED) D K Q | 
|---|
| 58 | G ASK | 
|---|
| 59 | ; | 
|---|
| 60 | PRINT ; | 
|---|
| 61 | ; Called by above, LRLABXOL | 
|---|
| 62 | Q:'$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) | 
|---|
| 63 | S X=^LRO(68,LRAA,1,LRAD,1,LRAN,0),LRSN=+$P(X,U,5),LRODT=+$P(X,U,4),LRLLOC=$P(X,U,7) | 
|---|
| 64 | S LRCE=$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,.1)),"^") | 
|---|
| 65 | S LRACC=$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,.2)),"^") | 
|---|
| 66 | S LRRB=0 | 
|---|
| 67 | D LRBAR^LRLABLD | 
|---|
| 68 | D GO^LRLABLD | 
|---|
| 69 | Q | 
|---|
| 70 | ; | 
|---|
| 71 | IOCHK ; Select and check label printer. | 
|---|
| 72 | ; Called from above, LRLABXOL | 
|---|
| 73 | I '$D(LRLABLIO) D | 
|---|
| 74 | . D ^LRLABLIO | 
|---|
| 75 | . ; Time delay - allow port to be reopened if closed in call to LRLABLIO | 
|---|
| 76 | . I $D(LRLABLIO),'$D(IO("Q")) H 2 | 
|---|
| 77 | I '$D(LRLABLIO) Q | 
|---|
| 78 | I '$D(LRLABLIO("Q")) D | 
|---|
| 79 | . N %ZIS,IOP | 
|---|
| 80 | . S %ZIS="",IOP=LRLABLIO | 
|---|
| 81 | . D OPEN^%ZISUTL("LRLABEL",IOP,.%ZIS) ; Setup handle for user's LABEL device. | 
|---|
| 82 | . I POP D | 
|---|
| 83 | . . W !,$C(7),"Unable to open device" | 
|---|
| 84 | . . K LRLABLIO | 
|---|
| 85 | Q | 
|---|
| 86 | ; | 
|---|
| 87 | SETTMP ; Setup TMP global with accession to reprint. | 
|---|
| 88 | S LRCNT=LRCNT+1,^TMP("LRLABXT",$J,LRAA,LRAD,LRAN)="" | 
|---|
| 89 | Q | 
|---|
| 90 | ; | 
|---|
| 91 | K ; Cleanup | 
|---|
| 92 | I $D(ZTQUEUED) S ZTREQ="@" | 
|---|
| 93 | E  D CLOSE^%ZISUTL("LRLABEL"),CLOSE^%ZISUTL("LRHOME"),PKILL^%ZISP | 
|---|
| 94 | D KVAR^LRX | 
|---|
| 95 | K %,IO("Q"),A,B,DIC,I,I1,IOP,J,K,L,LAST,N,POP,R,S1,S2,T,X,Y,Z | 
|---|
| 96 | K LRAA,LRACC,LRAD,LRAN,LRCE,LRCNT,LRDAT,LRDPF,LREXMPT,LRINFW,LRLABEL,LRLF,LRDFN,LRODT,LRPREF,LRSSP | 
|---|
| 97 | K LRNOLABL,LRPRAC,LRTJ,LRTJDATA,LRLABX,LRQUIT,LRTOP,LRTS,LRTYPE,LRTV,LRTVOL,LRTXT,LRVOL,LRLABLIO,LRFN,LRAD,LRLLOC,LRNN,LRRB,LRSN | 
|---|
| 98 | K LRX,LRXL,LRBAR,LRBAR1,LRBAR0,LRBARID,LRUID,LRURG,LRURG0,LRURGA | 
|---|
| 99 | K ^TMP("LRLABXT",$J) | 
|---|
| 100 | Q | 
|---|