<?

class Safra13_Model_FHGranizos extends Agro_Db_Table_Abstract {
	protected $_schema = 'safra13';
	protected $_name = 'laudos_preliminares_frutas_hortalicas_granizo';
	protected $_primary = 'id';
	public $_order = 'id';
	
	public function getDataLaudoPeliminar($idLaudoPreliminar){
		
		$data = array();
		
		if($idLaudoPreliminar){
			$select = $this->select();
			$select->setIntegrityCheck(false);
			
			$FHfields = array(
				'fh.id_intensidade',
				'fh.fl_acompanhado_vento',
				'fh.ds_direcao_evento',
				'fh.fl_acompanhado_chuva',
				'fh.fl_danos_benfeitorias',
				'fh.fl_area_atingida',
				'fh.fl_area_mesma_intensidade',
				'fh.ds_area_mesma_intensidade',
				'fh.ds_estadio_cultura',
				'fh.ds_aspectos_gerais_cultura',
				'fh.ds_data_colheita_variedade',
				'fh.ds_diametro_medio_frutos_variedade',
				'fh.ds_diametro_medio_granizo',
				'fh.fl_danos_folhas',
				'fh.fl_danos_ramos',
				'fh.fl_danos_flores',
				'fh.fl_danos_frutos',
				'fh.fl_danos_vegetacao_adjacente',
				'fh.fl_indenizacao_fitossanitaria',
				'to_char(fh.dt_colheita,\'DD/MM/YYYY\') as dt_colheita'
			);
			
			$LPFields = array(
				'id',
				'ds_observacao',
				'fl_assinatura_regulador',
				'fl_assinatura_segurado',
				'fl_evento_nao_constatado',
				'to_char(dt_inicio,\'DD/MM/YYYY\') as dt_inicio',
				'to_char(dt_fim,\'DD/MM/YYYY\') as dt_fim',
				'id_status'
			);
			
			$select->from(array('lp'=>'sinistro.laudos_preliminares'),$LPFields);
			$select->join(array('vl'=>'sistema.vistorias_laudos_preliminares'),'vl.id_laudo_preliminar = lp.id', false);
			$select->join(array('vi'=>'sistema.vistorias'),'vi.id = vl.id_vistoria', false);
			$select->join(array('vf'=>'sistema.vistorias_funcionarios'),'vf.id_vistoria = vi.id', 'vf.id_funcionario as id_vistoriador');
			$select->join(array('fh'=>'safra13.laudos_preliminares_frutas_hortalicas_granizo'),'fh.id_laudo_preliminar = lp.id', $FHfields);
			$select->join(array('st'=>'sistema.status'),'st.id = lp.id_status', 'ds_chave as ds_chave_status');
			
			$select->where($this->getAdapter()->quoteInto('lp.id = ?', $idLaudoPreliminar));
			
			$data = $this->fetchRow($select)->toArray();	
		}
		
		return $data;
	}
	
	/**
	 * Retorna os ID's dos ítens segurados selecionados para indenização.
	 *
	 * @param int $idLaudoPreliminar
	 * @return int []
	 */
	public function getItensIndenizacao($idLaudoPreliminar){
		$data = array();
		
		if($idLaudoPreliminar){
			$select = $this->select();
			$select->setIntegrityCheck(false);
			$select->from(array('li'=>'sinistro.laudos_preliminares_itens_segurados'), 'id_item_segurado');
			$select->join(array('it'=>'safra13.laudos_preliminares_frutas_hortalicas_itens_segurados'), 'it.id_laudo_preliminar_item_segurado = li.id');
			$select->where('li.fl_ativo = true');
			$select->where('it.fl_indenizacao_fitossanitaria = true');
			$select->where($this->getAdapter()->quoteInto('li.id_laudo_preliminar = ?',$idLaudoPreliminar));
			
			$data = $this->_db->fetchCol($select);
		}
		return $data;
	}
	
}