Пример #1
0
 /**
  * 
  */
 public function cadastrarAporteCaptacaoPronac($idPronac, $idCaptacao, $idUsuario)
 {
     $tbTmpCaptacaoModel = new tbTmpCaptacao();
     $tbTmpInconsistenciaCaptacaoModel = new tbTmpInconsistenciaCaptacao();
     #
     $captacoes = $tbTmpCaptacaoModel->find($idCaptacao);
     if (!$captacoes->count() || 1 < $captacoes->count()) {
         throw new Exception('Captação inválida.');
     }
     $captacao = $captacoes->current();
     if (!$captacao instanceof Zend_Db_Table_Row) {
         throw new Exception('Captação inválida.');
     }
     #
     $contaBancariaModel = new ContaBancaria();
     $contasBancarias = $contaBancariaModel->buscar(array('c.AnoProjeto = ?' => $captacao->nrAnoProjeto, 'c.Sequencial = ?' => $captacao->nrSequencial));
     if (!$contasBancarias->count() || 1 < $contasBancarias->count()) {
         throw new Exception('Conta bancária inválida.');
     }
     $contaBancaria = $contasBancarias->current();
     if (!$contaBancaria instanceof Zend_Db_Table_Row) {
         throw new Exception('Conta bancária inválida.');
     }
     $this->getAdapter()->beginTransaction();
     $this->inserir(array('idPRONAC' => $idPronac, 'idVerificacao' => Verificacao::DEVOLUCAO_FUNDO_NACIONAL_CULTURA, 'CNPJCPF' => $captacao->nrCpfCnpjIncentivador, 'idContaBancaria' => $contaBancaria->IdContaBancaria, 'idUsuarioInterno' => $idUsuario, 'dtCredito' => ConverteData($captacao->dtCredito, 13), 'vlDeposito' => $captacao->vlValorCredito, 'nrLote' => self::DEPOSITO_EQUIVOCADO_NRLOTE, 'dtLote' => ConverteData(date('Y-m-d', time()), 13)));
     $tbTmpInconsistenciaCaptacaoModel->delete(array('idTmpCaptacao = ?' => $idCaptacao));
     $tbTmpCaptacaoModel->delete(array('idTmpCaptacao = ?' => $idCaptacao));
     #
     $this->getAdapter()->commit();
 }
 /**
  * 
  * @param string $cpfCnpj
  * @param int $idInconsistencia
  * @throws Exception
  */
 public function resolverIncentivadorProponenteIguais($cpfCnpj, $idInconsistencia)
 {
     try {
         $tbTmpCaptacao = new tbTmpCaptacao();
         $captacaoTemporaria = $tbTmpCaptacao->fetchRow($tbTmpCaptacao->select()->where('idTmpCaptacao = ?', $idInconsistencia));
         $captacaoTemporaria->nrCpfCnpjIncentivador = $cpfCnpj;
         $captacaoTemporaria->save();
         $tbTmpInconsistencia = new tbTmpInconsistenciaCaptacao();
         $inconsistenciaSemVisaoIncentivadorRow = $tbTmpInconsistencia->fetchRow($tbTmpInconsistencia->select()->where('idTmpCaptacao = ?', $idInconsistencia)->where('idTipoInconsistencia = ?', TipoInconsistenciaBancariaModel::SEM_VISAO_INCENTIVADOR));
         if ($inconsistenciaSemVisaoIncentivadorRow) {
             $inconsistenciaBancariaChecaVisao = new InconsistenciaBancariaChecaVisao();
             $inconsistenciaBancariaChecaVisao->incentivadorProponenteIguaisVisaoIncentivador($cpfCnpj);
         }
     } catch (Exception $exception) {
         throw new Exception('Não foi possível resolver a inconsistência de incentivador e proponente iguais', null, $exception);
     }
 }
 /**
  * Remanejamento de valor captado
  * @access public
  * @param void
  * @return void
  */
 public function remanejarValorCaptadoAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     $auth = Zend_Auth::getInstance();
     $idUsuario = $auth->getIdentity()->usu_codigo;
     $count = 0;
     $idTmpCaptacao = $this->getRequest()->getParam('idTmpCaptacao');
     $vlrCaptacao = $this->getRequest()->getParam('vlrCaptacao');
     $vlrDevolucao = $this->getRequest()->getParam('vlrDevolucao');
     $tpApoio = $this->getRequest()->getParam('tpApoio');
     $tpDevolucao = $this->getRequest()->getParam('tpDevolucao');
     $this->view->idTmpCaptacao = $idTmpCaptacao;
     $tbTmpCaptacao = new tbTmpCaptacao();
     $rs = $tbTmpCaptacao->buscarDadosParaRemanejamento($idTmpCaptacao);
     try {
         if (count($rs) > 0) {
             if ($vlrCaptacao > 0) {
                 //INSERT NA TABELA SAC.dbo.Captacao
                 $dados = array('AnoProjeto' => $rs->nrAnoProjeto, 'Sequencial' => $rs->nrSequencial, 'NumeroRecibo' => $rs->NumeroRecibo == '' ? '9999' : $rs->NumeroRecibo, 'CgcCpfMecena' => $rs->nrCpfCnpjIncentivador, 'TipoApoio' => $tpApoio, 'MedidaProvisoria' => $rs->MedidaProvisoria, 'DtChegadaRecibo' => Data::tratarDataZend($rs->dtChegadaRecibo, 'americano'), 'DtRecibo' => Data::tratarDataZend($rs->dtCredito, 'americano'), 'CaptacaoReal' => $vlrCaptacao, 'CaptacaoUfir' => $rs->CaptacaoUfir, 'logon' => $idUsuario, 'IdProjeto' => $rs->idProjeto);
                 $Captacao = new Captacao();
                 $Captacao->inserir($dados);
             }
             $ContaBancaria = new ContaBancaria();
             $dadosCB = $ContaBancaria->buscarDados($rs->nrAnoProjeto . $rs->nrSequencial);
             if (count($dadosCB) > 0) {
                 $dadosCB = $dadosCB->current();
                 $idCB = $dadosCB->IdContaBancaria;
                 # validacao removida para atender aporte mesmo em caso de valor zerado para a captacao
                 //if($vlrDevolucao > 0){
                 # INSERT NA TABELA SAC.dbo.tbAporteCaptacao
                 $dadosAporte = array('IdPRONAC' => $rs->idProjeto, 'idVerificacao' => $tpDevolucao, 'CNPJCPF' => $rs->nrCpfCnpjIncentivador, 'idContaBancaria' => $idCB, 'idUsuarioInterno' => $idUsuario, 'dtCredito' => Data::tratarDataZend($rs->dtCredito, 'americano'), 'vlDeposito' => $vlrDevolucao, 'nrLote' => $rs->NumeroRecibo == '' ? '9999' : $rs->NumeroRecibo, 'dtLote' => Data::tratarDataZend($rs->dtChegadaRecibo, 'americano'));
                 $tbAporteCaptacao = new tbAporteCaptacao();
                 $insertAporteCaptacao = $tbAporteCaptacao->inserir($dadosAporte);
                 if ($insertAporteCaptacao) {
                     $tbTmpInconsistenciaCaptacao = new tbTmpInconsistenciaCaptacao();
                     $tbTmpInconsistenciaCaptacao->delete(array('idTmpCaptacao = ?' => $idTmpCaptacao, 'idTipoInconsistencia = ?' => 9));
                     $tbTmpCaptacao->delete(array('idTmpCaptacao = ?' => $idTmpCaptacao));
                 } else {
                     $count++;
                 }
                 //}
             } else {
                 $count++;
             }
         } else {
             $count++;
         }
     } catch (Exception $e) {
         echo json_encode(array('resposta' => false, 'messagem' => $e->getMessage()));
     }
     if ($count == 0) {
         echo json_encode(array('resposta' => true, 'mensagem' => 'Dados atualizados com sucesso!'));
     } else {
         echo json_encode(array('resposta' => false, 'mensagem' => 'Ocorreu um erro no processo de atualização. Entre em contato com o administrador do sistema!'));
     }
 }