public function getuniqueDepartment($businessunit_id)
 {
     $leavemanagementmodel = new Default_Model_Leavemanagement();
     $departmentidsArr = $leavemanagementmodel->getActiveDepartmentIds();
     $departmentsmodel = new Default_Model_Departments();
     $depatrmentidstr = '';
     $newarr = array();
     if (!empty($departmentidsArr)) {
         $where = '';
         for ($i = 0; $i < sizeof($departmentidsArr); $i++) {
             $newarr1[] = array_push($newarr, $departmentidsArr[$i]['deptid']);
         }
         $depatrmentidstr = implode(",", $newarr);
         foreach ($newarr as $deparr) {
             $where .= " id!= {$deparr} AND ";
         }
         $where = trim($where, " AND");
         $querystring = "Select d.id,d.deptname from main_departments as d where d.unitid={$businessunit_id} and d.isactive=1 and {$where}  ";
         $uniquedepartmentids = $departmentsmodel->getUniqueDepartments($querystring);
         return $uniquedepartmentids;
     } else {
         $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
         return $departmentlistArr;
     }
 }
Ejemplo n.º 2
0
 public function calculatecalendardaysAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $noOfDays = 0;
     $weekDay = '';
     $result['message'] = '';
     $result['days'] = '';
     $result['from_date_view'] = '';
     $result['to_date_view'] = '';
     $result['result'] = '';
     $employeeDepartmentId = '';
     $employeeGroupId = '';
     $weekend1 = '';
     $weekend2 = '';
     $availableleaves = '';
     $holidayDatesArr = array();
     $fromDatejs = $this->_request->getParam('fromDate');
     $fromDate = sapp_Global::change_date($fromDatejs, 'database');
     $toDatejs = $this->_request->getParam('toDate');
     $toDate = sapp_Global::change_date($toDatejs, 'database');
     //Calculating the no of days in b/w from date & to date with out taking weekend & holidays....
     $from_obj = new DateTime($fromDatejs);
     $from_date = $from_obj->format('Y-m-d');
     $to_obj = new DateTime($toDatejs);
     $to_date = $to_obj->format('Y-m-d');
     if ($to_date >= $from_date) {
         $employeesmodel = new Default_Model_Employees();
         $leavemanagementmodel = new Default_Model_Leavemanagement();
         $holidaydatesmodel = new Default_Model_Holidaydates();
         $leaverequestmodel = new Default_Model_Leaverequest();
         $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId);
         $getavailbaleleaves = $leaverequestmodel->getAvailableLeaves($loginUserId);
         if (!empty($getavailbaleleaves)) {
             $availableleaves = $getavailbaleleaves[0]['remainingleaves'];
         }
         if (!empty($loggedInEmployeeDetails)) {
             $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id'];
             $employeeGroupId = $loggedInEmployeeDetails[0]['holiday_group'];
             if ($employeeDepartmentId != '' && $employeeDepartmentId != NULL) {
                 $weekendDetailsArr = $leavemanagementmodel->getWeekendNamesDetails($employeeDepartmentId);
             }
             if (!empty($weekendDetailsArr)) {
                 if ($weekendDetailsArr[0]['is_skipholidays'] == 1 && isset($employeeGroupId) && $employeeGroupId != '') {
                     $holidayDateslistArr = $holidaydatesmodel->getHolidayDatesListForGroup($employeeGroupId);
                     if (!empty($holidayDateslistArr)) {
                         for ($i = 0; $i < sizeof($holidayDateslistArr); $i++) {
                             $holidayDatesArr[$i] = $holidayDateslistArr[$i]['holidaydate'];
                         }
                     }
                 }
                 $weekend1 = $weekendDetailsArr[0]['daystartname'];
                 $weekend2 = $weekendDetailsArr[0]['dayendname'];
             }
             $fromdate_obj = new DateTime($fromDate);
             $weekDay = $fromdate_obj->format('l');
             while ($fromDate <= $toDate) {
                 if (count($holidayDatesArr) > 0) {
                     if ($weekDay != $weekend1 && $weekDay != $weekend2 && !in_array($fromDate, $holidayDatesArr)) {
                         $noOfDays++;
                     }
                 } else {
                     if ($weekDay != $weekend1 && $weekDay != $weekend2) {
                         $noOfDays++;
                     }
                 }
                 $fromdate_obj->add(new DateInterval('P1D'));
                 //Increment from date by one day...
                 $fromDate = $fromdate_obj->format('Y-m-d');
                 $weekDay = $fromdate_obj->format('l');
             }
         }
         $result['result'] = 'success';
         $result['days'] = $noOfDays;
         $result['message'] = '';
         $result['loginUserId'] = $loginUserId;
         $result['availableleaves'] = $availableleaves;
     }
     $this->_helper->_json($result);
 }
