<?php

class Produto_Model_Tipovalidacao extends Agro_Db_Table_Abstract {
	protected $_schema = 'produto';
	protected $_name = 'tipo_validacao';
	protected $_primary = 'id';
	public $_order = 'ds_tipo_validacao';
	
	public function getTiposValidacao($id_produto) {
		if ($id_produto) {
			$sql = "
				 SELECT
				 	*
				 FROM
				 	produto.tipo_validacao
				 WHERE
				 	fl_ativo = true
				 ORDER BY
				 	CASE DS_CHAVE
				 		WHEN 'VALIDACAO_IS' THEN 1 
	                    WHEN 'VALIDACAO_ZONEAMENTO' THEN 2 
	                    WHEN 'VALIDACAO_LIMITES' THEN 3 
	                    WHEN 'VALIDACAO_LIMITES_SUBVENCAO' THEN 4
	                ELSE 0 END";
			
			$Rs = $this->_db->query($sql);
			$Arr = array();
			foreach($Rs as $Validacoes) {
				$aux = $Validacoes;
				$select = $this->select();
				$select->setIntegrityCheck(false);
				$select->distinct(true);
				$select->from(array('v' => 'produto.validacoes'));
				$select->joinLeft(array("vp" => 'produto.produtos_validacoes'), "v.id = vp.id_validacao and vp.id_produto = $id_produto", "vp.id_validacao");
				$select->where("id_tipo_validacao = ?", $Validacoes['id']);
				//$select->where("vp.id_produto = ?", $id_produto);
				$select->where("v.fl_ativo = true");
				$aux['item'] = $this->fetchAll($select);
				$Arr[] = $aux;
			}
			
			return $Arr;
		}
	}
	
}