<?php
	$dir = $_SERVER['DOCUMENT_ROOT']."/".substr(substr($_SERVER['REQUEST_URI'], 1), 0, strpos(substr($_SERVER['REQUEST_URI'], 1), '/'))."/phone_gap";
	require_once($dir."/classes/Venda.class.php");
	require_once($dir."/classes/Dados.class.php");
	
	class VendaDAO {
		
		public function relVendas($venda, $dataini, $datafin, $agrup = null, $mostrar = null, $ordenar = null){
			$dados = new Dados();
			
			switch($mostrar){
				case "Supervisor":
					$join = " left join VENDEDORES MO on (MO.CODVENDEDOR = VE.CODSUPERVISOR) or (MO.CODVENDEDOR = V.CODVENDEDOR and MO.CODSUPERVISOR is null) ";
				case "Vendedor":
					$cod = 'CODVENDEDOR';
					$tabela = "VENDEDORES";
					$descricao = "NOME";
					if(!$join)
						$join = " left join VENDEDORES MO on MO.CODVENDEDOR = V.CODVENDEDOR ";
					break;
				case "Familia":
					$tabela = "FAMILIAS";
					break;
				case "Grupo":
					$tabela = "GRUPOS";
					break;
				case "Subgrupo":
					$tabela = "SUBGRUPOS";
					$join = " left join GRUPOS G on G.CODGRUPO = P.CODGRUPO
								left join SUBGRUPOS MO on MO.CODGRUPO = G.CODGRUPO and MO.CODSUBGRUPO = P.CODSUBGRUPO ";
					break;
				case "Produto":
					$tabela = "PRODUTOS";
					$descricao = "PRODUTO";
					break;
			}
			
			if($cod == null){
				$cod = 'COD'.$mostrar;
			}
			if($join == null){
				$join = " left join ".$tabela." MO on MO.".$cod." = P.".$cod." ";
			}
			if($descricao == null){
				$descricao = "DESCRICAO";
			}

			if($agrupar){
				switch($agrupar){
					case "Supervisor":
						$joinAG = " left join VENDEDORES AG on (AG.CODVENDEDOR = VE.CODSUPERVISOR) or (AG.CODVENDEDOR = V.CODVENDEDOR and AG.CODSUPERVISOR is null) ";
					case "Vendedor":
						$codAG = 'CODVENDEDOR';
						$tabelaAG = "VENDEDORES";
						$descricaoAG = "NOME";
						if(!$joinAG)
							$joinAG = " left join VENDEDORES AG on AG.CODVENDEDOR = V.CODVENDEDOR ";
						break;
					case "Familia":
						$tabelaAG = "FAMILIAS";
						break;
					case "Grupo":
						$tabelaAG = "GRUPOS";
						break;
					/*case "Subgrupo":
						$tabelaAG = "SUBGRUPOS";
						$joinAG = " left join GRUPOS G on G.CODGRUPO = P.CODGRUPO
									left join SUBGRUPOS AG on AG.CODGRUPO = G.CODGRUPO and AG.CODSUBGRUPO = P.CODSUBGRUPO ";
						break;*/
					case "Produto":
						$tabelaAG = "PRODUTOS";
						$descricaoAG = "PRODUTO";
						break;
				}
				
				if($codAG == null){
					$codAG = 'COD'.$agrupar;
				}
				if($joinAG == null){
					$joinAG = " left join ".$tabelaAG." AG on AG.".$codAG." = P.".$codAG." ";
				}
				if($descricaoAG == null){
					$descricaoAG = "DESCRICAO";
				}
				
			}

			
			$sql = "select 'VENDA' TIPO, ".ifthen($agrupar, "AG.".$codAG." CODAG, AG.".$descricaoAG." DESCRICAOAG", "null CODAG, null DESCRICAOAG").", MO.".$cod." CODIGO, MO.".$descricao." DESCRICAO, sum(VP.QTDE) QTDE, sum(VP.QTDE * VP.PRECO) - sum(VP.QTDE * VP.PRECO * V.PERCDESCONTO / 100) TOTAL 
					from VENDAS V
					join VENDAS_PRODS VP on V.NROVENDA = VP.NROVENDA
					join PRODUTOS P on VP.CODPRODUTO = P.CODPRODUTO
					left join VENDEDORES VE on V.CODVENDEDOR = VE.CODVENDEDOR
					left join NATOPERACAO N on V.CODNATOPER = N.CODNATOPER
					".$join.
					$joinAG."
					where V.SITUACAO = 'I' and V.TIPONOTA = 'S' and N.EMITEDUPL = 'T' 
					
					".filtroSQL('P.CODFAMILIA', $venda->getProduto()->getFamilia()->getCodfamilia()).
					filtroSQL('P.CODGRUPO', $venda->getProduto()->getGrupo()->getCodgrupo()).
					filtroSQL('P.CODSUBGRUPO', $venda->getProduto()->getSubgrupo()->getCodsubgrupo()).
					filtroSQL('P.CODPRODUTO', $venda->getProduto()->getCodproduto()).
					filtroSQL('V.CODVENDEDOR', $venda->getVendedor()->getCodvendedor()).
					filtroSQL('VE.CODSUPERVISOR', $venda->getProduto()->getCodsupervisor()).
					filtroDataSQL('V.DATA', $dataini, $datafin)."
					group by 1, 2, 3, 4, 5
					
					union all
					
					select 'BONIFICACAO' TIPO, ".ifthen($agrupar, "AG.".$codAG." CODAG, AG.".$descricaoAG." DESCRICAOAG", "null CODAG, null DESCRICAOAG").", MO.".$cod." CODIGO, MO.".$descricao." DESCRICAO, sum(VP.QTDE) QTDE, sum(VP.QTDE * VP.PRECO) - sum(VP.QTDE * VP.PRECO * V.PERCDESCONTO / 100) TOTAL 
					from VENDAS V
					join VENDAS_PRODS VP on V.NROVENDA = VP.NROVENDA
					join PRODUTOS P on VP.CODPRODUTO = P.CODPRODUTO
					left join VENDEDORES VE on V.CODVENDEDOR = VE.CODVENDEDOR
					".$join.
					$joinAG."
					where V.SITUACAO = 'I' and V.TIPONOTA = 'S' 
					and substring(V.CODNATOPER from 1 for 5) in (".CodBonif.")
					".filtroSQL('P.CODFAMILIA', $familia).
					filtroSQL('P.CODGRUPO', $grupo).
					filtroSQL('P.CODSUBGRUPO', $subgrupo).
					filtroSQL('P.CODPRODUTO', $produto).
					filtroSQL('V.CODVENDEDOR', $vendedor).
					filtroSQL('VE.CODSUPERVISOR', $supervisor).
					filtroDataSQL('V.DATA', $dataini, $datafin)."
					group by 1, 2, 3, 4, 5
					order by 3
					";

			$array = SelectSQL($sql);
		}
		
	}
	
?>