<?php

class Seguro_Model_BeneficiariosPendenciasArquivos extends Agro_Db_Table_Abstract {
	protected $_schema = 'seguro';
	protected $_name = 'beneficiarios_pendencias_arquivos';
	protected $_primary = 'id';
	public $_order = 'id asc';

	public function save($data) 
    {
        $Row = $this->createRow();
        $Row->id_beneficiario = $data['id_beneficiario'];
        $Row->id_tipo_arquivo = $data['id_tipo_arquivo'];

        if (!$Row->save()) {
            throw new Exception("Erro ao salvar os arquivos de pendência.");
        }
	}

    public function deleteByBeneficiarioTipoArquivo($idBeneficiario, $idTipoArquivo)
    {
        $rs = $this->_db->query("
            DELETE FROM {$this->_schema}.{$this->_name} 
             WHERE id_beneficiario = {$idBeneficiario} 
               AND id_tipo_arquivo = {$idTipoArquivo}
        ");

        if (!$rs) {
            throw new Exception("Erro ao excluir o arquivo da pendência.");
        }
    }
    
    public function getArquivosPendentesByBeneficiario($idBeneficiario)
    {
        $select = $this->select()->setIntegrityCheck(false);
        $select->from(['bpa' => "{$this->_schema}.{$this->_name}"]);
        $select->where("bpa.id_beneficiario = ?", $idBeneficiario);

        return $this->fetchAll($select)->toArray();
        //SELECT * FROM seguro.beneficiarios_pendencias_arquivos bpa WHERE bpa.id_beneficiario_pendencia = (SELECT bp.id FROM seguro.beneficiarios_pendencias bp
        //JOIN sistema.funcionarios f ON f.id_usuario = bp.id_usuario_criacao WHERE id_beneficiario = 3421 AND f.id_empresa = 20 order by bp.id desc limit 1);
    }
}
