| [613] | 1 | ENWOREP ;WIRMFO/DH,SAB-Reprint Work Orders ;2.24.98
 | 
|---|
 | 2 |  ;;7.0;ENGINEERING;**15,35,48**;Aug 17, 1993
 | 
|---|
 | 3 | EN ; ask section
 | 
|---|
 | 4 |  S DIC="^DIC(6922,",DIC(0)="AEQM"
 | 
|---|
 | 5 |  S DIC("A")="For Engineering SECTION: ALL// "
 | 
|---|
 | 6 |  D ^DIC K DIC G:X="^" EXIT
 | 
|---|
 | 7 |  I X="" S ENDA="ALL"
 | 
|---|
 | 8 |  I +Y>0 S ENDA=+Y
 | 
|---|
 | 9 | ASKDT ; ask date range
 | 
|---|
 | 10 |  S %DT="AEXP"
 | 
|---|
 | 11 |  S %DT("A")="Start DATE: " D ^%DT G:Y'>0 EXIT S ENFR=+Y
 | 
|---|
 | 12 |  S %DT("B")=$$FMTE^XLFDT(ENFR)
 | 
|---|
 | 13 |  S %DT("A")="Stop DATE: " D ^%DT G:Y'>0 EXIT S ENTO=+Y
 | 
|---|
 | 14 |  I ENTO<ENFR W !!,"Stop Date may not preceed Start Date.",*7,! G ASKDT
 | 
|---|
 | 15 |  S ENFR=$E(ENFR,2,7),ENTO=$E(ENTO,2,7)
 | 
|---|
 | 16 |  I ENTO<ENFR D  G:'Y EXIT
 | 
|---|
 | 17 |  . S DIR("A",1)="It appears that you are reprinting across a century."
 | 
|---|
 | 18 |  . S DIR("A")="Is that what you want to do"
 | 
|---|
 | 19 |  . S DIR(0)="Y",DIR("B")="YES"
 | 
|---|
 | 20 |  . D ^DIR K DIR
 | 
|---|
 | 21 |  ;
 | 
|---|
 | 22 |  S ENBARCD=0
 | 
|---|
 | 23 |  S I=$O(^ENG(6910.2,"B","PRINT BAR CODES ON W.O.",0)) I I>0,$P(^ENG(6910.2,I,0),U,2)="Y" S ENBARCD=1
 | 
|---|
 | 24 |  ;
 | 
|---|
 | 25 |  D DEV^ENLIB G:POP EXIT
 | 
|---|
 | 26 |  I $D(IO("Q")) D  G EXIT
 | 
|---|
 | 27 |  . S ZTDESC="Engineering Work Order Reprint"
 | 
|---|
 | 28 |  . S ZTRTN=$S(ENDA="ALL":"ENALL^ENWOREP",1:"ENONE^ENWOREP")
 | 
|---|
 | 29 |  . S ZTSAVE("EN*")=""
 | 
|---|
 | 30 |  . D ^%ZTLOAD,HOME^%ZIS K ZTSK
 | 
|---|
 | 31 |  G:ENDA=+ENDA ENONE
 | 
|---|
 | 32 |  ;
 | 
|---|
 | 33 | ENALL U IO
 | 
|---|
 | 34 |  D:$E(IOST,1,2)'="C-" PSET^%ZISP
 | 
|---|
 | 35 |  S (ENDA,ENQUIT)=0
 | 
|---|
 | 36 |  F  S ENDA=$O(^DIC(6922,ENDA)) Q:'ENDA!ENQUIT  I ENDA#100'>89 D SECT
 | 
|---|
 | 37 |  D:$E(IOST,1,2)'="C-" PKILL^%ZISP
 | 
|---|
 | 38 |  D ^%ZISC
 | 
|---|
 | 39 |  G EXIT
 | 
|---|
 | 40 |  ;
 | 
|---|
 | 41 | ENONE U IO
 | 
|---|
 | 42 |  D:$E(IOST,1,2)'="C-" PSET^%ZISP
 | 
|---|
 | 43 |  S ENQUIT=0
 | 
|---|
 | 44 |  D SECT
 | 
|---|
 | 45 |  D:$E(IOST,1,2)'="C-" PKILL^%ZISP
 | 
|---|
 | 46 |  D ^%ZISC
 | 
|---|
 | 47 |  G EXIT
 | 
|---|
 | 48 |  ;
 | 
|---|
 | 49 | SECT ; reprint work orders for section ENDA
 | 
|---|
 | 50 |  S ENABR=$P(^DIC(6922,ENDA,0),U,2),ENCC=$L(ENABR)
 | 
|---|
 | 51 |  ; if entire range within century loop
 | 
|---|
 | 52 |  I ENTO'<ENFR D DATELP(ENFR,ENTO)
 | 
|---|
 | 53 |  ; if range crosses century use two ranges to print
 | 
|---|
 | 54 |  I ENTO<ENFR D DATELP(ENFR,"999999") D:'ENQUIT DATELP("000000",ENTO)
 | 
|---|
 | 55 |  Q
 | 
|---|
 | 56 |  ;
 | 
|---|
 | 57 | DATELP(ENFR,ENTO) ; date loop for dates within a century
 | 
|---|
 | 58 |  ; input ENFR and ENTO with format YYMMDD
 | 
|---|
 | 59 |  S ENWO=ENABR_ENFR,ENDLP=0
 | 
|---|
 | 60 |  F  S ENWO=$O(^ENG(6920,"B",ENWO)) D  Q:ENDLP!ENQUIT
 | 
|---|
 | 61 |  . I ENWO="" S ENDLP=1 Q  ; no more work orders
 | 
|---|
 | 62 |  . I ENABR'=$E(ENWO,1,ENCC)!($E(ENWO,ENCC+1)'?1N) S ENDLP=1 Q  ; shop
 | 
|---|
 | 63 |  . I $E(ENWO,ENCC+1,ENCC+6)>ENTO S ENDLP=1 Q  ; after stop date
 | 
|---|
 | 64 |  . S DA=$O(^ENG(6920,"B",ENWO,0))
 | 
|---|
 | 65 |  . I $P($G(^ENG(6920,DA,4)),U,3)'>4 D PRT ; only print incomplete w.o.
 | 
|---|
 | 66 |  Q
 | 
|---|
 | 67 |  ;
 | 
|---|
 | 68 | PRT ; print one work order (DA)
 | 
|---|
 | 69 |  D ST^ENWOD1,TOP^ENWOD2
 | 
|---|
 | 70 |  D:ENBARCD BAR^ENWOD
 | 
|---|
 | 71 |  I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR K DIR I 'Y S ENQUIT=1 Q
 | 
|---|
 | 72 |  W @IOF
 | 
|---|
 | 73 |  I IO'=IO(0),'$D(ZTQUEUED) U IO(0) W "." U IO
 | 
|---|
 | 74 |  Q
 | 
|---|
 | 75 |  ;
 | 
|---|
 | 76 | EXIT K ENABR,ENCC,ENDA,ENDLP,ENFR,ENTO,ENDSTAT,ENBARCD,ENQUIT,ENWO
 | 
|---|
 | 77 |  K %DT,DA,DTOUT,DUOUT,DIRUT,DIROUT,I,Y
 | 
|---|
 | 78 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
 | 79 |  Q
 | 
|---|
 | 80 |  ;ENWOREP
 | 
|---|