/** * * Ajax call to fetch employees for multi departments */ public function getmultiempsAction() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('getmultiemps', 'html')->initContext(); $dept_id = $this->_getParam('dept_id', null); $options = ""; if (!empty($dept_id)) { $dept_id = implode(',', $dept_id); $addemployeeleavesModel = new Default_Model_Addemployeeleaves(); $emp_data = $addemployeeleavesModel->getMultipleEmployees($dept_id); } $this->view->empData = !empty($emp_data) ? $emp_data : array(); }
public function saveEmployeeLeaves($addEmpLeavesForm, $loginUserId) { $addemployeeleavesModel = new Default_Model_Addemployeeleaves(); $employeeleavesModel = new Default_Model_Employeeleaves(); $leavemanagementModel = new Default_Model_Leavemanagement(); $usermodel = new Default_Model_Employee(); $businessunit_id = $this->_getParam('businessunit_id', null); $department_id = $this->_getParam('department_id', null); $user_ids = $this->_getParam('user_id', null); if ($addEmpLeavesForm->isValid($this->_request->getPost())) { try { $postedArr = array(); $id = $this->_request->getParam('id'); $postedArr = $this->_request->getPost(); $actionflag = 1; $tableid = ''; if (!empty($user_ids)) { foreach ($user_ids as $key => $val) { $leavetransfercount = 0; $isleavetrasnferset = 0; $userId = $key; $emp_leave_limit = $val; $empDetails = $usermodel->getEmp_from_summary($userId); $prevyeardata = $employeeleavesModel->getPreviousYearEmployeeleaveData($userId); if (!empty($empDetails)) { $userDepartment = $empDetails['department_id']; $leavetransferArr = $leavemanagementModel->getWeekendDetails($userDepartment); } if (!empty($leavetransferArr) && $leavetransferArr[0]['is_leavetransfer'] == 1) { $leavetransfercount = !empty($prevyeardata) ? $prevyeardata[0]['remainingleaves'] : 0; $isleavetrasnferset = 1; } $currentyeardata = $employeeleavesModel->getsingleEmployeeleaveData($userId); if (empty($currentyeardata)) { $empLeaveLimit = $emp_leave_limit + $leavetransfercount; } else { $empLeaveLimit = $emp_leave_limit + $currentyeardata[0]['emp_leave_limit']; } /* Save employee leaves in allotted leaves log */ $logID = $employeeleavesModel->saveallotedleaves($postedArr, $emp_leave_limit, $userId, $loginUserId); $Id = $employeeleavesModel->SaveorUpdateEmployeeLeaves($userId, $empLeaveLimit, $isleavetrasnferset, $loginUserId); $menuID = EMPLOYEE; $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $userId); $empLeaveLimit = ''; } } $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee Leave details added successfully.")); $this->_redirect('addemployeeleaves'); } catch (Exception $e) { $msgarray['businessunit_id'] = "Something went wrong, please try again."; return $msgarray; } } else { $messages = $addEmpLeavesForm->getMessages(); foreach ($messages as $key => $val) { foreach ($val as $key2 => $val2) { $msgarray[$key] = $val2; break; } } if (!empty($businessunit_id)) { $bu_id = implode(',', $businessunit_id); $dept_model = new Default_Model_Departments(); $dept_data = $dept_model->getDepartmentWithCodeList_bu($bu_id); if (!empty($dept_data)) { foreach ($dept_data as $dept) { $addEmpLeavesForm->department_id->addMultiOption($dept['id'], $dept['unitcode'] . " " . $dept['deptname']); } } } if (!empty($department_id)) { $dept_id = implode(',', $department_id); $emp_data = $addemployeeleavesModel->getMultipleEmployees($dept_id); if (!empty($emp_data)) { foreach ($emp_data as $emp) { $addEmpLeavesForm->user_id->addMultiOption($emp['user_id'] . "-" . $emp['department_id'], $emp['userfullname']); } } } return $msgarray; } }