Ejemplo n.º 3
0
 public function leavesAction()
 {
     if (defined('EMPTABCONFIGS')) {
         $empOrganizationTabs = explode(",", EMPTABCONFIGS);
         if (in_array('emp_leaves', $empOrganizationTabs)) {
             $auth = Zend_Auth::getInstance();
             if ($auth->hasIdentity()) {
                 $loginUserId = $auth->getStorage()->read()->id;
                 $loginUserRole = $auth->getStorage()->read()->emprole;
                 $loginuserGroup = $auth->getStorage()->read()->group_id;
             }
             $id = $loginUserId;
             $call = $this->_getParam('call');
             if ($call == 'ajaxcall') {
                 $this->_helper->layout->disableLayout();
                 $userID = $this->_getParam('unitId') != '' ? $this->_getParam('unitId') : $this->_getParam('userid');
             }
             $Uid = $id ? $id : $userID;
             $employeeleavesModel = new Default_Model_Employeeleaves();
             $leavemanagementModel = new Default_Model_Leavemanagement();
             $employeeModal = new Default_Model_Employee();
             try {
                 $empdata = $employeeModal->getsingleEmployeeData($Uid);
                 if ($empdata == 'norows') {
                     $this->view->rowexist = "norows";
                     $this->view->empdata = "";
                 } else {
                     $this->view->rowexist = "rows";
                     if (!empty($empdata)) {
                         if ($Uid) {
                             $empleavesform = new Default_Form_empleaves();
                             $employeeleavesModal = new Default_Model_Employeeleaves();
                             $currentdata = '';
                             $leavetransferArr = $leavemanagementModel->getWeekendDetails($empdata[0]['department_id']);
                             $prevyeardata = $employeeleavesModal->getPreviousYearEmployeeleaveData($Uid);
                             $currentyeardata = $employeeleavesModal->getsingleEmployeeleaveData($Uid);
                             if (empty($currentyeardata)) {
                                 $currentdata = "empty";
                                 $currentyearleavecount = '';
                             } else {
                                 $currentdata = "notempty";
                                 $currentyearleavecount = $currentyeardata[0]['emp_leave_limit'];
                             }
                             $this->view->currentdata = $currentdata;
                             $leavetransfercount = '';
                             $previousyear = '';
                             $isleavetrasnferset = '';
                             $data = $employeeleavesModal->getsingleEmployeeleaveData($id);
                             $used_leaves = 0;
                             $date = date('Y');
                             if (!empty($data)) {
                                 $empleavesform->populate($data[0]);
                                 $used_leaves = $data[0]['used_leaves'];
                             }
                             $empleavesform->alloted_year->setValue($date);
                             if (!empty($leavetransferArr) && $leavetransferArr[0]['is_leavetransfer'] == 1 && !empty($prevyeardata) && is_numeric($prevyeardata[0]['remainingleaves']) && (int) $prevyeardata[0]['remainingleaves'] > 0 && $prevyeardata[0]['alloted_year'] != '' && empty($currentyeardata)) {
                                 $leavetransfercount = $prevyeardata[0]['remainingleaves'];
                                 $previousyear = $prevyeardata[0]['alloted_year'];
                                 $isleavetrasnferset = 1;
                                 $empleavesform->submitbutton->setAttrib('onClick', 'return showleavealert(' . $leavetransfercount . ',' . $previousyear . ')');
                                 $empleavesform->setAttrib('action', DOMAIN . 'mydetails/leaves/');
                             } else {
                                 $empleavesform->setAttrib('action', DOMAIN . 'mydetails/leaves/');
                             }
                             $this->view->form = $empleavesform;
                             $this->view->data = $data;
                             $this->view->id = $Uid;
                             $this->view->leavetransfercount = $leavetransfercount;
                         }
                         //Post values....
                         if ($this->getRequest()->getPost()) {
                             $result = $this->empaddorremoveleaves($empleavesform, $Uid, $used_leaves, $leavetransfercount, $isleavetrasnferset, $currentyearleavecount);
                             $this->view->msgarray = $result;
                         }
                         $objname = $this->_getParam('objname');
                         $refresh = $this->_getParam('refresh');
                         $data = array();
                         $searchQuery = '';
                         $searchArray = array();
                         $tablecontent = '';
                         if ($refresh == 'refresh') {
                             $sort = 'DESC';
                             $by = 'e.modifieddate';
                             $perPage = 10;
                             $pageNo = 1;
                             $searchData = '';
                         } else {
                             $sort = $this->_getParam('sort') != '' ? $this->_getParam('sort') : 'DESC';
                             $by = $this->_getParam('by') != '' ? $this->_getParam('by') : 'e.modifieddate';
                             $perPage = $this->_getParam('per_page', 10);
                             $pageNo = $this->_getParam('page', 1);
                             $searchData = $this->_getParam('searchData');
                             $searchData = rtrim($searchData, ',');
                             /** search from grid - START **/
                             $searchData = $this->_getParam('searchData');
                             if ($searchData != '' && $searchData != 'undefined') {
                                 $searchValues = json_decode($searchData);
                                 foreach ($searchValues as $key => $val) {
                                     $searchQuery .= " " . $key . " like '%" . $val . "%' AND ";
                                     $searchArray[$key] = $val;
                                 }
                                 $searchQuery = rtrim($searchQuery, " AND");
                             }
                             /** search from grid - END **/
                         }
                         $objName = 'empleaves';
                         $tableFields = array('action' => 'Action', 'emp_leave_limit' => 'Alloted leave limit', 'used_leaves' => 'Used leaves', 'remainingleaves' => 'Leave balance', 'alloted_year' => 'Alloted year');
                         $tablecontent = $employeeleavesModel->getEmpLeavesData($sort, $by, $pageNo, $perPage, $searchQuery, $Uid);
                         $dataTmp = array('userid' => $Uid, 'sort' => $sort, 'by' => $by, 'pageNo' => $pageNo, 'perPage' => $perPage, 'tablecontent' => $tablecontent, 'objectname' => $objName, 'extra' => array(), 'tableheader' => $tableFields, 'jsGridFnName' => 'getEmployeeAjaxgridData', 'jsFillFnName' => '', 'searchArray' => $searchArray, 'add' => 'add', 'menuName' => 'Employee Leaves', 'formgrid' => 'true', 'unitId' => $Uid, 'call' => $call, 'context' => 'mydetails');
                         array_push($data, $dataTmp);
                         $permission = sapp_Global::_checkprivileges(EMPLOYEE, $loginuserGroup, $loginUserRole, 'edit');
                         $this->view->dataArray = $data;
                         $this->view->call = $call;
                         $this->view->id = $Uid;
                         $this->view->messages = $this->_helper->flashMessenger->getMessages();
                         $this->view->employeedata = $empdata[0];
                         $this->view->usergroup = $loginuserGroup;
                         $this->view->permission = $permission;
                     }
                     $this->view->empdata = $empdata;
                 }
             } catch (Exception $e) {
                 $this->view->rowexist = "norows";
             }
             $this->view->usergroup = $loginuserGroup;
         } else {
             $this->_redirect('error');
         }
     } else {
         $this->_redirect('error');
     }
 }
