<?php
	$dir = $_SERVER['DOCUMENT_ROOT']."/".substr(substr($_SERVER['REQUEST_URI'], 1), 0, strpos(substr($_SERVER['REQUEST_URI'], 1), '/'))."/phone_gap";
	require_once($dir."/classes/Meta.class.php");
	require_once($dir."/classes/PeriodoMeta.class.php");
	require_once($dir."/classes/Dados.class.php");
	require_once($dir."/dao/ConfigDAO.class.php");
	
	class MetaDAO {
		
		public function lkpPeriodo(){
			$dados = new Dados();
			
			$sql = "select CODPERIODO, DESCRICAO, DATAINI, DATAFIN from METAS_PERIODO 
					where VISIVEL = 'T' 
					order by DATAFIN desc, DATAINI desc ";
			
			$array = $dados->SelectSQL($sql);
			
			foreach ($array as $row){
				$novoPeriodo = new PeriodoMeta();
				$novoPeriodo->setCodperiodo($row["CODPERIODO"]);
				$novoPeriodo->setDescricao($row["DESCRICAO"]);
				$novoPeriodo->setDataini($row["DATAINI"]);
				$novoPeriodo->setDatafin($row["DATAFIN"]);
				$periodos[] = $novoPeriodo;
			}
			return $periodos;
		}
		
		public function localizaMetas($meta, $inicio, $qtde){
			$dados = new Dados();
			$configdao = new ConfigDAO();
			$periodo_especifico = $configdao->getDisponibilizar()->getPeriodo_especifico();			
			
			$dataIni = date("01.m.Y", mktime(0, 0, 0, $meta->getMes(), 1, $meta->getAno()));
			$dataFin = date("t.m.Y", mktime(0, 0, 0, $meta->getMes(), 1, $meta->getAno()));

			$sql = "select 
					R.CODVENDEDOR, R.VENDEDOR, R.DESCRICAO, R.META, R.ALCANCADO, R.SALDO, R.MHD, 
					R.DIASTRABALHADOS, R.TENDENCIA, R.NHD, R.DIASFALTANTES, R.CODPERIODO,
					R.BASE_META, R.BASE_ALCANCADO, R.TIPOMETA
					from REL_METAS R 
					left join VENDEDORES V on v.codvendedor = R.codvendedor ".
					$dados->ifthen($periodo_especifico,
						"where R.CODPERIODO = ".$meta->getCodPeriodo()
						,						
						"where R.MES = ".$meta->getMes()." and R.ANO = ".$meta->getAno()
					).
					$dados->filtroSQL('V.CODVENDEDOR', $meta->getVendedor()->getCodvendedor());		
			if ($meta->getVendedor()->getCodsupervisor()) {
				$sql .= " and (V.CODVENDEDOR = ".$meta->getVendedor()->getCodsupervisor()." or V.CODSUPERVISOR = ".$meta->getVendedor()->getCodsupervisor().") ";
			}
			
			if ($meta->getVendedor()->getCodgerente()) {
				$sql .= " and (R.CODVENDEDOR = ".$meta->getVendedor()->getCodgerente()." or R.CODGERENTE = ".$meta->getVendedor()->getCodgerente().") ";
			}

			if (count($meta->getMetasSelecionadas()) > 0) {
				$sql .= ' and tipometa in ('.implode(',', $meta->getMetasSelecionadas()).') ';
			}
			
			$sql .=	" order by R.codsupervisor, R.VENDEDOR, R.DESCRICAO";		
			
			$array = $dados->SelectSQL($sql);
			
			$metas = array();
			foreach ($array as $row){
				$novaMeta = new Meta();
				$novaMeta->getVendedor()->setCodvendedor($row["CODVENDEDOR"]);
				$novaMeta->getVendedor()->setNome($row["VENDEDOR"]);
				$novaMeta->setTipoMeta($row["TIPOMETA"]);
				$novaMeta->setDescricao($row["DESCRICAO"]);
				$novaMeta->setMeta($row["META"]);
				$novaMeta->setAlcancado($row["ALCANCADO"]);
				$novaMeta->setSaldo($row["SALDO"]);
				$novaMeta->setMHD($row["MHD"]);
				$novaMeta->setNHD($row["NHD"]);
				$novaMeta->setTendencia($row["TENDENCIA"]);
				$novaMeta->setDiasFaltantes($row["DIASFALTANTES"]);
				$novaMeta->setDiasTrab($row["DIASTRABALHADOS"]);
				if ($periodo_especifico)
					$novaMeta->setCodperiodo($meta->getCodperiodo());
				else {
					$novaMeta->setMes($meta->getMes());
					$novaMeta->setAno($meta->getAno());	
				}			
				$novaMeta->setBaseMeta($row["BASE_META"]);				
				$novaMeta->setBaseAlcancado($row["BASE_ALCANCADO"]);
				$metas[] = $novaMeta;
			}

			return $metas;
		}
		
	}
	
?>