<?php
	$dir = $_SERVER['DOCUMENT_ROOT']."/".substr(substr($_SERVER['REQUEST_URI'], 1), 0, strpos(substr($_SERVER['REQUEST_URI'], 1), '/'))."/phone_gap";
	require_once($dir."/classes/Rota.class.php");
	require_once($dir."/classes/Dados.class.php");
	require_once($dir."/dao/ClienteDAO.class.php");
	
	class RotaDAO {
		
		public function lkpRotas($rota){
			$dados = new Dados();
			$sql = "select NROROTA, DESCRICAO 
					from ROTEIRIZACOES_ROTAS RR
					left join ROTEIRIZACOES R on R.CODROTA = RR.CODROTA
					where CODVENDEDOR is not null and CODVENDEDOR = ".$rota->getVendedor()->getCodvendedor()."
					order by 2";
			$array = $dados->selectSQL($sql);
			foreach ($array as $a){
				$novaRota = new Rota();
				$novaRota->setNroRota($a["NROROTA"]);
				$novaRota->setDescricao($a["DESCRICAO"]);
				$rotas[] = $novaRota;
			}
			return $rotas;
		}
		
		public function rotas_diarias_total($rota){
			$dados = new Dados();			
			$sql = "select vendedor, rota, diasemana, ordem, cliente, fantasia, endereco, bairro, cidade, ".
			"semana, dataultvisita, situltvisita, valultvisita, codvendedor, nrorota, creditocliente, codcliente ".
			"from rotas_diarias ".
			"where codrota is not null ".
			$dados->filtroSQL("codvendedor", $rota->getVendedor()->getCodvendedor()).
			$dados->filtroSQL("codsupervisor", $rota->getVendedor()->getCodsupervisor()).
			$dados->filtroSQL("nrorota", $rota->getNroRota()).
			$dados->filtroSQL("diasemana", $rota->getDiaSemana());
			
			$array = $dados->selectSQL($sql);
			
			return count($array);
		}
		
		public function rotas_diarias($rota, $inicio, $qtde){
			$dados = new Dados();
			$clienteDAO = new ClienteDAO();
			
			$sql = 	"select first ".$qtde." skip ".$inicio." vendedor, rota, diasemana, ordem, cliente, fantasia, endereco, bairro, cidade, semana, dataultvisita, situltvisita, valultvisita, codvendedor, nrorota, creditocliente, codcliente
					from rotas_diarias 
					where codrota is not null "
					.$dados->filtroSQL("codvendedor", $rota->getVendedor()->getCodvendedor())
					.$dados->filtroSQL("codsupervisor", $rota->getVendedor()->getCodsupervisor())
					.$dados->filtroSQL("nrorota", $rota->getNroRota())
					.$dados->filtroSQL("diasemana", $rota->getDiaSemana()).
					"order by vendedor, rota, diasemana, ordem, cliente";
			$array = $dados->selectSQL($sql);
			
			$rotas = array();
			foreach ($array as $row) {			
				$novaRota = new Rota();
				$novaRota->setNroRota($row['NROROTA']);
				$novaRota->setDescricao($row['ROTA']);
				$novaRota->getVendedor()->setCodvendedor($row['CODVENDEDOR']);
				$novaRota->getVendedor()->setNome($row['VENDEDOR']);
				$novaRota->setDiaSemana($row['DIASEMANA']);
				$novaRota->setOrdem($row['ORDEM']);
				$novaRota->getCliente()->setCodCliente($row['CODCLIENTE']);
				$novaRota->getCliente()->setNome($row['CLIENTE']);
				$novaRota->getCliente()->setFantasia($row['FANTASIA']);
				$novaRota->getCliente()->setEndereco($row['ENDERECO']);
				$novaRota->getCliente()->setBairro($row['BAIRRO']);
				$novaRota->getCliente()->setCidade($row['CIDADE']);
				$novaRota->getCliente()->setCreditoCliente($row['CREDITOCLIENTE']);
				$novaRota->setSemana($row['SEMANA']);
				$novaRota->setDataUltVisita($dados->DateToText($row['DATAULTVISITA']));
				$novaRota->setSitUltVisita($row['SITULTVISITA']);
				$novaRota->setValUltVisita($row['VALULTVISITA']);
				
				$limite = $clienteDAO->setLimiteCredito($novaRota->getCliente());
				$novaRota->getCliente()->setLimiteCredito($limite);
				
				$rotas[] = $novaRota;
			}
			return $rotas;
		}

	}
	
?>