Ejemplo n.º 4
0
 public function viewpopupAction()
 {
     Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/");
     $id = $this->getRequest()->getParam('id');
     if ($id == '') {
         $id = $loginUserId;
     }
     $callval = $this->getRequest()->getParam('call');
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $objName = 'empleaves';
     $empleavesform = new Default_Form_empleaves();
     $employeeleavesModal = new Default_Model_Employeeleaves();
     $leavemanagementModel = new Default_Model_Leavemanagement();
     $empleavesform->removeElement("submit");
     $elements = $empleavesform->getElements();
     if (count($elements) > 0) {
         foreach ($elements as $key => $element) {
             if ($key != "Cancel" && $key != "Edit" && $key != "Delete" && $key != "Attachments") {
                 $element->setAttrib("disabled", "disabled");
             }
         }
     }
     $data = $employeeleavesModal->getsingleEmpleavesrow($id);
     if (!empty($data)) {
         $leaveTypeCount = $leavemanagementModel->getEmployeeUsedLeavesName($data['user_id'], $data['alloted_year']);
     }
     if (!empty($data)) {
         $empleavesform->populate($data);
         $empleavesform->leave_limit->setValue($data['emp_leave_limit']);
     }
     $this->view->controllername = $objName;
     $this->view->leaveTypeCount = $leaveTypeCount;
     $this->view->id = $id;
     $this->view->form = $empleavesform;
 }
