<?php
/*################################################
@author: Code Tecnologia
@date: 29/03/2019
@version: 1.00
@purpose: Classe responsavel por devolver as informacoes da lista de clientes indicados

Resposta esperada:

{ 
 "erro": false,
 "mensagem":"",
 "indicados":5,
 "valorIndicados":900.00,
 "negociacao":2,
 "valorNegociacao":350.2,
 "valorNaoAceitam":-60.00,
 "contratados":1,
 "valorContratado":150.00,
 "valorPrevisao":23.00
}
*/
  
################################################*/
include_once("connect.php");

//Funcao para exibir o json
function exibir_json($json){
    $echo_json = json_encode($json);
    $json = array_map('utf8_encode', $json);
	echo $echo_json;
}

//Verificando se a mensagem foi transmitida por POST
if(strcasecmp($_SERVER['REQUEST_METHOD'], 'GET') != 0){  
    $status = array(
				'erro' => 'true',
				'mensagem' => 'O formato transmitido nao e um GET');
    //$json = json_encode($status);
	exibir_json($status);
    exit(0);
}else{

//Verificando se o Content-type é 'application/json'
/*
$contentType = isset($_SERVER["CONTENT_TYPE"]) ? trim($_SERVER["CONTENT_TYPE"]) : '';
if(strcasecmp($contentType, 'application/json') != 0){
    $status = array(
				'erro' => 'true',
				'mensagem' => 'O tipo da mensagem está incorreto.');
    $json = json_encode($status);
	exibir_json($json);
    exit(0);
}
*/

//recebendo a requisicao
$content = file_get_contents("php://input");
$content = utf8_encode($content); //evita erros


  //obtendo informacoes do Header da mensagem
    $token = isset($_SERVER["HTTP_TOKEN"]) ? trim($_SERVER["HTTP_TOKEN"]) : '';//pegando o token do header 
    $token_decoded = base64_decode($token);
	//$token_decoded = $token; //Apenas para teste


/*Checando dados obrigatórios*/  
    if(empty($token)){
      $status = array(
				'erro' => 'true',
				'mensagem' => 'Usuario nao informado');
      //$json = json_encode($status);
      //enviarCurl($url,$json);
	  exibir_json($status);
      
    }else{
        //Query
        $consulta_analitico = "    select    status_clientes_mobile.ds_status
											, count(*) as quantidade,
											case 
												when status_clientes_mobile.ds_status = 'Negociação' then 'negociacao' 
												when status_clientes_mobile.ds_status = 'Não aceitam' then 'naoAceitam'
												when status_clientes_mobile.ds_status = 'Contratados' then 'contratados'
												when status_clientes_mobile.ds_status = 'Indicados' then 'indicados'
											end as status_json
											, (count(*) * contabilidades.vl_premio) as valor
									from clientes inner join status_clientes
									   on clientes.id_status = status_clientes.id
														  inner join status_clientes_mobile
									   on status_clientes.id_status_mobile = status_clientes_mobile.id
														  inner join contabilidades
									   on clientes.id_contabilidade = contabilidades.id
								 where id_contabilidade = $token_decoded
								   and clientes.st_pago_contabilidade = 0
								   and clientes.st_ativo = 1
								 group by 1;  "; 


        $result = mysqli_query($conexao, $consulta_analitico) or die(mysqli_error($conexao));
        if(mysqli_num_rows($result)>0){
            while($row = mysqli_fetch_assoc($result)){
				if($row['status_json']=='indicados') {	
					 $indicados 		= $row['quantidade'];
					 $valorIndicados 	= $row['valor'];
				}
				
				if($row['status_json']=='negociacao') {	
					 $negociacao 		= $row['quantidade'];
					 $valorNegociacao 	= $row['valor'];
				}
				
				if($row['status_json']=='contratados') {	
					 $contratados 		= $row['quantidade'];
					 $valorContratado 	= $row['valor'];
				}
				
				if($row['status_json']=='naoAceitam') {	
					 $naoAceitam 		= $row['quantidade'];
					 $valorNaoAceitam 	= $row['valor'];
				}
			
			}
			
			//Previsto
			$valorPrevisao = $valorIndicados + $valorNegociacao + $valorContratado - $valorNaoAceitam;
			
                $status = array( 'erro' => 'false'
    				    ,'mensagem' => ''
    				    ,'indicados' => ($indicados==null?"0":$indicados )
						,'valorIndicados' => ($valorIndicados==null?0:($valorIndicados*1))
						,'negociacao' => ($negociacao==null?"0":$negociacao)
						,'valorNegociacao' => ($valorNegociacao==null?0:($valorNegociacao*1))
						,'naoAceitam' => ($naoAceitam==null?"0":$naoAceitam)
						,'valorNaoAceitam' => ($valorNaoAceitam==null?0:($valorNaoAceitam *-1))
						,'contratados' => ($contratados==null?"0":$contratados*1)
						,'valorContratado' => ($valorContratado==null?0:($valorContratado*1))
						,'valorPrevisao' => ($valorPrevisao==null?0:($valorPrevisao*1))
    				    );
                //$json = json_encode($status); //, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
				
				
				//Preparando o token
				/*
				$token = base64_encode($usuario['id']);
				header("token: $token");
				*/
				
            	exibir_json($status);
                exit(0);
			//}   
		}    
	}        
}
?>