function getLeaveBalances($postData)
 {
     $count = count($postData);
     $data = array();
     $leaveEntitlementService = new LeaveEntitlementService();
     $leaveStrategy = $leaveEntitlementService->getLeaveEntitlementStrategy();
     for ($i = 0; $i < $count; $i++) {
         $empNumber = $postData[$i][0];
         $leaveTypeId = $postData[$i][1];
         $startDate = $postData[$i][2];
         $endDate = $postData[$i][3];
         if ($startDate == $endDate) {
             $leaveBalance = $leaveEntitlementService->getLeaveBalance($empNumber, $leaveTypeId, $startDate);
         } else {
             $leavePeriodForStartDate = $leaveStrategy->getLeavePeriod($startDate, $empNumber, $leaveTypeId);
             $leavePeriodForEndDate = $leaveStrategy->getLeavePeriod($endDate, $empNumber, $leaveTypeId);
             if ($leavePeriodForStartDate[0] == $leavePeriodForEndDate[0] && $leavePeriodForStartDate[1] == $leavePeriodForEndDate[1]) {
                 $leaveBalance = $leaveEntitlementService->getLeaveBalance($empNumber, $leaveTypeId, $startDate);
             } else {
                 $startPeriodBalance = $leaveEntitlementService->getLeaveBalance($empNumber, $leaveTypeId, $startDate);
                 $endPeriodBalance = $leaveEntitlementService->getLeaveBalance($empNumber, $leaveTypeId, $endDate);
                 $leaveBalance = array(array('start' => set_datepicker_date_format($leavePeriodForStartDate[0]), 'end' => set_datepicker_date_format($leavePeriodForStartDate[1]), 'balance' => $startPeriodBalance->getBalance()), array('start' => set_datepicker_date_format($leavePeriodForEndDate[0]), 'end' => set_datepicker_date_format($leavePeriodForEndDate[1]), 'balance' => $endPeriodBalance->getBalance()));
             }
         }
         if ($leaveBalance instanceof LeaveBalance) {
             $data[] = number_format($leaveBalance->getBalance(), 2);
         } else {
             $data[] = $leaveBalance;
         }
     }
     return $data;
 }
예제 #2
0
 public function getLeaveBalance()
 {
     $leaveEntitlementService = new LeaveEntitlementService();
     $employeeId = $this->getEmpNumber();
     $leaveTypeId = $this->getLeaveTypeId();
     $leavePeriodId = $this->getLeavePeriodId();
     $balance = $leaveEntitlementService->getLeaveBalance($employeeId, $leaveTypeId, $leavePeriodId);
     return $balance;
 }
 public function getLeaveBalance()
 {
     $balance = '';
     $leaveEntitlementService = new LeaveEntitlementService();
     $employeeId = $this->getEmpNumber();
     $leaveTypeId = $this->getLeaveTypeId();
     $leaveBalance = $leaveEntitlementService->getLeaveBalance($employeeId, $leaveTypeId);
     if ($leaveBalance instanceof LeaveBalance) {
         $balance = $leaveBalance->getBalance();
     }
     return $balance;
 }
 public function testGetLeaveBalanceEmptyRecords()
 {
     $leaveEntitlementService = new LeaveEntitlementService();
     $leaveEntitlementDao = $this->getMock('LeaveEntitlementDao', array('getLeaveBalance'));
     $leaveEntitlementDao->expects($this->once())->method('getLeaveBalance')->with(1, 'LTY001', 1)->will($this->returnValue('0.00'));
     $leaveEntitlementService->setLeaveEntitlementDao($leaveEntitlementDao);
     $this->assertEquals('0.00', $leaveEntitlementService->getLeaveBalance(1, 'LTY001', 1));
 }