Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
	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);