Ejemplo n.º 5
0
 public function editpopupAction()
 {
     //For opening the form in pop up.....
     Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH . "/layouts/scripts/popup/");
     $leavemanagementmodel = new Default_Model_Leavemanagement();
     $employeesmodel = new Default_Model_Employees();
     $empMedicalclaimsform = new Default_Form_Medicalclaims();
     $empMedicalclaimsModel = new Default_Model_Medicalclaims();
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginUserGroup = $auth->getStorage()->read()->id;
     }
     $id = $this->getRequest()->getParam('id');
     //Id (PK) from form URL
     $user_id = $this->getRequest()->getParam('unitId');
     //This is User_id taking from URL set to form...
     if ($user_id) {
         $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($user_id);
         $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id'];
         $weekendDatailsArr = $leavemanagementmodel->getWeekendDetails($employeeDepartmentId);
         $this->view->weekendDatailsArr = $weekendDatailsArr;
     }
     $empMedicalclaimsform->removeElement('injuryindicator');
     $empMedicalclaimsform->removeElement('type');
     if ($id) {
         $data = $empMedicalclaimsModel->getmedicalclaimsdetails($id);
         if (!empty($data)) {
             $empMedicalclaimsform->setDefault("id", $data[0]["id"]);
             $empMedicalclaimsform->setDefault("user_id", $data[0]["user_id"]);
             $empMedicalclaimsform->setDefault("injuryindicator", $data[0]["injury_indicator"]);
             $empMedicalclaimsform->setDefault("type", $data[0]["injury_type"]);
             $empMedicalclaimsform->setDefault("description", $data[0]["injury_description"]);
             $empMedicalclaimsform->setDefault("injury_name", $data[0]["injury_name"]);
             $empMedicalclaimsform->setDefault("injury_severity", $data[0]["injury_severity"]);
             $empMedicalclaimsform->setDefault("disability_type", $data[0]["disability_type"]);
             $empMedicalclaimsform->setDefault("other_disability_type", $data[0]["other_disability_type"]);
             $empMedicalclaimsform->setDefault("insurer_name", $data[0]["medical_insurer_name"]);
             $empMedicalclaimsform->setDefault("gp_name", $data[0]["concerned_physician_name"]);
             $empMedicalclaimsform->setDefault("hospital_name", $data[0]["hospital_name"]);
             $empMedicalclaimsform->setDefault("hospital_addr", $data[0]["hospital_address"]);
             $empMedicalclaimsform->setDefault("treatment_details", $data[0]["treatment_details"]);
             $empMedicalclaimsform->setDefault("room_num", $data[0]["room_number"]);
             $empMedicalclaimsform->setDefault("total_cost", $data[0]["total_cost"]);
             $empMedicalclaimsform->setDefault("amount_claimed", $data[0]["amount_claimed_for"]);
             $empMedicalclaimsform->setDefault("amount_approved", $data[0]["amount_approved"]);
             $empMedicalclaimsform->setDefault("leavebyemp_days", $data[0]["leavebyemployeer_days"]);
             $empMedicalclaimsform->setDefault("empleave_days", $data[0]["leaveappliedbyemployee_days"]);
             if ($data[0]["injured_date"] != "" && $data[0]["injured_date"] != 00 - 00 - 00) {
                 $injureddate = sapp_Global::change_date($data[0]["injured_date"], 'view');
                 $empMedicalclaimsform->setDefault('injured_date', $injureddate);
             }
             if ($data[0]["expected_date_join"] != "" && $data[0]["expected_date_join"] != 00 - 00 - 00) {
                 $exp_dateofjoin = sapp_Global::change_date($data[0]["expected_date_join"], 'view');
                 $empMedicalclaimsform->setDefault('expected_date_join', $exp_dateofjoin);
             }
             if ($data[0]["leavebyemployeer_to_date"] != "" && $data[0]["leavebyemployeer_to_date"] != 00 - 00 - 00) {
                 $leavebyemployeer_to_date = sapp_Global::change_date($data[0]["leavebyemployeer_to_date"], 'view');
                 $empMedicalclaimsform->setDefault("leavebyemp_to_date", $leavebyemployeer_to_date);
             }
             if ($data[0]["leavebyemployeer_from_date"] != "" && $data[0]["leavebyemployeer_from_date"] != 00 - 00 - 00) {
                 $leavebyemployeer_from_date = sapp_Global::change_date($data[0]["leavebyemployeer_from_date"], 'view');
                 $empMedicalclaimsform->setDefault("leavebyemp_from_date", $leavebyemployeer_from_date);
             }
             if ($data[0]["leaveappliedbyemployee_to_date"] != "" && $data[0]["leaveappliedbyemployee_to_date"] != 00 - 00 - 00) {
                 $leaveappliedbyemployeetodate = sapp_Global::change_date($data[0]["leaveappliedbyemployee_to_date"], 'view');
                 $empMedicalclaimsform->setDefault("empleave_to_date", $leaveappliedbyemployeetodate);
             }
             if ($data[0]["leaveappliedbyemployee_from_date"] != "" && $data[0]["leaveappliedbyemployee_from_date"] != 00 - 00 - 00) {
                 $leaveappliedbyemployeefromdate = sapp_Global::change_date($data[0]["leaveappliedbyemployee_from_date"], 'view');
                 $empMedicalclaimsform->setDefault("empleave_from_date", $leaveappliedbyemployeefromdate);
             }
             $this->view->data = $data;
         }
         $this->view->id = $id;
         $empMedicalclaimsform->setAttrib('action', DOMAIN . 'medicalclaims/editpopup/unitId/' . $user_id);
     }
     $this->view->form = $empMedicalclaimsform;
     if ($this->getRequest()->getPost()) {
         $errorResult = $this->medicalclaimsvalidations();
         if (empty($errorResult['msgarray'])) {
             $result = $this->save($empMedicalclaimsform, $user_id);
             $this->view->msgarray = $result;
             $this->view->fieldValues = $errorResult['fieldValues'];
         } else {
             $this->view->msgarray = $errorResult['msgarray'];
             $this->view->fieldValues = $errorResult['fieldValues'];
         }
     }
 }
