<?php
	//nao me orgulho de nada daqui pra baixo
	$dir = $_SERVER['DOCUMENT_ROOT']."/".substr(substr($_SERVER['REQUEST_URI'], 1), 0, strpos(substr($_SERVER['REQUEST_URI'], 1), '/'))."/phone_gap";
	require_once($dir."/classes/Dados.class.php");
	require_once($dir."/classes/Usuario.class.php");
	require_once($dir."/dao/ConfigDAO.class.php");

	$dados = new Dados();

	$familia = $_POST['familia'];
	$grupo = $_POST['grupo'];
	$subgrupo = $_POST['subgrupo'];
	$produto = $_POST['produto'];
	$gerente = $_POST['gerente'];
	$supervisor = $_POST['supervisor'];
	$vendedor = $_POST['vendedor'];
	$segmento = $_POST['segmento'];
	$cliente = $_POST['cliente'];
	$dataini = $_POST['dataini'];
	$datafin = $_POST['datafin'];
	$lojaperfeita = $_POST['lojaperfeita'];
	
	$usuario = $dados->fixObject($_SESSION["usuario"]);
	if ($usuario->getVendedor()->getCodVendedor() != "" ) {
		if($usuario->getVendedor()->getTipo() == 'S')
			$supervisor = $usuario->getVendedor()->getCodVendedor();
		else {
			if ($usuario->getVendedor()->getTipo() != 'E') //se não for gerente
				$vendedor = $usuario->getVendedor()->getCodVendedor();
		}
	}

	$inicio = $_POST["inicio"];
	$qtde = $_POST["qtde"];
	$NotInicio = $inicio > 0;

	if ($NotInicio)
		$inicio--;

	$configdao = new ConfigDAO();	
	$exibirClientePor = $configdao->getDisponibilizar()->getExibir_Cliente_Por();
	
	$dataini = $dados->DatePickerToDate($dataini);
	$datafin = $dados->DatePickerToDate($datafin);	
	
	$count = $dados->SelectSQL("SELECT COUNT(*) FROM PESQ_VAREJO_PRESENCA");
	$converteu = $dados->ifthen($count[0] > 0, true, false);
		
	$sql = 
		"SELECT first ".$qtde." skip ".$inicio." S.CODCLIENTE, S.NOME, S.DATA, ".
        "CASE WHEN S1.RELPDV_TEM > 0 AND S1.RELPDV_NAO <= 0 THEN 'SIM' ELSE 'NÂO' END PDV, ".
        "CASE WHEN S2.TEMMIX > 0 AND S2.MIXNAOTEM <= 0 THEN 'SIM' ELSE 'NÂO' END MIX, ".
        "CASE WHEN S1.RELPDV_TEM > 0 AND S1.RELPDV_NAO <= 0 AND S2.TEMMIX > 0 AND S2.MIXNAOTEM <= 0 THEN 'SIM' ELSE 'NÂO' END LOJAPERFEITA ".
        " ".
        "FROM ".
        "(select V.CODCLIENTE, " . $dados->ifthen($exibirClientePor == "F", "COALESCE(CL.FANTASIA, CL.NOME) as NOME " , "CL.NOME ") . ", MAX(V.DATA) DATA ".
        " from VISITASREALIZADAS V ".
        " JOIN CLIENTES CL ON V.CODCLIENTE = CL.CODCLIENTE ".
        " JOIN VENDEDORES VE ON V.CODVENDEDOR = VE.CODVENDEDOR ".
        " WHERE V.CODCLIENTE IS NOT NULL ".
        $dados->filtroDataSQL('V.DATA', $dataini, $datafin).
		$dados->filtroSQL('V.CODVENDEDOR', $vendedor).
		$dados->filtroSQL('VE.CODSUPERVISOR', $supervisor).
		$dados->ifthen($gerente, " and (VE.CODVENDEDOR = ".$gerente." or VE.CODGERENTE = ".$gerente." or
								  (VE.CODSUPERVISOR in (select CODVENDEDOR from vendedores where CODGERENTE = ".$gerente.")))").
		$dados->filtroSQL('V.CODCLIENTE', $cliente).
		$dados->filtroSQL('CL.CODSEGMENTO', $segmento).
        " GROUP BY 1, 2 ".
        " ) S ".
        "LEFT JOIN ".
        "(SELECT R.DATA, R.CODCLIENTE, COUNT(R.NROREL) RELPDV_TEM, SUM(CASE WHEN COALESCE(R.QTDE,0) <= 0 THEN 1 ELSE 0 END) RELPDV_NAO ".
        " FROM RELATORIOPDV R ".
        " JOIN CLIENTES CL ON R.CODCLIENTE = CL.CODCLIENTE ".
        " JOIN VENDEDORES VE ON R.CODVENDEDOR = VE.CODVENDEDOR ".
        " WHERE R.CODCLIENTE IS NOT NULL ".
        $dados->filtroDataSQL('R.DATA', $dataini, $datafin).
		$dados->filtroSQL('R.CODVENDEDOR', $vendedor).
		$dados->filtroSQL('VE.CODSUPERVISOR', $supervisor).
		$dados->ifthen($gerente, " and (VE.CODVENDEDOR = ".$gerente." or VE.CODGERENTE = ".$gerente." or
								  (VE.CODSUPERVISOR in (select CODVENDEDOR from vendedores where CODGERENTE = ".$gerente.")))").
		$dados->filtroSQL('R.CODCLIENTE', $cliente).
		$dados->filtroSQL('CL.CODSEGMENTO', $segmento).
        " GROUP BY 1,2 ".
        ") S1 ON S.DATA = S1.DATA AND S.CODCLIENTE = S1.CODCLIENTE ".
        "LEFT JOIN ".
        "(SELECT M.CODCLIENTE, M.DATA, CL.CODSEGMENTO, COUNT(S.CODPRODUTO) TEMMIX, SUM(CASE WHEN MI.NROMIX IS NULL THEN 1 ELSE 0 END) MIXNAOTEM ".
        " FROM MIX_OBRIGATORIO M ".
        " JOIN CLIENTES CL ON M.CODCLIENTE = CL.CODCLIENTE ".
        
		$dados->ifthen($converteu,
		" JOIN PESQ_VAREJO_PRESENCA S ON S.NROMODELO = M.NROMODELO ",
        " JOIN SEGMENTOS_EANS S ON S.CODSEGMENTO = CL.CODSEGMENTO ").
		
        " LEFT JOIN MIX_OBRIGATORIO_ITENS MI ON M.NROMIX = MI.NROMIX AND MI.CODPRODUTO = S.CODPRODUTO ".
        " JOIN VENDEDORES VE ON M.CODVENDEDOR = VE.CODVENDEDOR ".
        " WHERE M.CODCLIENTE IS NOT NULL ".
		$dados->filtroDataSQL('M.DATA', $dataini, $datafin).
		$dados->filtroSQL('M.CODVENDEDOR', $vendedor).
		$dados->filtroSQL('VE.CODSUPERVISOR', $supervisor).
		$dados->ifthen($gerente, " and (VE.CODVENDEDOR = ".$gerente." or VE.CODGERENTE = ".$gerente." or
								  (VE.CODSUPERVISOR in (select CODVENDEDOR from vendedores where CODGERENTE = ".$gerente.")))").
		$dados->filtroSQL('M.CODCLIENTE', $cliente).
		$dados->filtroSQL('CL.CODSEGMENTO', $segmento).
        " GROUP BY 1, 2, 3 ".
        ") S2 ON S.DATA = S2.DATA AND S.CODCLIENTE = S2.CODCLIENTE ".
        "WHERE S.CODCLIENTE IS NOT NULL";
		
		switch($lojaperfeita){
			case "S":
				$sql = $sql.
				" and CASE WHEN S1.RELPDV_TEM > 0 AND S1.RELPDV_NAO <= 0 AND S2.TEMMIX > 0 AND S2.MIXNAOTEM <= 0 THEN 'SIM' ELSE 'NÂO' END = 'SIM' ";
				break;
			case "N":
				$sql = $sql.
				" and CASE WHEN S1.RELPDV_TEM > 0 AND S1.RELPDV_NAO <= 0 AND S2.TEMMIX > 0 AND S2.MIXNAOTEM <= 0 THEN 'SIM' ELSE 'NÂO' END = 'NÂO' ";
				break;
		}
		$sql = $sql. " order by S.DATA, S.NOME";
		
		//echo $sql;
		
	function sqlTotal() {
		global $sql;
		$retorno = "select count(*) CNT, ".
		"sum(case when T.PDV = 'SIM' then 1 else 0 end) PDV, ".
		"sum(case when T.MIX = 'SIM' then 1 else 0 end) MIX, ".
		"sum(case when T.LOJAPERFEITA = 'SIM' then 1 else 0 end) LOJAPERFEITA ".
		"from(".$sql.") T";
		
		return $retorno;
	}	
		
	$result = $dados->SelectSQL($sql);

	$qtdeResults = count($result);
	if ($qtdeResults <= 0) {
		return;
	}

	$res = '';
	foreach($result as $id => $r){
		
		$data = "";
		$data = date_create($r['DATA']);
		$res .= "<tr>".
				"  <td>".date_format($data, 'd/m/Y')."</td>".
				"  <td style='text-align: left;'>".$r['CODCLIENTE']." - ".$r['NOME']."</td>".
				"  <td>".$r['PDV']."</td>".
				"  <td>".$r['MIX']."</td>".
				"  <td>".$r['LOJAPERFEITA']."</td>".
				"</tr>";

	}
	

	if ($qtdeResults < $qtde) {
		$sqlTot = sqlTotal();

		$resTot = $dados->SelectSQL($sqlTot);

		$res .= "<tr style='background-color: green;font-weight: bold;'>".
			"  <td style='text-align: left;'>Nro Registros: ".$resTot[0]['CNT']."</td>".
			"  <td></td>".
			"  <td>Relatorio PDV: ".$resTot[0]['PDV']."</td>".
			"  <td>Mix Obrigatorio: ".$resTot[0]['MIX']."</td>".
			"  <td>Loja Perfeita: ".$resTot[0]['LOJAPERFEITA']."</td>".			
			"</tr>".
			"<tr>".
			"  <td></td>".
			"</tr>";
	}

	echo $res;

?>
