protected function getMatchingEmployees($parameters) { $parameterHolder = new EmployeeSearchParameterHolder(); $filters = array('location' => $parameters['location'], 'sub_unit' => $parameters['subunit']); $fromDate = isset($parameters['fd']) ? $parameters['fd'] : null; $toDate = isset($parameters['td']) ? $parameters['td'] : null; $leaveType = isset($parameters['lt']) ? $parameters['lt'] : null; $newValue = isset($parameters['ent']) ? $parameters['ent'] : null; $offset = isset($parameters['offset']) ? $parameters['offset'] : 0; $pageSize = sfConfig::get('app_items_per_page'); $parameterHolder->setFilters($filters); $parameterHolder->setOffset($offset); $parameterHolder->setLimit($pageSize); $parameterHolder->setReturnType(EmployeeSearchParameterHolder::RETURN_TYPE_ARRAY); $employees = $this->getEmployeeService()->searchEmployees($parameterHolder); $names = array(); foreach ($employees as $employee) { $leaveEntitlementSearchParameterHolder = new LeaveEntitlementSearchParameterHolder(); $leaveEntitlementSearchParameterHolder->setEmpNumber($employee['empNumber']); $leaveEntitlementSearchParameterHolder->setFromDate($fromDate); $leaveEntitlementSearchParameterHolder->setLeaveTypeId($leaveType); $leaveEntitlementSearchParameterHolder->setToDate($toDate); $entitlementList = $this->getEntitlementService()->searchLeaveEntitlements($leaveEntitlementSearchParameterHolder); $oldValue = 0; if (count($entitlementList) > 0) { $existingLeaveEntitlement = $entitlementList->getFirst(); $oldValue = $existingLeaveEntitlement->getNoOfDays(); } $names[] = array($employee['firstName'] . ' ' . $employee['middleName'] . ' ' . $employee['lastName'], $oldValue, $newValue + $oldValue); } $data = array('offset' => $offset, 'pageSize' => $pageSize, 'data' => $names); return $data; }
/** * Get employees matching the filter parameters. * @param type $parameters * @return type */ protected function getMatchingEmployees($parameters) { $parameterHolder = new EmployeeSearchParameterHolder(); $filters = array('location' => $parameters['location'], 'sub_unit' => $parameters['subunit']); $parameterHolder->setFilters($filters); $parameterHolder->setLimit(NULL); $parameterHolder->setReturnType(EmployeeSearchParameterHolder::RETURN_TYPE_ARRAY); $employees = $this->getEmployeeService()->searchEmployees($parameterHolder); $ids = array(); foreach ($employees as $employee) { $ids[] = $employee['empNumber']; } return $ids; }