<?php
class Sinistro2_Model_LaudosFinaisEnviosLogs extends Agro_Db_Table_Abstract {

    protected $_schema = 'sinistro';
    protected $_name = 'laudos_finais_envios_logs';
    protected $_primary = 'id';
    public $_order = 'id';

    public function save($dados) {
        $this->update(array('fl_ativo' => 'f'), "id_laudo_final = " . $dados['id_laudo_final']);
        
        $row = $this->createRow();
        $row->id_laudo_final = $dados['id_laudo_final'];
        $row->ds_tipo_envio = $dados['ds_tipo_envio'];
        $row->ds_email_segurado = $dados['ds_email_segurado'];
        $row->ds_telefone_segurado = $dados['ds_telefone_segurado'];
        $row->ds_mensagem = $dados['ds_mensagem'];
        $row->fl_sucesso = $dados['fl_sucesso'] ? 1 : 0;
        $row->save();

        return $row->id;
    }

    /**
     * Busca o vínculo do laudo final com os envios
     * @param int $idLaudoFinal
     * @return Zend_Db_Table_Row
     */
    public function getByLaudoFinal($idLaudoFinal, $somenteAtivo = true)
    {
        $select = $this->select()->setIntegrityCheck(false);
        $select->from(array('lfel' => 'sinistro.laudos_finais_envios_logs'), '*');
        $select->join(array('u' => 'sistema.usuarios'), 'lfel.id_usuario_criacao = u.id', 'ds_nome_usuario');
        $select->where("lfel.id_laudo_final={$idLaudoFinal}");

        if ($somenteAtivo) {
            $select->where("lfel.fl_ativo is true");
        }

        $select->order('lfel.id DESC');

        return $this->fetchAll($select)->toArray();
    }
}