Ejemplo n.º 6
0
 public function getdepartmentsAction()
 {
     $ajaxContext = $this->_helper->getHelper('AjaxContext');
     $ajaxContext->addActionContext('getdepartments', 'html')->initContext();
     $businessunit_id = $this->_request->getParam('business_id');
     $con = $this->_request->getParam('con');
     $employeeform = new Default_Form_employee();
     $leavemanagementform = new Default_Form_leavemanagement();
     $flag = '';
     $departmentsmodel = new Default_Model_Departments();
     if ($con == 'leavemanagement') {
         $leavemanagementmodel = new Default_Model_Leavemanagement();
         $departmentidsArr = $leavemanagementmodel->getActiveDepartmentIds();
         $depatrmentidstr = '';
         $newarr = array();
         if (!empty($departmentidsArr)) {
             $where = '';
             for ($i = 0; $i < sizeof($departmentidsArr); $i++) {
                 $newarr1[] = array_push($newarr, $departmentidsArr[$i]['deptid']);
             }
             $depatrmentidstr = implode(",", $newarr);
             foreach ($newarr as $deparr) {
                 $where .= " id!= {$deparr} AND ";
             }
             $where = trim($where, " AND");
             $querystring = "Select d.id,d.deptname from main_departments as d where d.unitid={$businessunit_id} and d.isactive=1 and {$where}  ";
             $uniquedepartmentids = $departmentsmodel->getUniqueDepartments($querystring);
             if (empty($uniquedepartmentids)) {
                 $flag = 'true';
             }
             $this->view->uniquedepartmentids = $uniquedepartmentids;
         } else {
             $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
             if (empty($departmentlistArr)) {
                 $flag = 'true';
             }
             $this->view->departmentlistArr = $departmentlistArr;
         }
     } else {
         $departmentlistArr = $departmentsmodel->getDepartmentList($businessunit_id);
         if (empty($departmentlistArr)) {
             $flag = 'true';
         }
         $this->view->departmentlistArr = $departmentlistArr;
     }
     $this->view->employeeform = $employeeform;
     $this->view->leavemanagementform = $leavemanagementform;
     $this->view->flag = $flag;
     if ($con != '') {
         $this->view->con = $con;
     }
 }
Ejemplo n.º 7
0
 function gethalfdaydetailsAction()
 {
     $this->_helper->layout->disableLayout();
     $result['result'] = '';
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $employeesmodel = new Default_Model_Employees();
     $leavemanagementmodel = new Default_Model_Leavemanagement();
     $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId);
     $ishalf_day = '';
     if (!empty($loggedInEmployeeDetails)) {
         $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id'];
         $weekendDatailsArr = $leavemanagementmodel->getWeekendDetails($employeeDepartmentId);
         if (!empty($weekendDatailsArr)) {
             $ishalf_day = $weekendDatailsArr[0]['is_halfday'];
         } else {
             $ishalf_day = 'error';
         }
     }
     $result['result'] = $ishalf_day;
     $this->_helper->_json($result);
 }
