<?

class Safra17_Model_Lp002 extends Agro_Db_Table_Abstract {
	protected $_rowClass = 'Safra17_Model_Row_Lp002';
	protected $_schema = 'safra17';
	protected $_name = 'lp002';
	protected $_primary = 'id';
	public $_order = 'id_laudo_preliminar';
    
    public function save($dados){

        $Model_LaudosPreliminares = new Sinistro_Model_LaudosPreliminares();
        
        try {
        
            $idLaudoPreliminar = $Model_LaudosPreliminares->save($dados);
            
            if($idLaudoPreliminar) {
                    $Row = $this->fetchRow("id_laudo_preliminar=$idLaudoPreliminar");
                    
                    if(!$Row) {
                        $Row = $this->createRow();
                    }
                    
                    $Row->id_laudo_preliminar = $idLaudoPreliminar;
                    $Row->ds_aspectos_gerais_cultura = $dados['ds_aspectos_gerais_cultura'];
                    $Row->fl_danos_folhas = (array_key_exists('fl_danos_folhas', $dados) ? ($dados['fl_danos_folhas'] ? 1 : 0) : null);
                    $Row->fl_danos_vegetacao_adjacente = (array_key_exists('fl_danos_vegetacao_adjacente', $dados) ? ($dados['fl_danos_vegetacao_adjacente'] ? 1 : 0) : null);
                    $Row->fl_danos_espigas_vagens = (array_key_exists('fl_danos_espigas_vagens', $dados) ? ($dados['fl_danos_espigas_vagens'] ? 1 : 0) : null);
                    $Row->fl_danos_plantas = (array_key_exists('fl_danos_plantas', $dados) ? ($dados['fl_danos_plantas'] ? 1 : 0) : null);
                    $Row->fl_danos_benfeitorias = (array_key_exists('fl_danos_benfeitorias', $dados) ? ($dados['fl_danos_benfeitorias'] ? 1 : 0) : 0);
                    $Row->fl_produtividade_menor_contratada = (array_key_exists('fl_produtividade_menor_contratada', $dados) ? ($dados['fl_produtividade_menor_contratada'] ? 1 : 0) : null);
                    $Row->fl_areas_declaradas_conferem = (array_key_exists('fl_areas_declaradas_conferem', $dados) ? ($dados['fl_areas_declaradas_conferem'] ? 1 : 0) : null);
                    $Row->fl_lavoura_condiz_proposta = (array_key_exists('fl_lavoura_condiz_proposta', $dados) ? ($dados['fl_lavoura_condiz_proposta'] ? 1 : 0) : null);
    
                    $Row->save();
    
                    return $idLaudoPreliminar;
                    
    
            } else {
                $this->setMessage($Model_LaudosPreliminares->getMessages());
                return false;
            }
        
        } catch (Exception $e) {
            $this->setMessage($e->getMessage().'<pre>'.$e->getTraceAsString().'</pre>');
            return false;
        }
    }
		
	public function getDataLaudoPreliminar($idLaudoPreliminar){

		$select = "
			select 
				* 
			from 
				safra17.v_lp002		
			where 
				id_laudo_preliminar = $idLaudoPreliminar  			
		";

		return $this->_db->fetchRow($select);
	}
    
    public function getCamposEspecializacao() {
        $CamposEspecializacao = array();

        $CamposEspecializacao[] = array(
            'nr_coluna'         => 1,
            'ds_nome_campo'     => 'fl_quadra_sinistrada',
            'ds_nome_exibicao'  => 'Quadra sinistrada',
            'ds_tipo'           => 'radio',
            'ar_opcoes'         => array('1'=>'Sim','0'=>'Não')
        );             
        
        $CamposEspecializacao[] = array(
            'nr_coluna'         => 2,
            'ds_nome_campo'     => 'vl_tamanho_planta',
            'ds_nome_exibicao'  => 'Tamanho da planta (cm)',
            'ds_tipo'           => 'integer',
            'ds_class'          => 'integer'
        );
        
        $CamposEspecializacao[] = array(
        	'nr_coluna'         => 3,
        	'ds_nome_campo'     => 'vl_danos_nao_cobertos',
        	'ds_nome_exibicao'  => 'Pragas, doenças e outros danos não cobertos (%)',
        	'ds_tipo'           => 'decimal',
        	'ds_class'          => 'decimal'
        );
        return $CamposEspecializacao;
    }
    
    public function delete($idLaudoPreliminar){
        parent::delete($idLaudoPreliminar, "id_laudo_preliminar");
    }
	
}