/** * Processa a autenticação de NFSe */ public function autenticarPostAction() { $aDadosRequest = $this->getRequest()->getParams(); $aRetornoJson['status'] = FALSE; $oForm = new Auth_Form_nfse_FormAutenticacao(); $oForm->populate($aDadosRequest); // Valida o "codigo de verificação" ou "número da RPS" está preenchido if (!$oForm->getElement('codigo_verificacao')->getValue() && !$oForm->getElement('numero_rps')->getValue()) { $aRetornoJson['fields'] = array('codigo_verificacao', 'numero_rps'); $aRetornoJson['error'][] = $this->translate->_('Informe o Número do RPS ou o Código de Verificação.'); echo $this->getHelper('json')->sendJson($aRetornoJson); } // Valida o restante do formulário if ($oForm->isValid($aDadosRequest)) { $sPrestadorCnpj = $oForm->getElement('prestador_cnpjcpf')->getValue(); $sNumeroRps = $oForm->getElement('numero_rps')->getValue(); $sCodigoVerificacao = $oForm->getElement('codigo_verificacao')->getValue(); if ($sCodigoVerificacao) { $uNota = Contribuinte_Model_Nota::getByPrestadorAndCodigoVerificacao($sPrestadorCnpj, $sCodigoVerificacao); } else { $uNota = Contribuinte_Model_Nota::getByPrestadorAndNumeroRps($sPrestadorCnpj, $sNumeroRps); } if (is_object($uNota) || is_array($uNota)) { // Url criptografada $aUrlVerificacao = DBSeller_Helper_Url_Encrypt::encrypt(array('module' => 'default', 'controller' => 'index', 'action' => 'autentica', 'url' => $aDadosRequest)); $aRetornoJson['status'] = TRUE; $aRetornoJson['url'] = $aUrlVerificacao; } else { $sMensagemErro = 'Nenhum registro foi encontrado, verifique os dados informados e tente novamente.'; $aRetornoJson['error'][] = $this->translate->_($sMensagemErro); } } else { $aRetornoJson['fields'] = array_keys($oForm->getMessages()); $aRetornoJson['error'][] = $this->translate->_('Preencha os dados corretamente.'); } echo $this->getHelper('json')->sendJson($aRetornoJson); }
/** * Página para autenticação de notas */ public function autenticaAction() { // Desabilita o layout do sistema parent::noLayout(); $sPrestadorCnpjCpf = parent::getParam('prestador_cnpjcpf'); $sNumeroRps = parent::getParam('numero_rps'); $sCodigoVerificacao = parent::getParam('codigo_verificacao'); $sCodVer = parent::getParam('cod_ver'); $sCpfCnpj = parent::getParam('cpfcnpj'); if (!empty($sCodigoVerificacao) && !empty($sPrestadorCnpjCpf)) { $oNota = Contribuinte_Model_Nota::getByPrestadorAndCodigoVerificacao($sPrestadorCnpjCpf, $sCodigoVerificacao); } else { if (!empty($sCodVer) && !empty($sCpfCnpj)) { $oNota = Contribuinte_Model_Nota::getByPrestadorAndCodigoVerificacao($sCodVer, $sCpfCnpj); } else { $oNota = Contribuinte_Model_Nota::getByPrestadorAndNumeroRps($sPrestadorCnpjCpf, $sNumeroRps); } } $oPrefeitura = Administrativo_Model_Prefeitura::getDadosPrefeituraBase(); $this->view->aDadosNota = Contribuinte_Model_Nota::getDadosEmissao($sCodigoVerificacao, $oNota, $oPrefeitura); $this->view->setBasePath(APPLICATION_PATH . '/modules/contribuinte/views/'); $sHtml = $this->view->render("pdf/nota_modelo_{$oPrefeitura->getModeloImpressaoNfse()}.phtml"); echo $sHtml; }