Ejemplo n.º 8
0
 public function weekAction()
 {
     $usersModel = new Timemanagement_Model_Users();
     $storage = new Zend_Auth_Storage_Session();
     $now = new DateTime();
     $data = $storage->read();
     $selYrMon = $this->_getParam('selYrMon');
     $week = $this->_getParam('week') != '' ? $this->_getParam('week') : 1;
     $calWeek = $this->_getParam('calWeek');
     $timeFlag = $this->_getParam('flag');
     $selDay = $this->_getParam('day');
     if ($data->id == 1) {
         $this->_redirect('error');
     }
     $selYrMon = $selYrMon != '' ? $selYrMon : $now->format('Y-m');
     $yrMon = explode('-', $selYrMon);
     if ($timeFlag == 'time' && $selYrMon == $now->format('Y-m') && $calWeek == '') {
         $calWeek = strftime('%U', strtotime($selYrMon . '-' . $now->format('d')));
         $startCalWeek = strftime('%U', strtotime($selYrMon . '-01'));
         $week = $calWeek - $startCalWeek + 1;
     }
     $empDoj = $usersModel->getEmployeeDoj($data->id);
     $selYrMonArray = explode('-', $selYrMon);
     if ($selDay != '') {
         $calWeek = strftime('%U', strtotime($selYrMon . '-' . $selDay));
         $startCalWeek = strftime('%U', strtotime($selYrMon . '-01'));
         $week = $calWeek - $startCalWeek + 1;
     } else {
         if ($calWeek == '') {
             $calWeek = strftime('%U', strtotime($selYrMon . '-01'));
         }
     }
     $myTsModel = new Timemanagement_Model_MyTimesheet();
     if ($timeFlag == 'time') {
         $myTsWeekData = $myTsModel->getWeeklyTimesheetData($data->id, $selYrMonArray[0], $selYrMonArray[1], $week);
     } else {
         $myTsWeekData = $myTsModel->getWeeklyTimesheetData($data->id, $selYrMonArray[0], $selYrMonArray[1], $week, 'view');
     }
     $empHolidaysWeekendsData = $usersModel->getEmployeeHolidaysNWeekends($data->id, $yrMon[0], $yrMon[1], $calWeek);
     $startDate = date("Y-m-d", strtotime("{$yrMon[0]}-W{$calWeek}-7"));
     $endDate = date("Y-m-d", strtotime('next saturday', strtotime($startDate)));
     $empLeavesData = $usersModel->getEmpLeaves($data->id, $startDate, $endDate, 'all');
     $weekNotes = $myTsModel->getWeekNotes($data->id, $selYrMonArray[0], $selYrMonArray[1], $week);
     $weekDaysStatus = $myTsModel->getWeekDaysStatus($data->id, $selYrMonArray[0], $selYrMonArray[1], $week);
     $weekDaysProjStatus = $myTsModel->getWeekDaysProjStatus($data->id, $selYrMonArray[0], $selYrMonArray[1], $week);
     $noOfDaysMonth = date("t", mktime(0, 0, 0, $selYrMonArray[1], 1, $selYrMonArray[0]));
     $cronStartDay = "";
     $cronEndDay = "";
     $mon = $yrMon[1] + 1;
     $yr = $mon == 12 ? $selYrMonArray[0] + 1 : $selYrMonArray[0];
     if ($selDay != '') {
         $this->view->selDay = date("D", strtotime($selYrMon . '-' . $selDay));
     }
     $this->view->empDoj = $empDoj['date_of_joining'];
     $this->view->selYrMon = $selYrMon;
     $this->view->selWeek = $week;
     $this->view->myTsWeekData = $myTsWeekData;
     $this->view->weekNotesData = $weekNotes;
     $this->view->empHolidaysWeekends = $empHolidaysWeekendsData[0];
     $this->view->leavesData = $empLeavesData;
     $this->view->weekDaysStatus = $weekDaysStatus;
     $this->view->weekDaysProjStatus = $weekDaysProjStatus;
     $this->view->cronStartDay = $cronStartDay;
     $this->view->cronEndDay = $cronEndDay;
     //START code to show pending weeks for submit in current month
     $projmodel = new Timemanagement_Model_Projects();
     $prevweeks = $projmodel->getprevmonthweeks(date('Y-m'), date('d'));
     /*Leave request code starts*/
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $leaverequestform = new Default_Form_leaverequest();
     $leaverequestform->setAttrib('action', BASE_URL . 'leaverequest');
     $leaverequestmodel = new Default_Model_Leaverequest();
     $employeeleavetypemodel = new Default_Model_Employeeleavetypes();
     $leavemanagementmodel = new Default_Model_Leavemanagement();
     $usersmodel = new Default_Model_Users();
     $employeesmodel = new Default_Model_Employees();
     $weekdaysmodel = new Default_Model_Weekdays();
     $holidaydatesmodel = new Default_Model_Holidaydates();
     $msgarray = array();
     $dateofjoiningArr = array();
     $holidayDateslistArr = array();
     $rMngr = 'No';
     $availableleaves = '';
     $rep_mang_id = '';
     $employeeemail = '';
     $reportingManageremail = '';
     $week_startday = '';
     $week_endday = '';
     $ishalf_day = '';
     $userfullname = '';
     $reportingmanagerName = '';
     $businessunitid = '';
     $hremailgroup = '';
     /* Start
     		   Queries to fetch user details,reporting manager details and weekend details from users table and employees table
     		*/
     if ($loginUserId != '' && $loginUserId != NULL) {
         $loggedinEmpId = $usersmodel->getUserDetailsByID($loginUserId);
         $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId);
         if (!empty($loggedInEmployeeDetails)) {
             if ($loggedInEmployeeDetails[0]['date_of_joining'] != '') {
                 $date = new DateTime($loggedInEmployeeDetails[0]['date_of_joining']);
                 $datofjoiningtimestamp = $date->getTimestamp();
                 $dateofjoining = explode("-", $loggedInEmployeeDetails[0]['date_of_joining']);
                 $year = $dateofjoining[0];
                 $month = $dateofjoining[1];
                 $day = $dateofjoining[2];
                 $dateofjoiningArr = array('year' => $year, 'month' => $month, 'day' => $day, 'datetimestamp' => $datofjoiningtimestamp);
             }
             $reportingmanagerId = $loggedInEmployeeDetails[0]['reporting_manager'];
             $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id'];
             $employeeEmploymentStatusId = $loggedInEmployeeDetails[0]['emp_status_id'];
             $employeeHolidayGroupId = $loggedInEmployeeDetails[0]['holiday_group'];
             $reportingManagerDetails = $usersmodel->getUserDetailsByID($reportingmanagerId);
             $weekendDatailsArr = $leavemanagementmodel->getWeekendDetails($employeeDepartmentId);
             $employeeemail = $loggedinEmpId[0]['emailaddress'];
             $userfullname = $loggedinEmpId[0]['userfullname'];
             $businessunitid = $loggedInEmployeeDetails[0]['businessunit_id'];
             if (!empty($reportingManagerDetails)) {
                 $leaverequestform->rep_mang_id->setValue($reportingManagerDetails[0]['userfullname']);
                 $reportingManageremail = $reportingManagerDetails[0]['emailaddress'];
                 $reportingmanagerName = $reportingManagerDetails[0]['userfullname'];
                 $rep_mang_id = $reportingManagerDetails[0]['id'];
                 $rMngr = 'Yes';
             } else {
                 $msgarray['rep_mang_id'] = 'Reporting manager is not assigned yet. Please contact your HR.';
             }
             if (!empty($weekendDatailsArr)) {
                 $week_startday = $weekendDatailsArr[0]['weekendstartday'];
                 $week_endday = $weekendDatailsArr[0]['weekendday'];
                 $ishalf_day = $weekendDatailsArr[0]['is_halfday'];
                 $isskip_holidays = $weekendDatailsArr[0]['is_skipholidays'];
             } else {
                 $msgarray['from_date'] = 'Leave management options are not configured yet.';
                 $msgarray['to_date'] = 'Leave management options are not configured yet.';
             }
             if ($employeeHolidayGroupId != '' && $employeeHolidayGroupId != NULL) {
                 $holidayDateslistArr = $holidaydatesmodel->getHolidayDatesListForGroup($employeeHolidayGroupId);
             }
             if (defined('LV_HR_' . $businessunitid)) {
                 $hremailgroup = 'hremailgroupexists';
             } else {
                 $hremailgroup = '';
             }
             /* Search Filters */
             $isReportingManagerFlag = 'false';
             $searchRepFlag = 'false';
             $searchMeFlag = 'true';
             $filter = $this->_request->getParam('filter');
             if (!empty($filter)) {
                 if (in_array(2, $filter)) {
                     $searchRepFlag = 'true';
                 }
                 if (in_array(1, $filter)) {
                     $searchMeFlag = 'true';
                 } else {
                     $searchMeFlag = 'false';
                 }
             }
             if ($searchMeFlag == 'true') {
                 $leaverequestdetails = $leaverequestmodel->getUserApprovedOrPendingLeavesData($loginUserId);
             }
             /* Start -For Checking if logged in user is reporting manager */
             $isReportingManager = $employeesmodel->CheckIfReportingManager($loginUserId);
             if (!empty($isReportingManager) && $isReportingManager[0]['count'] > 0) {
                 if ($searchRepFlag == 'true') {
                     $managerrequestdetails = $leaverequestmodel->getManagerApprovedOrPendingLeavesData($loginUserId);
                 }
                 $isReportingManagerFlag = 'true';
             }
             /* End */
             $this->view->userfullname = $userfullname;
             $this->view->loggedinEmpId = $loggedinEmpId;
             $this->view->weekendDatailsArr = $weekendDatailsArr;
             $this->view->reportingManagerDetails = $reportingManagerDetails;
             $this->view->rMngr = $rMngr;
             $this->view->hremailgroup = $hremailgroup;
             $this->view->dateofjoiningArr = $dateofjoiningArr;
             $this->view->leaverequestdetails = !empty($leaverequestdetails) ? $leaverequestdetails : array();
             $this->view->holidayDateslistArr = $holidayDateslistArr;
             $this->view->managerrequestdetails = !empty($managerrequestdetails) ? $managerrequestdetails : array();
             $this->view->isReportingManagerFlag = $isReportingManagerFlag;
             $this->view->searchRepFlag = $searchRepFlag;
             $this->view->searchMeFlag = $searchMeFlag;
         } else {
             $msgarray['rep_mang_id'] = 'Reporting manager is not assigned yet. Please contact your HR.';
             $msgarray['from_date'] = 'Leave management options are not configured yet.';
             $msgarray['to_date'] = 'Leave management options are not configured yet.';
         }
     }
     /* End */
     /* 
      Start
      Query to fetch and build multioption for Leavetype dropdown
     */
     $leavetype = $employeeleavetypemodel->getactiveleavetype();
     if (!empty($leavetype)) {
         if (sizeof($leavetype) > 0) {
             foreach ($leavetype as $leavetyperes) {
                 $leaverequestform->leavetypeid->addMultiOption($leavetyperes['id'] . '!@#' . $leavetyperes['numberofdays'] . '!@#' . utf8_encode($leavetyperes['leavetype']), utf8_encode($leavetyperes['leavetype']));
             }
         }
     } else {
         $msgarray['leavetypeid'] = ' Leave types are not configured yet.';
     }
     $this->view->leavetype = $leavetype;
     /* End */
     /*
     START
     Query to get the number of available leaves for the employee 
     */
     $getavailbaleleaves = $leaverequestmodel->getAvailableLeaves($loginUserId);
     if (!empty($getavailbaleleaves)) {
         $leaverequestform->no_of_days->setValue($getavailbaleleaves[0]['remainingleaves']);
         $availableleaves = $getavailbaleleaves[0]['remainingleaves'];
     } else {
         $msgarray['no_of_days'] = 'You have not been allotted leaves for this financial year. Please contact your HR.';
     }
     $this->view->getavailbaleleaves = $getavailbaleleaves;
     /* END */
     $this->view->form = $leaverequestform;
     $this->view->msgarray = $msgarray;
     $this->view->loginUserId = $loginUserId;
     $this->view->messages = $this->_helper->flashMessenger->getMessages();
     /*leave request code ends*/
     if ($timeFlag != '') {
         $this->_helper->viewRenderer('entertime');
     }
 }
 public function update($addEmpLeavesForm, $currentYearData, $loginUserId, $userDepartment)
 {
     if ($addEmpLeavesForm->isValid($this->_request->getPost())) {
         $userId = $this->getRequest()->getParam('user_id');
         $emp_leave_limit = $this->_request->getParam('leave_limit');
         $alloted_year = $this->_request->getParam('alloted_year');
         $addemployeeleavesModel = new Default_Model_Addemployeeleaves();
         $employeeleavesModel = new Default_Model_Employeeleaves();
         $leavemanagementModel = new Default_Model_Leavemanagement();
         $isleavetrasnferset = 0;
         $leavetransfercount = 0;
         if (!empty($userDepartment)) {
             $leavetransferArr = $leavemanagementModel->getWeekendDetails($userDepartment);
         }
         $prevyeardata = $employeeleavesModel->getPreviousYearEmployeeleaveData($userId);
         if (!empty($leavetransferArr) && $leavetransferArr[0]['is_leavetransfer'] == 1 && !empty($prevyeardata)) {
             $leavetransfercount = $prevyeardata[0]['remainingleaves'];
             $isleavetrasnferset = 1;
         }
         if (empty($currentYearData)) {
             $emp_leave_limit = $emp_leave_limit + $leavetransfercount;
             $postedArr = array('leave_limit' => $emp_leave_limit, 'alloted_year' => $alloted_year);
             $logID = $employeeleavesModel->saveallotedleaves($postedArr, $emp_leave_limit, $userId, $loginUserId);
         } else {
             $emp_leave_limit = $emp_leave_limit + $currentYearData[0]['emp_leave_limit'];
         }
         $Id = $employeeleavesModel->SaveorUpdateEmployeeLeaves($userId, $emp_leave_limit, $isleavetrasnferset, $loginUserId);
         $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Employee Leave details updated successfully."));
         $this->_redirect('addemployeeleaves');
     } else {
         $messages = $addEmpLeavesForm->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         $addEmpLeavesForm->alloted_year->setValue(date('Y'));
         return $msgarray;
     }
 }
