<?php

class Relatorio_Model_Solicitacoes extends Agro_Db_Table_Relatorios {
	protected $_rowClass = 'Relatorio_Model_Row_Solicitacao';
	protected $_schema = 'solicitacao';
	protected $_name = 'tarefa';
	
	public function tarefas($params) {
		$Select = "
			select
				t.id as id_solicitacao,
			    tt.ds_nome_tipo,
			    tp.ds_nome_prioridade,
			    d.ds_nome_departamento,
			    s.ds_status,
			    to_char(t.dt_criacao, 'DD/MM/YYYY HH:MM:SS') as dt_criacao,
			    criador.ds_nome_funcionario as criador,
			    to_char(t.dt_alteracao, 'DD/MM/YYYY HH:MM:SS') as dt_alteracao,
			    alterador.ds_nome_funcionario as alterador,
			    executor.ds_nome_funcionario as executor,
			    t.ds_titulo,
			    t.ds_descricao,
			    to_char(t.data_termino, 'DD/MM/YYYY HH:MM:SS') as dt_termino
			from
				solicitacao.tarefa t inner join
			    sistema.status s on s.id = t.id_status inner join
			    solicitacao.tarefa_tipo tt on tt.id = t.id_tarefa_tipo inner join
			    solicitacao.tarefa_prioridade tp on tp.id = t.id_prioridade inner join
			    sistema.departamentos d on d.id = t.id_departamento inner join
			    sistema.funcionarios criador on criador.id_usuario = t.id_usuario_criacao left join
			    sistema.funcionarios alterador on alterador.id_usuario = t.id_usuario_alteracao left join
			    sistema.funcionarios executor on executor.id_usuario = t.id_executor
			where
				1=1
				
		";
	 	
		if ($params["id"]){
			$Select.="and t.id = {$params["id"]}";
		}
		
		if ($params["id_prioridade"]){
			$Select.="and tp.id = {$params["id_prioridade"]} ";
		}
		
		if ($params["id_status"]){
			$Select.="and s.id = {$params["id_status"]}";
		}
		
		if ($params["id_departamento"]){
			$Select.="and t.id_departamento = {$params["id_departamento"]} ";
		}
		
		if ($params["id_tarefa_tipo"]){
			$Select.="and tt.id = {$params["id_tarefa_tipo"]} ";
		}
		
		if ($params["id_usuario_criador"]){
			$Select.="and criador.id_usuario = {$params["id_usuario_criador"]} ";
		}
		
		if ($params["id_usuario_delegado"]){
			$Select.="and executor.id_usuario = {$params["id_usuario_delegado"]} ";
		}

		if ($params["ds_titulo"]){
			$Select.="and t.ds_titulo like '%{$params["ds_titulo"]}%' ";
		}
		
	 	return $this->fetchAll($Select);
	}
	
}

