/** * */ 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!')); } }