<?php

class Log_Model_LogAlteracoesInformacoesBancariasBeneficiarios extends Agro_Db_Table_Abstract
{
    protected $_name = 'log_alteracoes_informacoes_bancarias_beneficiarios';
    protected $_schema = 'log';
    protected $_primary = 'id';

    public function getDados(int $idBeneficiario)
    {
        $select = $this->select()->setIntegrityCheck(false);
        $select->from(['laibb' => "{$this->_schema}.{$this->_name}"], ['id_usuario_criacao', "to_char(laibb.dt_criacao, 'DD/MM/YYYY HH24:MI:SS') as data_criacao", 'ds_informacoes_bancarias']);
        $select->join(['u' => 'sistema.usuarios'], 'laibb.id_usuario_criacao = u.id', ['ds_nome_usuario']);
        $select->join(['ibb' => 'seguro.informacoes_bancarias_beneficiarios'], 'ibb.id = laibb.id_informacoes_bancarias_beneficiarios', null);
        $select->join(['fp' => 'sistema.formas_pagamento'], 'fp.id = ibb.id_forma_pagamento', ['ds_forma_pagamento']);
        $select->where("ibb.id_beneficiario = {$idBeneficiario}");
        $select->order('laibb.dt_criacao desc');

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

    public function save(array $values)
    {
        $Row = $this->createRow();

        $Row->id_informacoes_bancarias_beneficiarios = $values['id_informacoes_bancarias_beneficiarios'];
        $Row->ds_informacoes_bancarias = $values['ds_informacoes_bancarias'];

        return $Row->save();
    }
}
