PRSARCS ;;WOIFO/JAH - Recess Tracking Functions ;02-MAR-2007 ;;4.0;PAID;**112**;Sep 21, 1995;Build 54 ;;Per VHA Directive 2004-038, this routine should not be modified. Q EN ; S PRSHDR="9 Mo. AWS Recess Summary for "_$P(PRSFSCYR,U,2)_" AWS Start Date: "_$P(PRSFY,U,10)_" (pp "_$P(PRSFY,U,12)_")" S PRSHDR2=$G(VALMHDR(2)) D EN^VALM("PRSA RECESS SUMMARY") S VALMBCK="R" Q HDR ; -- header code S VALMHDR(1)=PRSHDR S VALMHDR(2)=PRSHDR2 Q ; INIT ; -- init variables and list array ; hours based on 25% of AWS schedule--total assigned and available hrs ; and hours available to be assigned to weeks. ; N TRWA,TRHA,RRHA,OUT,RCNT,ED1,TEXT,WD1,WK,HRSWK,HRSUSED,TOTWKS,HRSPOST N HRSPSTOT,DEC S (WK,HRSUSED,RCNT,HRSPSTOT)=0 S VALMCNT=0 F S WK=$O(^TMP("PRSRW",$J,WK)) Q:WK'>0 D . ; Get item out of recess weeks items index . S VALMCNT=VALMCNT+1 . S WD1=$G(WKSFM(WK)),ED1=$E(WD1,4,5)_"/"_$E(WD1,6,7)_"/"_$E(WD1,2,3) . S HRSWK=$P(^TMP("PRSRW",$J,WK),U,2) . I HRSWK>0 S RCNT=RCNT+1 . S HRSPOST=$P(^TMP("PRSRW",$J,WK),U,5) . S HRSPSTOT=HRSPSTOT+HRSPOST . S HRSUSED=HRSUSED+HRSWK . S DEC=$S($P(HRSWK,".",2)>0:1,1:0) . S TEXT=$J(WK,5,0)_" "_ED1_$J(HRSWK,18,2)_$J(HRSPOST,19,2) . D SET^VALM10(VALMCNT,TEXT) I RCNT=0 D . S VALMCNT=VALMCNT+1 . D SET^VALM10(VALMCNT," There are no weeks scheduled with recess hours.") S PRSRWHRS=$$GETAVHRS^PRSARC04(.FMWKS,PRSDT) S TOTWKS=$P($G(PRSRWHRS),U) S TRHA=$P($G(PRSRWHRS),U,2) S TRWA=$P($G(PRSRWHRS),U,3) S RRHA=TRHA-HRSUSED S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT," ====== ======") S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT," Total Recess. Scheduled:"_$J(HRSUSED,7,2)_" Posted:"_$J(HRSPSTOT,7,2)) S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT,"") S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT," Total Weeks in AWS FY Schedule: "_$J(TOTWKS,5,2)) S VALMCNT=VALMCNT+1 D SET^VALM10(VALMCNT," Total available FY recess hrs: "_$J(TRHA,6,2)_" ("_TRWA_" weeks)") S VALMCNT=VALMCNT+1 I RRHA<0 D . D SET^VALM10(VALMCNT," WARNING--Recess hours over scheduled: "_$J(RRHA,6,2)) . S VALMSG="WARNING--Recess hours are over scheduled: "_$J(RRHA,6,2) E D . I RRHA>0 D .. D SET^VALM10(VALMCNT," WARNING--Recess hours under scheduled: "_$J(RRHA,6,2)) .. S VALMSG="WARNING--Recess hours are under scheduled: "_$J(RRHA,6,2) . E D .. D SET^VALM10(VALMCNT," Scheduled recess hours match hours available for recess.") S VALMBCK="Q" Q VALIDRS ; valid recess schedule? ; hours based on 25% of AWS schedule--total assigned and available hrs ; and hours available to be assigned to weeks. ; ; if quitting (PRSOUT=1) check the file, otherwise check what is ; being saved from the PRSRW array. ; N TRHA,RRHA,OUT,CNT,ED1,WD1,WK,HRSWK,HRSUSED,OUT I '$G(PRSOUT) D . S (WK,HRSUSED)=0 . F S WK=$O(^TMP("PRSRW",$J,WK)) Q:WK'>0 D .. ; Get item out of recess weeks items index .. S HRSWK=$P(^TMP("PRSRW",$J,WK),U,2) .. S HRSUSED=HRSUSED+HRSWK E D . S HRSUSED=$$HRSFILED^PRSARC03($P($G(PRSFY),U,9)) S PRSRWHRS=$$GETAVHRS^PRSARC04(.FMWKS,PRSDT) S TRHA=$P($G(PRSRWHRS),U,2) S RRHA=TRHA-HRSUSED I RRHA<0 D . W !,"WARNING--Recess hours are over scheduled: "_$J(-RRHA,6,2) E D . I RRHA>0 D .. W !,"WARNING--Recess hours are under scheduled: "_$J(-RRHA,6,2) . E D .. W !,"Scheduled recess hours match hours available for recess." S OUT=$$ASK^PRSLIB00(1) Q ; HELP ; -- help code N X S X="?" D DISP^XQORM1 W !! Q ; EXIT ; -- exit code D CLEAN^VALM10 K PRSHDR,PRSHDR2 Q ; EXPND ; -- expand code Q ;