Пример #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;
 }
Пример #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();
	}
 public function getPendingLeaves($req)
 {
     $lam = new LeavesActionManager();
     $leavePeriod = $lam->getCurrentLeavePeriod(date("Y-m-d H:i:s"), date("Y-m-d H:i:s"));
     $leave = new EmployeeLeave();
     $pendingLeaves = $leave->Find("status = ? and employee = ?", array("Pending", $this->getCurrentProfileId()));
     return new IceResponse(IceResponse::SUCCESS, count($pendingLeaves));
 }
 public function getSubEmployeeLeaves($req)
 {
     $employee = $this->baseService->getElement('Employee', $this->getCurrentProfileId(), null, true);
     $subordinate = new Employee();
     $subordinates = $subordinate->Find("supervisor = ?", array($employee->id));
     $subordinatesIds = "";
     foreach ($subordinates as $sub) {
         if ($subordinatesIds != "") {
             $subordinatesIds .= ",";
         }
         $subordinatesIds .= $sub->id;
     }
     $subordinatesIds .= "";
     $mappingStr = $req->sm;
     $map = json_decode($mappingStr);
     $employeeLeave = new EmployeeLeave();
     $list = $employeeLeave->Find("employee in (" . $subordinatesIds . ")", array());
     if (!$list) {
         LogManager::getInstance()->info($employeeLeave->ErrorMsg());
     }
     if (!empty($mappingStr)) {
         $list = $this->baseService->populateMapping($list, $map);
     }
     return new IceResponse(IceResponse::SUCCESS, $list);
 }
Пример #5
0
	public function getSubEmployeeLeaves($req){

		$mappingStr = $req->sm;
		$map = json_decode($mappingStr);
		$employeeLeave = new EmployeeLeave();
		$list = $employeeLeave->Find("1=1");	
		if(!$list){
			LogManager::getInstance()->info($employeeLeave->ErrorMsg());	
		}
		if(!empty($mappingStr)){
			$list = $this->baseService->populateMapping($list,$map);	
		}
		
		return new IceResponse(IceResponse::SUCCESS,$list);
	}