<?php
header('Content-Type: application/json');
require_once("SimpleRest.php");
require_once("Access_token.php");
require_once("Validationtoken.php"); 
require_once("Salespersons.php"); 
require_once("Customers.php");
require_once("Items.php");
/* require_once("Outlets.php");

require_once("Sales_order.php"); */


		
class NPFApiRestHandler extends SimpleRest {
    
    
	public function encodeJson($responseData) {
		$jsonResponse = json_encode($responseData);
		return $jsonResponse;		
	}

	private function getAuthorizationHeader() {
		if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
			return $_SERVER['REDIRECT_HTTP_AUTHORIZATION'];
		}
		if (isset($_SERVER['HTTP_AUTHORIZATION'])) {
			return $_SERVER['HTTP_AUTHORIZATION'];
		}
		if (isset($_SERVER['Authorization'])) {
			return $_SERVER['Authorization'];
		}
		return '';
	}

	private function getValidatedTokenDetails($token) {
		$token_obj = new Validationtoken();
		if(!$token_obj->validateToken($token))
		{
			return false;
		}
		return $token_obj->getTokenDetails($token);
	}

	private function getScopedSalesPersonId($token_details, $requested_sales_person_id = 0) {
		if($token_details && isset($token_details['sales_person_id']) && (int)$token_details['sales_person_id'] > 0)
		{
			return (int)$token_details['sales_person_id'];
		}
		return $requested_sales_person_id;
	}
	
    public function getToken($username,$password)
	{
		$access_token=new Access_token();
		$token_det=$access_token->getTokenDetails($username,$password);
		if($token_det['token']==0)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
		}
		else
		{
			$statusCode = 200;
			$this->setHttpHeaders($statusCode);
			if($token_det['login_type']==2)
			$rawData = array('token' => $token_det['token'],'login_type' => $token_det['login_type'], 'sales_person_id' => $token_det['sales_person_id'], 'full_name' => $token_det['full_name'], 'email' => $token_det['email'], 'user_id' => $token_det['user_id'], 'show_all_deliveries' => $token_det['show_all_deliveries']);
		    else if($token_det['login_type']==3)
			$rawData = array('token' => $token_det['token'],'login_type' => $token_det['login_type'], 'full_name' => $token_det['full_name'], 'email' => $token_det['email'], 'user_id' => $token_det['user_id'], 'show_all_deliveries' => $token_det['show_all_deliveries']);
			else
			$rawData = array('token' => $token_det['token'],'login_type' => $token_det['login_type'], 'full_name' => $token_det['full_name'], 'email' => $token_det['email'],'sales_person_id' =>'0', 'user_id' => $token_det['user_id'], 'show_all_deliveries' => $token_det['show_all_deliveries']);
			
		}
		    $response = $this->encodeJson($rawData);
			echo $response;
	}
	
	public function getAllSalesPersons()
	{
		$token=$this->getAuthorizationHeader();
		

		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$salespersons_obj = new Salespersons();
		$rawData = $salespersons_obj->getAllSalespersons();
		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Sales Persons found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
 public function getCustomersDetails($searchString)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
		$rawData = $customers_obj->getCustomersDetails($searchString, $this->getScopedSalesPersonId($token_det, 0));
		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Customers found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	//ravi
	
	public function getCustomersBySalesPersonDetails($sales_person_id,$searchString)
	{
		$token=$this->getAuthorizationHeader();
		

		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
		$rawData = $customers_obj->getCustomersDetailsBySalesPerson($this->getScopedSalesPersonId($token_det, $sales_person_id),$searchString);
		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Customers found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}

public function getItemsDetails($customer_id,$stock_id,$area=0)
	{
		$token=$this->getAuthorizationHeader();
		

		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$items_obj = new Items();
		$rawData = $items_obj->getItemsDetails($customer_id,$stock_id,$area);
		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Items found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	
public function getAllSalesEnquiries($from_date,$to_date,$sales_person_id,$customer_id,$page_no)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getSalesEnquiries($from_date,$to_date,$this->getScopedSalesPersonId($token_det, $sales_person_id),$customer_id,$page_no);

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Enquiries found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	
	public function getAllSalesQuotations($from_date,$to_date,$sales_person_id,$customer_id,$page_no)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getSalesQuotations($from_date,$to_date,$this->getScopedSalesPersonId($token_det, $sales_person_id),$customer_id,$page_no);

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Quotations found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	
	public function getAllSalesPendingQuotations($sales_person_id)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getSalesPendingQuotations($this->getScopedSalesPersonId($token_det, $sales_person_id));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Pending Quotations Found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	
	
	public function getAllSalesApprovedQuotations($sales_person_id)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getSalesApprovedQuotations($this->getScopedSalesPersonId($token_det, $sales_person_id));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Pending Quotations Found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	
public function getCustomerSpecificPrice($customer_id,$stock_id)
{
    $token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getCustomerSpecificPrice($customer_id,$stock_id,$this->getScopedSalesPersonId($token_det, 0));

		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Price Found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
}
	
// single sales enquiry   ## Ramesh 

public function getSalesEnquiry($enq_no)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getSingleSalesEnquiry($enq_no, $this->getScopedSalesPersonId($token_det, 0));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Enquiries found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
    
    
public function getSalesQuotation($quote_no)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getSingleSalesQuotation($quote_no, $this->getScopedSalesPersonId($token_det, 0));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Quotations found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	
	public function getSalesOrder($order_no)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getSingleSalesOrder($order_no, $this->getScopedSalesPersonId($token_det, 0));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Orders found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	
    public function addSalesEnquiry($order)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        	 	$rawData = $customers_obj->add_sales_enquiry($order);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be added please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Enquiry has been added successfully!',
        			                   'enq_no' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	public function updateSalesEnquiry($order)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        	 	$rawData = $customers_obj->update_sales_enquiry($order);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be updated please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Enquiry has been updated successfully!',
        			                   'enq_no' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	
	public function addSalesQuotation($order)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        	 	$rawData = $customers_obj->add_sales_quotation($order);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be added please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Quotation has been added successfully!',
        			                   'quote_no' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	public function updateSalesQuotation($order)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        	 	$rawData = $customers_obj->update_sales_quotation($order);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be updated please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Quotation has been updated successfully!',
        			                   'quote_no' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	
	 public function addTaskDetails($task_details)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
       
        	 	$rawData = $customers_obj->add_task_details($task_details);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be added please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Task has been added successfully!',
        			                   'task_id' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	
	public function getTaskDetails($task_id,$sales_person_id=0)
	{
	   $token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{

		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getTaskDetails($task_id,$this->getScopedSalesPersonId($token_det, $sales_person_id));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No tasks found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
/*	public function getAllTaskDetails($from_date,$to_date,$sales_person_id,$customer_id,$task_id,$page_no)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getTaskDetails($from_date,$to_date,$sales_person_id,$customer_id,$task_id,$page_no);

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No tasks found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
*/	
  public function getAllOpenTaskDetails($sales_person_id)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getOpenTaskDetails($this->getScopedSalesPersonId($token_det, $sales_person_id));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No tasks found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	
 public function getCustomerBalances($sales_person_id)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getCustomerBalances($this->getScopedSalesPersonId($token_det, $sales_person_id));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Outstanding Balances found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	
	 public function getCustomerUncommitedBalances($sales_person_id,$customer_id=0)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getCustomerUncommitedBalances($this->getScopedSalesPersonId($token_det, $sales_person_id),$customer_id);

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Outstanding Balances found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	

public function getAllcommitments($sales_person_id)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getAllcommitments($this->getScopedSalesPersonId($token_det, $sales_person_id));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Commitment Details found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}		
	
	
 public function addCollectionDetails($task_details)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        		 
        	 	$rawData = $customers_obj->add_collection_details($task_details);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be added please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Collection entry has been added successfully!',
        			                   'collection_id' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	
	public function uploadCollectionImage()
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        		 
        		 $fileName  =  $_FILES['sendimage']['name'];
                 $tempPath  =  $_FILES['sendimage']['tmp_name'];
                 $fileSize  =  $_FILES['sendimage']['size'];
                 
                 $collecton_id=$_POST['collection_id'];
                 $sales_person_id=$_POST['sales_person_id'];
                 
  
                 
                 if(empty($fileName))
                {
	                $errorMSG = json_encode(array("message" => "please select image", "status" => false));	
	                echo $errorMSG;
                }
                else
                {
	                $upload_path = 'collectionuploads/'; // set upload folder path 
	
	                $fileExt = strtolower(pathinfo($fileName,PATHINFO_EXTENSION)); // get image extension
		
                	// valid image extensions
                	$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); 
					
                	// allow valid image file formats
	                if(in_array($fileExt, $valid_extensions))
	                {				
		                //check file not exist our upload folder path
		            if(!file_exists($upload_path . $fileName))
		            {
			            // check file size '5MB'
			            if($fileSize < 5000000){
				        move_uploaded_file($tempPath, $upload_path . $fileName); // move file from system temporary path to our upload folder path 
			        }
			        else{		
				        $errorMSG = json_encode(array("message" => "Sorry, your file is too large, please upload 5 MB size", "status" => false));	
				        echo $errorMSG;
			            }
		        }
	            	else
		        {		
			        $errorMSG = json_encode(array("message" => "Sorry, file already exists check upload folder", "status" => false));	
			        echo $errorMSG;
		        }
	        }
    	else
	        {		
		$errorMSG = json_encode(array("message" => "Sorry, only JPG, JPEG, PNG & GIF files are allowed", "status" => false));	
		echo $errorMSG;		
	    }
}
		}    
                
                
                
        	 	$rawData = $customers_obj->upload_collection_details($collecton_id,$fileName,$sales_person_id);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be uploaded please check your form data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Image has been added successfully!',
        			                   'upload_id' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
    		}

	
	
	public function getAllCollectionDetails($from_date,$to_date,$sales_person_id,$customer_id,$collection_id,$page_no)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getCollectionDetails($from_date,$to_date,$this->getScopedSalesPersonId($token_det, $sales_person_id),$customer_id,$collection_id,$page_no);

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No collections found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	
	public function getCountrywiseSales()
	{
		$token=$this->getAuthorizationHeader();
		

		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getCountrywiseSales();

		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'Data not found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
    
    public function getCustomerBillsDetails($searchString)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
		$rawData = $customers_obj->getCustomerBillsDetails($searchString, $this->getScopedSalesPersonId($token_det, 0));
		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Pending Bill found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	public function getSalesPersonsRevenue()
	{
	    $token=$this->getAuthorizationHeader();
		

		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$salespersons_obj = new Salespersons();
		$rawData = $salespersons_obj->getSalespersonsRevenue();
		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Sales Persons Details found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	 public function getOrdersDetails($searchString)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
		$rawData = $customers_obj->getOrdersDetails($searchString, $this->getScopedSalesPersonId($token_det, 0));
		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Orders found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	public function getSalesPersonAnalytics($searchString)
	{
		$token=$this->getAuthorizationHeader();
		

		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
		$rawData = $customers_obj->getSalesPersonAnalytics($this->getScopedSalesPersonId($token_det, $searchString));
		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Data found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}
	
	public function uploadQuotationSign()
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        		 
        		 $fileName  =  $_FILES['sendimage']['name'];
                 $tempPath  =  $_FILES['sendimage']['tmp_name'];
                 $fileSize  =  $_FILES['sendimage']['size'];
                 
                 $quote_id=$_POST['quote_id'];
                 $sales_person_id=$_POST['sales_person_id'];
                 
  
                 
                 if(empty($fileName))
                {
	                $errorMSG = json_encode(array("message" => "please select image", "status" => false));	
	                echo $errorMSG;
                }
                else
                {
	                $upload_path = 'quoteuploads/'; // set upload folder path 
	
	                $fileExt = strtolower(pathinfo($fileName,PATHINFO_EXTENSION)); // get image extension
		
                	// valid image extensions
                	$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); 
					
                	// allow valid image file formats
	                if(in_array($fileExt, $valid_extensions))
	                {				
		                //check file not exist our upload folder path
		            if(!file_exists($upload_path . $fileName))
		            {
			            // check file size '5MB'
			            if($fileSize < 5000000){
				        move_uploaded_file($tempPath, $upload_path . $fileName); // move file from system temporary path to our upload folder path 
			        }
			        else{		
				        $errorMSG = json_encode(array("message" => "Sorry, your file is too large, please upload 5 MB size", "status" => false));	
				        echo $errorMSG;
			            }
		        }
	            	else
		        {		
			        $errorMSG = json_encode(array("message" => "Sorry, file already exists check upload folder", "status" => false));	
			        echo $errorMSG;
		        }
	        }
    	else
	        {		
		$errorMSG = json_encode(array("message" => "Sorry, only JPG, JPEG, PNG & GIF files are allowed", "status" => false));	
		echo $errorMSG;		
	    }
}
		}    
                
                
        	 	$rawData = $customers_obj->upload_quotation_sign_details($quote_id,$fileName,$sales_person_id);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be uploaded please check your form data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Sign has been added successfully!',
        			                   'upload_id' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
    		}
	



 public function addCommitmentDetails($commitment_details)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
       
        	 	$rawData = $customers_obj->add_commitment_details($commitment_details);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be added please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Commitment has been added successfully!',
        			                   'commited_id' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	public function updateCommitment($commitment_details)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        	 	$rawData = $customers_obj->updateCommitment($commitment_details);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be updated please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Commitment has been updated successfully!',
        			                   'commitment_id' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	
	public function closeTaskDetails($closeTaskDetails)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
        		 $customers_obj = new Customers();
        	 	$rawData = $customers_obj->closeTaskDetails($closeTaskDetails);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be updated please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Task has been closed successfully!',
        			                   'task_id' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	public function getAllLoadingDetails($vehicle_no)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getAllLoadingDetails($vehicle_no);

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Loading Details found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}		
	
	
	public function updateLoadingDetails($loading_details)
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		        
        		 $customers_obj = new Customers();
        	 	$rawData = $customers_obj->updateLoadingDetails($loading_details);
           		if(empty($rawData)) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be updated please check your input data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Loading Details has been updated successfully!',
        			                   'loading_id' => $rawData);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
        		}
	}
	
	
	public function uploadDeliveryImage()
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		    
		         $fileName  =  $_FILES['sendimage']['name'];
                 $tempPath  =  $_FILES['sendimage']['tmp_name'];
                 $fileSize  =  $_FILES['sendimage']['size'];
                 $filetype = $_FILES['sendimage']['type'];
                 $id=$_POST['id'];
                 
         
                 if(empty($fileName))
                {
	                $errorMSG = json_encode(array("message" => "please select image", "status" => false));	
	                echo $errorMSG;
                }
                else
                {
	                $upload_path = 'deliveryuploads/'; // set upload folder path 
	
	                $fileExt = strtolower(pathinfo($fileName,PATHINFO_EXTENSION)); // get image extension
		
                	// valid image extensions
                	$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); 
					
                	// allow valid image file formats
	                if(in_array($fileExt, $valid_extensions))
	                {				
		                //check file not exist our upload folder path
		            if(!file_exists($upload_path . $fileName))
		            {
			            // check file size '5MB'
			            if($fileSize < 5000000){
			                // updated in table  #Ramesh
				          $customers_obj = new Customers();
				       	 $customers_obj->add_delivery_image($id,$fileName,$fileSize, $filetype);
				       	 
				        move_uploaded_file($tempPath, $upload_path . $fileName); // move file from system temporary path to our upload folder path
				         
			        }
			        else{		
				        $errorMSG = json_encode(array("message" => "Sorry, your file is too large, please upload 5 MB size", "status" => false));	
				        echo $errorMSG;
			            }
		        }
	            	else
		        {		
			        $errorMSG = json_encode(array("message" => "Sorry, file already exists check upload folder", "status" => false));	
			        echo $errorMSG;
		        }
	        }
    	else
	        {		
		$errorMSG = json_encode(array("message" => "Sorry, only JPG, JPEG, PNG & GIF files are allowed", "status" => false));	
		echo $errorMSG;		
	    }
}
		}    
                
                
                
        	       if($errorMSG) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be uploaded please check your form data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Image has been added successfully!',
        			                   'upload_id' => $id);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
    		}
    		
    		
    //ravi
    public function uploadDeliveryImages()
	{
	    $token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
		    
		         $fileName1  =  $_FILES['sendimage1']['name'];
                 $tempPath1  =  $_FILES['sendimage1']['tmp_name'];
                 $fileSize1  =  $_FILES['sendimage1']['size'];
                 $filetype1 = $_FILES['sendimage1']['type'];
                 
                 
                 $fileName2  =  $_FILES['sendimage2']['name'];
                 $tempPath2  =  $_FILES['sendimage2']['tmp_name'];
                 $fileSize2  =  $_FILES['sendimage2']['size'];
                 $filetype2 = $_FILES['sendimage2']['type'];
                 
                 
                 $id=$_POST['id'];
                 
         
                 if(empty($fileName1))
                {
	                $errorMSG = json_encode(array("message" => "please select image", "status" => false));	
	                echo $errorMSG;
                }
                else
                {
	                $upload_path = 'deliveryuploads/'; // set upload folder path 
	
	                $fileExt = strtolower(pathinfo($fileName1,PATHINFO_EXTENSION)); // get image extension
		
                	// valid image extensions
                	$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); 
					
                	// allow valid image file formats
	                if(in_array($fileExt, $valid_extensions))
	                {				
		                //check file not exist our upload folder path
		            if(!file_exists($upload_path . $fileName1))
		            {
			            // check file size '5MB'
			            if($fileSize1 < 5000000){
			                // updated in table  #Ramesh
				          $customers_obj = new Customers();
				       	 $customers_obj->add_delivery_image($id,$fileName1,$fileSize1, $filetype1);
				       	 
				        move_uploaded_file($tempPath1, $upload_path . $fileName1); // move file from system temporary path to our upload folder path
				         
			        }
			        else{		
				        $errorMSG = json_encode(array("message" => "Sorry, your first file is too large, please upload 5 MB size", "status" => false));	
				        echo $errorMSG;
			            }
		        }
	            	else
		        {		
			        $errorMSG = json_encode(array("message" => "Sorry, file already exists check upload folder", "status" => false));	
			        echo $errorMSG;
		        }
	        }
    	else
	        {		
		$errorMSG = json_encode(array("message" => "Sorry, only JPG, JPEG, PNG & GIF files are allowed", "status" => false));	
		echo $errorMSG;		
	    }
}
		}    
                if(!$errorMSG && !empty($fileName2))
                {
                    $upload_path = 'deliveryuploads/'; // set upload folder path 
	
	                $fileExt = strtolower(pathinfo($fileName2,PATHINFO_EXTENSION)); // get image extension
		
                	// valid image extensions
                	$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); 
					
                	// allow valid image file formats
	                if(in_array($fileExt, $valid_extensions))
	                {				
		                //check file not exist our upload folder path
		            if(!file_exists($upload_path . $fileName2))
		            {
			            // check file size '5MB'
			            if($fileSize2 < 5000000){
			                // updated in table  #Ramesh
				          $customers_obj = new Customers();
				       	 $customers_obj->add_delivery_image($id,$fileName2,$fileSize2, $filetype2);
				       	 
				        move_uploaded_file($tempPath2, $upload_path . $fileName2); // move file from system temporary path to our upload folder path
				         
			        }
			        else{		
				        $errorMSG = json_encode(array("message" => "Sorry, your second file is too large, please upload 5 MB size", "status" => false));	
				        echo $errorMSG;
			            }
		        }
	            	else
		        {		
			        $errorMSG = json_encode(array("message" => "Sorry, file already exists check upload folder", "status" => false));	
			        echo $errorMSG;
		        }
	        }
    	else
	        {		
		$errorMSG = json_encode(array("message" => "Sorry, only JPG, JPEG, PNG & GIF files are allowed", "status" => false));	
		echo $errorMSG;		
	    }
                    
                }
                
                
        	       if($errorMSG) {
        			$statusCode = 404;
        			$rawData1 = array('error' => 'Data can not be uploaded please check your form data!');		
        		} else {
        			$statusCode = 200;
        			$rawData1 = array('success' => 'Image has been added successfully!',
        			                   'upload_id' => $id);
        		}
        		 $this->setHttpHeaders($statusCode);
        		
                $response = $this->encodeJson($rawData1);
        		  echo $response;
        
    		}
    		
    		
    		

   	public function getDeliveryDetails($sales_person_id)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getDeliveryDetails($this->getScopedSalesPersonId($token_det, $sales_person_id));

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Deliveries found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	
	public function getTodayDeliveries()
	{
		$token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getAllTodayDeliveryDetails();

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Deliveries found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	
	public function getTodayDeliveriesCount()
	{
		$token=$this->getAuthorizationHeader();
		
		$token_obj=new Validationtoken();
		
		if(!$token_obj->validateToken($token))
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getAllTodayDeliveriesCount();

		
		// outlet pics

		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Deliveries found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
	public function getCustomersBySalesPerson($customer_id,$sales_person_id)
	{
		$token=$this->getAuthorizationHeader();
		
		$token_det = $this->getValidatedTokenDetails($token);
		
		if(!$token_det)
		{
			$statusCode = 401;
			$this->setHttpHeaders($statusCode);
			$rawData = array('error' => 'Authorization failed!');
			$response = $this->encodeJson($rawData);
			echo $response;
		}
		else{
			
		$customers_obj = new Customers();
	 	$rawData = $customers_obj->getCustomersDetailsBySalesPerson($this->getScopedSalesPersonId($token_det, $sales_person_id),$customer_id);
	
		if(empty($rawData)) {
			$statusCode = 404;
			$rawData = array('error' => 'No Customers found!');		
		} else {
			$statusCode = 200;
		}
		 $this->setHttpHeaders($statusCode);
		
        $response = $this->encodeJson($rawData);
		  echo $response;
		}
	}	
	
}
?>
