예제 #1
0
 function getPayStubAmendmentDeductions()
 {
     //Get pay stub amendments here.
     $psalf = new PayStubAmendmentListFactory();
     if ($this->getAdvance() == TRUE) {
         //For advances, any PS amendment effective BEFORE the advance end date is considered in full.
         //Any AFTER the advance end date, is considered half.
         //$pay_period_end_date = $this->getPayPeriodObject()->getAdvanceEndDate();
         $advance_neg_sum = $psalf->getAmountSumByUserIdAndTypeIdAndAuthorizedAndStartDateAndEndDate($this->getUser(), 20, TRUE, $this->getPayPeriodObject()->getStartDate(), $this->getPayPeriodObject()->getAdvanceEndDate());
         Debug::text('Pay Stub Amendment Advance Deductions: ' . $advance_neg_sum, __FILE__, __LINE__, __METHOD__, 10);
         $full_neg_sum = $psalf->getAmountSumByUserIdAndTypeIdAndAuthorizedAndStartDateAndEndDate($this->getUser(), 20, TRUE, $this->getPayPeriodObject()->getAdvanceEndDate(), $this->getPayPeriodObject()->getEndDate());
         Debug::text('Pay Stub Amendment Full Deductions: ' . $full_neg_sum, __FILE__, __LINE__, __METHOD__, 10);
         //Take the full amount of PS amendments BEFORE the advance end date, and half of any AFTER the advance end date.
         //$neg_sum = $advance_neg_sum + ($full_neg_sum / 2);
         $neg_sum = bcadd($advance_neg_sum, bcdiv($full_neg_sum, 2));
     } else {
         //$pay_period_end_date =
         $neg_sum = $psalf->getAmountSumByUserIdAndTypeIdAndAuthorizedAndStartDateAndEndDate($this->getUser(), 20, TRUE, $this->getPayPeriodObject()->getStartDate(), $this->getPayPeriodObject()->getEndDate());
     }
     //$neg_sum = $psalf->getAmountSumByUserIdAndTypeIdAndTaxExemptAndAuthorizedAndStartDateAndEndDate( $this->getUser(), 20, FALSE, TRUE, $this->getPayPeriodObject()->getStartDate(), $this->getPayPeriodObject()->getEndDate() )*-1;
     Debug::text('Pay Stub Amendment Total Deductions: ' . $neg_sum, __FILE__, __LINE__, __METHOD__, 10);
     return bcmul($neg_sum, -1);
 }