public function getLeaveBalance() { $employeeId = $this->getEmpNumber(); $leaveTypeId = $this->getLeaveTypeId(); $leavePeriodId = $this->getLeavePeriodId(); $leaveEntitlementService = new LeaveEntitlementService(); $leaveEntitlementObj = $leaveEntitlementService->readEmployeeLeaveEntitlement($employeeId, $leaveTypeId, $leavePeriodId); if ($leaveEntitlementObj instanceof EmployeeLeaveEntitlement) { $leaveEntitled = $leaveEntitlementObj->getNoOfDaysAllotted(); $leaveBroughtForward = $leaveEntitlementObj->getLeaveBroughtForward(); $leaveCarryForward = $leaveEntitlementObj->getLeaveCarriedForward(); } else { $leaveEntitled = '0.00'; $leaveBroughtForward = '0.00'; $leaveCarryForward = '0.00'; } $leaveRequestService = new LeaveRequestService(); $leaveRequestService->setLeaveRequestDao(new LeaveRequestDao()); $leaveTaken = $leaveRequestService->getTakenLeaveSum($employeeId, $leaveTypeId, $leavePeriodId); $leaveTaken = empty($leaveTaken) ? '0.00' : $leaveTaken; //$leaveScheduled = $this->_getLeaveScheduled($employeeId, $leaveTypeId, $leavePeriodId); $leaveScheduled = $leaveRequestService->getScheduledLeavesSum($employeeId, $leaveTypeId, $leavePeriodId); $leaveScheduled = empty($leaveScheduled) ? '0.00' : $leaveScheduled; $leaveRemaining = $leaveEntitled + $leaveBroughtForward - ($leaveTaken + $leaveScheduled + $leaveCarryForward); $leaveRemaining = number_format($leaveRemaining, 2); return $leaveRemaining; }
protected function setUp() { $this->leavePeriodService = new LeavePeriodService(); $leaveEntitlementService = new LeaveEntitlementService(); $leaveEntitlementService->setLeaveEntitlementStrategy(new FIFOEntitlementConsumptionStrategy()); $this->leavePeriodService->setLeaveEntitlementService($leaveEntitlementService); TestDataService::truncateTables(array('LeavePeriodHistory')); }
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; }
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; }
/** * * @param <type> $request * @return <type> */ public function execute($request) { sfConfig::set('sf_web_debug', false); sfConfig::set('sf_debug', false); $isValidEntitlement = true; if ($this->getRequest()->isXmlHttpRequest()) { $this->getResponse()->setHttpHeader('Content-Type', 'application/json; charset=utf-8'); } $id = $request->getParameter('id'); if ($id > 0) { $entitlementValue = $request->getParameter('entitlements'); $entitlmentService = new LeaveEntitlementService(); $entitlment = $entitlmentService->getLeaveEntitlement($id); if ($entitlment->getDaysUsed() > $entitlementValue['entitlement']) { $isValidEntitlement = false; } } $response = $this->getResponse(); $response->setHttpHeader('Expires', '0'); $response->setHttpHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0, max-age=0"); $response->setHttpHeader("Cache-Control", "private", false); return $this->renderText(json_encode($isValidEntitlement)); }
public function testSaveEmployeeLeaveEntitlementCollection() { $employeeLeaveEntitlementCollection = new Doctrine_Collection('EmployeeLeaveEntitlement'); $employeeLeaveEntitlementList = array(); $employeeLeaveEntitlement = new EmployeeLeaveEntitlement(); $employeeLeaveEntitlement->setLeaveTypeId(1); $employeeLeaveEntitlement->setLeavePeriodId(1); $employeeLeaveEntitlement->setEmployeeId(1); $employeeLeaveEntitlement->setNoOfDaysAllotted(14); $employeeLeaveEntitlement->setLeaveBroughtForward(2); $employeeLeaveEntitlement->setLeaveCarriedForward(5); $employeeLeaveEntitlementCollection->add($employeeLeaveEntitlement); $employeeLeaveEntitlementList[] = $employeeLeaveEntitlement; $employeeLeaveEntitlement = new EmployeeLeaveEntitlement(); $employeeLeaveEntitlement->setLeaveTypeId(1); $employeeLeaveEntitlement->setLeavePeriodId(1); $employeeLeaveEntitlement->setEmployeeId(2); $employeeLeaveEntitlement->setNoOfDaysAllotted(20); $employeeLeaveEntitlement->setLeaveBroughtForward(3); $employeeLeaveEntitlement->setLeaveCarriedForward(4); $employeeLeaveEntitlementCollection->add($employeeLeaveEntitlement); $employeeLeaveEntitlementList[] = $employeeLeaveEntitlement; $leaveEntitlementDao = $this->getMock('LeaveEntitlementDao', array('saveEmployeeLeaveEntitlementCollection')); $leaveEntitlementDao->expects($this->once())->method('saveEmployeeLeaveEntitlementCollection')->with($employeeLeaveEntitlementList)->will($this->returnValue($employeeLeaveEntitlementCollection)); $leaveEntitlementService = new LeaveEntitlementService(); $leaveEntitlementService->setLeaveEntitlementDao($leaveEntitlementDao); $results = $leaveEntitlementService->saveEmployeeLeaveEntitlementCollection($employeeLeaveEntitlementList); $this->assertEquals($employeeLeaveEntitlementCollection, $results); }
public function fetchRawLeaveSummaryRecords($clues, $offset, $limit) { $includeTerminated = false; if ($clues['cmbWithTerminated'] != 0) { $includeTerminated = true; } $recordsResult = $this->getLeaveSummaryDao()->fetchRawLeaveSummaryRecords($clues, $offset, $limit, $includeTerminated); $recordsCount = $this->fetchRawLeaveSummaryRecordsCount($clues, $includeTerminated); $leaveEntitlementService = new LeaveEntitlementService(); $leaveEntitlementService->setLeaveEntitlementDao(new LeaveEntitlementDao()); $leavePeriodService = new LeavePeriodService(); $leavePeriodService->setLeavePeriodDao(new LeavePeriodDao()); $summaryListArray = array(); if ($recordsCount > 0) { $i = 0; while ($row = $recordsResult->fetch()) { $employeeName = $row['empFirstName'] . ' ' . $row['empLastName']; $employeeId = $row['empNumber']; $employeeStatus = $row['empStatus']; $leaveType = $row['leaveTypeName']; $leaveTypeId = $row['leaveTypeId']; $leavePeriodId = $clues['cmbLeavePeriod'] ? $clues['cmbLeavePeriod'] : $leavePeriodService->getCurrentLeavePeriod(); $leaveEntitlementObj = $leaveEntitlementService->readEmployeeLeaveEntitlement($employeeId, $leaveTypeId, $leavePeriodId); if ($leaveEntitlementObj instanceof EmployeeLeaveEntitlement) { $leaveEntitled = $leaveEntitlementObj->getNoOfDaysAllotted(); $leaveBroughtForward = $leaveEntitlementObj->getLeaveBroughtForward(); $leaveCarryForward = $leaveEntitlementObj->getLeaveCarriedForward(); } else { $leaveEntitled = '0.00'; $leaveBroughtForward = '0.00'; $leaveCarryForward = '0.00'; } $leaveRequestService = new LeaveRequestService(); $leaveRequestService->setLeaveRequestDao(new LeaveRequestDao()); $leaveTaken = $leaveRequestService->getTakenLeaveSum($employeeId, $leaveTypeId, $leavePeriodId); $leaveTaken = empty($leaveTaken) ? '0.00' : $leaveTaken; //$leaveScheduled = $this->_getLeaveScheduled($employeeId, $leaveTypeId, $leavePeriodId); $leaveScheduled = $leaveRequestService->getScheduledLeavesSum($employeeId, $leaveTypeId, $leavePeriodId); $leaveScheduled = empty($leaveScheduled) ? '0.00' : $leaveScheduled; $leaveRemaining = $leaveEntitled + $leaveBroughtForward - ($leaveTaken + $leaveScheduled + $leaveCarryForward); $leaveRemaining = number_format($leaveRemaining, 2); $rowDisplayFlag = false; $deletedFlag = false; //show active leave types if ($row['availableFlag'] == 1) { $rowDisplayFlag = true; } //show inactive leave types if any leaveEntitled, leaveTaken, leaveScheduled of them above 0 if ($row['availableFlag'] != 1 && ($leaveEntitled > 0 || $leaveTaken > 0 || $leaveScheduled > 0)) { $rowDisplayFlag = true; $deletedFlag = true; } if ($rowDisplayFlag) { $summaryListRow = array(); $employeeLeaveEntitlementObject = new EmployeeLeaveEntitlement(); // If readonly value is 1, force read only if (isset($row['readonly']) && $row['readonly'] == 1) { $employeeLeaveEntitlementObject->setForceReadOnly(true); } $employeeLeaveEntitlementObject->setEmployeeId($employeeId); $employeeLeaveEntitlementObject->setEmployeeStatus($employeeStatus); $employeeLeaveEntitlementObject->setLeaveTypeId($leaveTypeId); $employeeLeaveEntitlementObject->setNoOfDaysAllotted($leaveEntitled); $employeeLeaveEntitlementObject->setLeaveBroughtForward($leaveBroughtForward); $employeeLeaveEntitlementObject->setLeaveCarriedForward($leaveCarryForward); $employeeLeaveEntitlementObject->setLeavePeriodId($leavePeriodId); $summaryListArray[] = $employeeLeaveEntitlementObject; $i++; } } } return $summaryListArray; }