[613] | 1 | PRSAOTTR ;WCIOFO/JAH-LIST OVERTIME REQUESTS-8/18/98
|
---|
| 2 | ;;4.0;PAID;**43**;Sep 21, 1995
|
---|
| 3 | HDR ;
|
---|
| 4 | S VALMHDR(1)="PP "_PRSRPPE_" Week "_PRSRWK_" Overtime Requests for "_PRSRNM
|
---|
| 5 | Q
|
---|
| 6 | ;
|
---|
| 7 | ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
---|
| 8 | ;
|
---|
| 9 | OTRQVW ;OVERTIME REQUESTS VIEW
|
---|
| 10 | ; -- main entry point for PRSA VIEW OT REQ which is called by
|
---|
| 11 | ; the PRSA VIEW OT REQ protocol on the PRSA OVERTIME WARNINGS
|
---|
| 12 | ; List Template protocol menu.
|
---|
| 13 | S PRSOUT=0
|
---|
| 14 | ;
|
---|
| 15 | K ^TMP("PRSAOTR",$J)
|
---|
| 16 | N PRSRREC,PRSRIEN
|
---|
| 17 | ;
|
---|
| 18 | ;ask user to select an overtime warning. The requests on file
|
---|
| 19 | ;associated with that warning will be displayed
|
---|
| 20 | ;
|
---|
| 21 | D PICKWARN
|
---|
| 22 | ;
|
---|
| 23 | Q:PRSOUT
|
---|
| 24 | ;
|
---|
| 25 | ; Call to List Manager to run PRSA OT VIEW REQ template
|
---|
| 26 | D EN^VALM("PRSA VIEW OT REQ")
|
---|
| 27 | S VALMBCK="R"
|
---|
| 28 | Q
|
---|
| 29 | ;
|
---|
| 30 | ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
---|
| 31 | ;
|
---|
| 32 | PICKWARN ;procedure asks for one entry on ot warnings list
|
---|
| 33 | ; and gets the warnings data from the ot warnings file.
|
---|
| 34 | ;
|
---|
| 35 | ;allow selection of only one (1) of the items on the list.
|
---|
| 36 | ;call returns VALMY() array subscripted by list item number.
|
---|
| 37 | D EN^VALM2("","S")
|
---|
| 38 | ;
|
---|
| 39 | S PRSRREC="",PRSRREC=$O(VALMY(0))
|
---|
| 40 | I $G(PRSRREC) D
|
---|
| 41 | . ;Get ien for 458.6 that matches the list item.
|
---|
| 42 | . S PRSRIEN=$G(^TMP("PRSAOTW",$J,PRSRREC)) ; Selected ot warn list num
|
---|
| 43 | . S PRSRREC=$G(^PRST(458.6,PRSRIEN,0)) ; Data on ot warnings list item
|
---|
| 44 | . S PRSRPPI=$P(PRSRREC,U,3) ; Pay period ien
|
---|
| 45 | . S PRSRPPE=$P($G(^PRST(458,PRSRPPI,0)),U) ; External pp format
|
---|
| 46 | . S PRSREMP=$P(PRSRREC,U,2) ; Employee 450 ien
|
---|
| 47 | . S PRSRWK=$P(PRSRREC,U,4) ; Week 1 or 2 of pp
|
---|
| 48 | . S PRSRNM=$P($G(^PRSPC(PRSREMP,0)),U) ; External emp name
|
---|
| 49 | E S PRSOUT=1
|
---|
| 50 | Q
|
---|
| 51 | ;
|
---|
| 52 | ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
---|
| 53 | ;
|
---|
| 54 | INIT(PPI,PPE,WK,EMP) ;BUILD LIST OF OT REQUESTS FOR EMPLOYEE
|
---|
| 55 | ;Input: PPI,PPE - pay period of concern. internal and external YY-PP
|
---|
| 56 | ; WK - week (1) or week (2) of pay period
|
---|
| 57 | ; EMP - employees internal entry number in file 450.
|
---|
| 58 | ;
|
---|
| 59 | ;local vars: D1 - 1st day of payperiod-returned by NX^PRSAPPU
|
---|
| 60 | ; OTREC - a record containing 1 overtime request.
|
---|
| 61 | ; START,STOP - 1st & last FM days of week (Sun,Sat)
|
---|
| 62 | ;
|
---|
| 63 | ; quit returning 0 if anything is missing.
|
---|
| 64 | Q:$G(PPE)=""!$G(WK)=""!$G(EMP)="" 0
|
---|
| 65 | ;
|
---|
| 66 | ; Loop thru OT/CT requests file x-ref on requested work date &
|
---|
| 67 | ; add employees OT requests within week to the list array.
|
---|
| 68 | ;
|
---|
| 69 | N D1,TOTALOT,START,STOP,OTREC,REQCNT
|
---|
| 70 | ;
|
---|
| 71 | ;get start and stop FM days for one week of the pay period.
|
---|
| 72 | D WEEKRNG^PRSAOTT(PPE,WK,.START,.STOP)
|
---|
| 73 | S (REQCNT,TOTALOT,VALMCNT)=0
|
---|
| 74 | S D1=START-.1
|
---|
| 75 | F S D1=$O(^PRST(458.2,"AD",EMP,D1)) Q:D1>STOP!(D1="") D
|
---|
| 76 | . S OTREC=""
|
---|
| 77 | . F S OTREC=$O(^PRST(458.2,"AD",EMP,D1,OTREC)) Q:OTREC="" D
|
---|
| 78 | .. I $$OTREQ^PRSAOTT(OTREC) D
|
---|
| 79 | ... S REQCNT=REQCNT+1
|
---|
| 80 | ... D LISITEM(OTREC,REQCNT,.TOTALOT)
|
---|
| 81 | I REQCNT=0 D
|
---|
| 82 | . D SET^VALM10(1," NO REQUESTS FOUND")
|
---|
| 83 | . S VALMCNT=1
|
---|
| 84 | D SET^VALM10(REQCNT+VALMCNT+1,"----------------------------------------------")
|
---|
| 85 | D SET^VALM10(REQCNT+VALMCNT+2,"Current requested overtime total: "_TOTALOT_" hrs.")
|
---|
| 86 | ;
|
---|
| 87 | ; set list manager counter of number of items in list including
|
---|
| 88 | ; lines containing requests, total, and ----'s
|
---|
| 89 | ;
|
---|
| 90 | S VALMCNT=REQCNT+2+VALMCNT
|
---|
| 91 | Q
|
---|
| 92 | ;
|
---|
| 93 | ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
---|
| 94 | ;
|
---|
| 95 | LISITEM(IEN,COUNT,OTTOTAL) ;ADD A SINGLE ITEM TO VIEW OT REQ LIST
|
---|
| 96 | N PRSSTAT,PRSHRS,PRSRQDT,OTREC,X
|
---|
| 97 | ;
|
---|
| 98 | ;Get data from OT requests file to build one (1) line in the
|
---|
| 99 | ;list of one employee's ot requests for the week.
|
---|
| 100 | ;
|
---|
| 101 | S OTREC=$G(^PRST(458.2,IEN,0)) ; Ot/ct/ch requests file rec
|
---|
| 102 | S PRSRQDT=$P(OTREC,U,3) ; Requested work date
|
---|
| 103 | S PRSRQDT=$E($$FDATE^VALM1(PRSRQDT),1,12) ; External date
|
---|
| 104 | S PRSHRS=$P(OTREC,U,6) ; # of hours requested
|
---|
| 105 | ; Status of requests
|
---|
| 106 | S PRSSTAT=$$EXTERNAL^DILFD(458.2,10,,$P(OTREC,U,8),)
|
---|
| 107 | ;S PRSTL=$P(OTREC,U,9)
|
---|
| 108 | ;
|
---|
| 109 | ;Build one line (X) for list manager with an ot request.
|
---|
| 110 | ; 3rd parameter is name of field on List Template
|
---|
| 111 | ;
|
---|
| 112 | S X=$$SETFLD^VALM1(COUNT,"","NUMBER")
|
---|
| 113 | S X=$$SETFLD^VALM1(PRSHRS,X,"HRSREQ")
|
---|
| 114 | S X=$$SETFLD^VALM1(PRSSTAT,X,"STATUS")
|
---|
| 115 | S X=$$SETFLD^VALM1(PRSRQDT,X,"WORKDATE")
|
---|
| 116 | ;
|
---|
| 117 | ;add line built in X to the list
|
---|
| 118 | ;
|
---|
| 119 | D SET^VALM10(COUNT,X,COUNT)
|
---|
| 120 | ;
|
---|
| 121 | ;add OT hrs from this line to total OT requests for this list
|
---|
| 122 | ;
|
---|
| 123 | S OTTOTAL=PRSHRS+OTTOTAL
|
---|
| 124 | ;
|
---|
| 125 | ; save the ien of the record in the list global for easier
|
---|
| 126 | ; reference to the acutal data.
|
---|
| 127 | ;
|
---|
| 128 | S ^TMP("PRSAOTR",$J,COUNT)=OTREC
|
---|
| 129 | Q
|
---|
| 130 | ;
|
---|
| 131 | ;= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
---|
| 132 | ;
|
---|