<?

class Regulacao_Model_Lp003 extends Agro_Db_Table_Abstract {
	protected $_rowClass = 'Regulacao_Model_Row_Lp003';
	protected $_schema = 'regulacao';
	protected $_name = 'lp003';
	protected $_primary = 'id';
	public $_order = 'id_laudo_preliminar';

    public function save($dados){

        $Model_LaudosPreliminares = new Sinistro2_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_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
				regulacoes.v_lp003
			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'         => 1,
            'ds_nome_campo'     => 'vl_area_sinistrada',
            'ds_nome_exibicao'  => 'Área sinistrada (ha)',
            'ds_tipo'           => 'decimal',
            'ds_class'          => 'decimal'
        );

        $CamposEspecializacao[] = array(
            'nr_coluna'         => 3,
            'ds_nome_campo'     => 'dt_semeadura',
            'ds_nome_exibicao'  => 'Data de Semeadura',
            'ds_tipo'           => 'data',
            'ds_class'          => 'data'
        );

        $CamposEspecializacao[] = array(
            'nr_coluna'         => 4,
            'ds_nome_campo'     => 'fl_plantio_dentro_zoneamento',
            'ds_nome_exibicao'  => 'Plantio Dentro do Zoneamento (S/N)',
            'ds_tipo'           => 'radio',
            'ar_opcoes'         => array('1'=>'Sim','0'=>'Não')
        );

        $CamposEspecializacao[] = array(
            'nr_coluna'         => 3,
            'ds_nome_campo'     => 'dt_final_replantio',
            'ds_nome_exibicao'  => 'Data Prevista da Vistoria Final de Replantio',
            'ds_tipo'           => 'data',
            'ds_class'          => 'data'
        );

        $CamposEspecializacao[] = array(
            'nr_coluna'         => 2,
            'ds_nome_campo'     => 'vl_tamanho_planta',
            'ds_nome_exibicao'  => 'Tamanho da planta (cm)',
            'ds_tipo'           => 'integer',
            'ds_class'          => 'integer'
        );

        return $CamposEspecializacao;
    }

    public function delete($idLaudoPreliminar){
        parent::delete($idLaudoPreliminar, "id_laudo_preliminar");
    }

}
