public function getLeavesForMeAndSubordinates($req) { $map = json_decode('{"employee":["Employee","id","first_name+last_name"],"leave_type":["LeaveType","id","name"]}'); $employee = $this->baseService->getElement('Employee', $this->getCurrentProfileId(), null, true); $employeeLeave = new EmployeeLeave(); $startDate = date("Y-m-d H:i:s", $req->start); $endDate = date("Y-m-d H:i:s", $req->end); $list = $employeeLeave->Find("status in ('Approved','Pending') and ((date_start >= ? and date_start <= ? ) or (date_end >= ? and date_end <= ?))", array($startDate, $endDate, $startDate, $endDate)); if (!$list) { LogManager::getInstance()->info($employeeLeave->ErrorMsg()); } if (!empty($map)) { $list = $this->baseService->populateMapping($list, $map); } $data = array(); $leaveType = new LeaveType(); $leaveTypesTemp = $leaveType->Find("1=1"); $leaveTypes = array(); foreach ($leaveTypesTemp as $leaveType) { $leaveTypes[$leaveType->name] = $leaveType; } foreach ($list as $leave) { $data[] = $this->leaveToEvent($leave, $leaveTypes); } $holiday = new HoliDay(); $holidays = $holiday->Find("1=1", array()); foreach ($holidays as $holiday) { $data[] = $this->holidayToEvent($holiday); } echo json_encode($data); exit; }
public function getLeavesForMeAndSubordinates($req){ $shareCalendar = $this->baseService->settingsManager->getSetting("Leave: Share Calendar to Whole Company"); $map = json_decode('{"employee":["Employee","id","first_name+last_name"],"leave_type":["LeaveType","id","name"]}'); $employee = $this->baseService->getElement('Employee',$this->getCurrentProfileId(),null,true); if($shareCalendar != "1"){ $subordinate = new Employee(); $subordinates = $subordinate->Find("supervisor = ?",array($employee->id)); $subordinatesIds = $employee->id; foreach($subordinates as $sub){ if($subordinatesIds != ""){ $subordinatesIds.=","; } $subordinatesIds.=$sub->id; } $employeeLeave = new EmployeeLeave(); $startDate = date("Y-m-d H:i:s",$req->start); $endDate = date("Y-m-d H:i:s",$req->end); $list = $employeeLeave->Find("employee in (".$subordinatesIds.") and status in ('Approved','Pending') and ((date_start >= ? and date_start <= ? ) or (date_end >= ? and date_end <= ?))",array($startDate,$endDate,$startDate,$endDate)); }else{ $employeeLeave = new EmployeeLeave(); $startDate = date("Y-m-d H:i:s",$req->start); $endDate = date("Y-m-d H:i:s",$req->end); $list = $employeeLeave->Find("status in ('Approved','Pending') and ((date_start >= ? and date_start <= ? ) or (date_end >= ? and date_end <= ?))",array($startDate,$endDate,$startDate,$endDate)); } if(!$list){ LogManager::getInstance()->info($employeeLeave->ErrorMsg()); } if(!empty($map)){ $list = $this->baseService->populateMapping($list,$map); } $data = array(); foreach($list as $leave){ $data[] = $this->leaveToEvent($leave); } $holiday = new HoliDay(); $holidays = $holiday->Find("1=1",array()); foreach($holidays as $holiday){ $data[] = $this->holidayToEvent($holiday); } echo json_encode($data); exit(); }
private function getHoliday($day, $countryId) { $hd = new HoliDay(); if (empty($countryId)) { $hd->Load("dateh = ? and country IS NULL", array($day)); if ($hd->dateh == $day) { return $hd; } } else { $hd->Load("dateh = ? and country = ?", array($day, $countryId)); if ($hd->dateh == $day) { return $hd; } else { $hd = new HoliDay(); $hd->Load("dateh = ? and country IS NULL", array($day)); if ($hd->dateh == $day) { return $hd; } } } return null; }
private function getHoliday($day) { $hd = new HoliDay(); $hd->Load("dateh = ?", $day); if ($hd->dateh == $day) { return $hd; } return null; }
Language::SetDatabaseAdapter($dbLocal); Nationality::SetDatabaseAdapter($dbLocal); Employee::SetDatabaseAdapter($dbLocal); User::SetDatabaseAdapter($dbLocal); EmployeeSkill::SetDatabaseAdapter($dbLocal); EmployeeEducation::SetDatabaseAdapter($dbLocal); EmployeeCertification::SetDatabaseAdapter($dbLocal); EmployeeLanguage::SetDatabaseAdapter($dbLocal); EmergencyContact::SetDatabaseAdapter($dbLocal); EmployeeDependent::SetDatabaseAdapter($dbLocal); EmployeeImmigration::SetDatabaseAdapter($dbLocal); EmployeeSalary::SetDatabaseAdapter($dbLocal); LeaveType::SetDatabaseAdapter($dbLocal); LeavePeriod::SetDatabaseAdapter($dbLocal); WorkDay::SetDatabaseAdapter($dbLocal); HoliDay::SetDatabaseAdapter($dbLocal); LeaveRule::SetDatabaseAdapter($dbLocal); EmployeeLeave::SetDatabaseAdapter($dbLocal); EmployeeLeaveDay::SetDatabaseAdapter($dbLocal); File::SetDatabaseAdapter($dbLocal); Client::SetDatabaseAdapter($dbLocal); Project::SetDatabaseAdapter($dbLocal); EmployeeTimeSheet::SetDatabaseAdapter($dbLocal); EmployeeTimeEntry::SetDatabaseAdapter($dbLocal); EmployeeProject::SetDatabaseAdapter($dbLocal); Document::SetDatabaseAdapter($dbLocal); EmployeeDocument::SetDatabaseAdapter($dbLocal); CompanyLoan::SetDatabaseAdapter($dbLocal); EmployeeCompanyLoan::SetDatabaseAdapter($dbLocal); Setting::SetDatabaseAdapter($dbLocal); ChiNhanh::SetDatabaseAdapter($dbLocal);