Ejemplo n.º 10
0
 public function getWeekend($startday, $endday, $dept_id)
 {
     $wkend_dates_arr = array();
     $leavemanagementmodel = new Default_Model_Leavemanagement();
     $weekendDetailsArr = $leavemanagementmodel->getWeekendNamesDetails($dept_id);
     if (!empty($weekendDetailsArr)) {
         $weekend_arr = array($weekendDetailsArr[0]['daystartname'], $weekendDetailsArr[0]['dayendname']);
         $wkend_dates_arr = array();
         while ($startday <= $endday) {
             $nday = new DateTime($startday);
             if (in_array($nday->format('l'), $weekend_arr)) {
                 $wkend_dates_arr[] = $startday;
             }
             $nday->add(new DateInterval('P1D'));
             $startday = $nday->format('Y-m-d');
         }
     }
     return $wkend_dates_arr;
 }
Ejemplo n.º 11
0
 public function calculatebusinessdays($fromDate, $toDate)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $noOfDays = 0;
     $weekDay = '';
     $employeeDepartmentId = '';
     $employeeGroupId = '';
     $weekend1 = '';
     $weekend2 = '';
     $holidayDatesArr = array();
     //Calculating the no of days in b/w from date & to date with out taking weekend & holidays....
     $employeesmodel = new Default_Model_Employees();
     $leavemanagementmodel = new Default_Model_Leavemanagement();
     $holidaydatesmodel = new Default_Model_Holidaydates();
     $loggedInEmployeeDetails = $employeesmodel->getLoggedInEmployeeDetails($loginUserId);
     if (!empty($loggedInEmployeeDetails)) {
         $employeeDepartmentId = $loggedInEmployeeDetails[0]['department_id'];
         $employeeGroupId = $loggedInEmployeeDetails[0]['holiday_group'];
         if ($employeeDepartmentId != '' && $employeeDepartmentId != NULL) {
             $weekendDetailsArr = $leavemanagementmodel->getWeekendNamesDetails($employeeDepartmentId);
         }
         if (!empty($weekendDetailsArr)) {
             if ($weekendDetailsArr[0]['is_skipholidays'] == 1 && isset($employeeGroupId) && $employeeGroupId != '') {
                 $holidayDateslistArr = $holidaydatesmodel->getHolidayDatesListForGroup($employeeGroupId);
                 if (!empty($holidayDateslistArr)) {
                     for ($i = 0; $i < sizeof($holidayDateslistArr); $i++) {
                         $holidayDatesArr[$i] = $holidayDateslistArr[$i]['holidaydate'];
                     }
                 }
             }
             $weekend1 = $weekendDetailsArr[0]['daystartname'];
             $weekend2 = $weekendDetailsArr[0]['dayendname'];
         }
         $fromdate_obj = new DateTime($fromDate);
         $weekDay = $fromdate_obj->format('l');
         while ($fromDate <= $toDate) {
             /* if(($weekDay != 'Saturday'||$weekDay != 'Sunday') && (!empty($holidayDates)) && (!in_array($fromDate,$holidayDates))) */
             if (count($holidayDatesArr) > 0) {
                 if ($weekDay != $weekend1 && $weekDay != $weekend2 && !in_array($fromDate, $holidayDatesArr)) {
                     $noOfDays++;
                 }
             } else {
                 if ($weekDay != $weekend1 && $weekDay != $weekend2) {
                     $noOfDays++;
                 }
             }
             $fromdate_obj->add(new DateInterval('P1D'));
             //Increment from date by one day...
             $fromDate = $fromdate_obj->format('Y-m-d');
             $weekDay = $fromdate_obj->format('l');
         }
     }
     return $noOfDays;
 }