<?

class Safra12_Model_LaudosFinaisUvaGeada extends Agro_Db_Table_Abstract {
	protected $_schema = 'safra12';
	protected $_name = 'laudos_finais_uva_geada';
	protected $_primary = 'id';
	public $_order = 'id_laudo_final';
		
	public function getDataLaudoFinal($idLaudoFinal){

		$select = "
			select 
				* 
			from 
				safra12.v_laudos_finais_uva_geada		
			where 
				id_laudo_final = $idLaudoFinal  			
		";

		return $this->_db->fetchRow($select);
	}
	
	public function delete($idLaudoFinal) {
		$this->_db->query("delete from {$this->_schema}.{$this->_name} where id_laudo_final = $idLaudoFinal");
	}

	public function getItensDisponiveisLaudoFinalUvaGeada($idProposta, $idVistoria, $idCobertura) {
		$data = array();
		
		if ($idProposta && $idVistoria) {
			$select = "
						select 
							*
						from 
							   safra12.fn_itens_disponiveis_laudo_final_uva_geada($idProposta, $idVistoria)
							as (id_proposta integer,
						    	id integer, 
						        nr_item_segurado integer,
						    	ds_item_segurado text,
						    	vl_area numeric,
						   		vl_lmga numeric, 
						    	ds_nome_variedade text,
						    	nr_total_brotos integer)
			";
			
			$data = $this->_db->fetchAll($select);
		}
		
		return $data;
	}
	
	public function getItensRevistoria($idProposta, $idRevistoria) {
		$data = array();
		if ($idProposta && $idRevistoria) {
			$select = "
				select 	
					it.id_proposta,
					it.id,
					it.nr_item_segurado,
					it.ds_item_segurado,
					it.vl_area,
					it.vl_lmga,
					v.ds_nome_variedade,
					(lfugis.nr_total_brotos_c_cacho + lfugis.nr_total_brotos_s_cacho) AS nr_total_brotos
				from 
						   seguro.itens_segurados it
					inner join produto.variedades v on  
							v.id = it.id_variedade	
					inner join sinistro.laudos_finais_itens_segurados lfis on 
						lfis.id_item_segurado = it.id
					inner join safra12.laudos_finais_uva_geada_itens_segurados lfugis on 
						lfugis.id_laudo_final_item_segurado = lfis.id
					inner join sistema.vistorias_laudos_finais vlf on 
						vlf.id_laudo_final = lfis.id_laudo_final
					inner join sistema.revistorias_vistorias rv on
						rv.id_vistoria = vlf.id_vistoria
					left join sistema.vistorias_laudos_finais vlfr on
						vlfr.id_vistoria = rv.id_revistoria
					left join sinistro.laudos_finais_itens_segurados lfisr on
						lfisr.id_laudo_final = vlfr.id_laudo_final and lfisr.id_item_segurado = it.id
				where
					    it.id_proposta = $idProposta
					and rv.id_revistoria = $idRevistoria
					and lfisr.id_item_segurado is null
				group by
					it.id_proposta,
					it.id,
					it.nr_item_segurado,
					ds_item_segurado,
					it.vl_area,
					it.vl_lmga,
					ds_nome_variedade,
					nr_total_brotos
				order by
					it.id
			";
			
			$data = $this->_db->fetchAll($select);
		}
		
		return $data;
	}
}