<?php 

class Regulacao_Model_Lf037ItensSegurados extends Agro_Db_Table_Abstract {
	protected $_rowClass = 'Regulacao_Model_Row_Lf037ItemSegurado';
	protected $_schema 	= 'regulacao';
	protected $_name 	= 'lf037_itens_segurados';
	protected $_primary = 'id_laudo_final_item_segurado';
    public 	  $_order 	= 'id_laudo_final_item_segurado';
    
    public function save(array $dados) {
        $LaudosFinaisItensSegurados = new Sinistro2_Model_LaudosFinaisItensSegurados();

        $idLaudoFinalItemSegurado = $LaudosFinaisItensSegurados->save($dados);

        if ($idLaudoFinalItemSegurado) {

            try {
                $Row = $this->getRow($idLaudoFinalItemSegurado);
                $Row->id_laudo_final_item_segurado = $idLaudoFinalItemSegurado;
                $Row->id_estadio_fenologico = $dados['id_estadio_fenologico'];
                $Row->vl_percent_colhido = $dados['vl_percent_colhido'];
                $Row->vl_percent_total_dano = $dados['vl_percent_total_dano'];
                $Row->vl_percent_total_red_produtividade = $dados['vl_percent_total_red_produtividade'];
                $Row->save();
                return $idLaudoFinalItemSegurado;
            } catch (Exception $e) {
                $this->setMessage($e->getMessage());
                return false;
            }
        } else {
            $this->setMessage($LaudosFinaisItensSegurados->getMessages());
            return false;
        }
    }

    public function getDataLaudoFinalItemSegurado($idLaudoFinalItemSegurado) {
        $LaudosFinaisItensSegurados = new Sinistro2_Model_LaudosFinaisItensSegurados();
        $ItensSegurados = new Seguro_Model_ItensSegurados();
        $DataGen = $LaudosFinaisItensSegurados->getDataLaudoFinalItemSegurado($idLaudoFinalItemSegurado);

        if (!$DataGen['fl_nao_vistoriada']) {
            $select = $this->select()->setIntegrityCheck(false)
                ->from(array('lfis037' => 'regulacao.lf037_itens_segurados'), array(
                    'id_estadio_fenologico',
                    'vl_percent_colhido',
                    'vl_percent_total_dano',
                    'vl_percent_total_red_produtividade')
                    )
                ->where('id_laudo_final_item_segurado = ?', $idLaudoFinalItemSegurado);
        }

        $DataEsp = $this->fetchRow($select)->toArray();

        return array_merge($DataGen, $DataEsp);
    }

    public function delete($id_laudo_final) {
        parent::delete($id_laudo_final, 'id_laudo_final');
    }
}