/** * Método que retorna a quantidade de Notas Emitidas * * @param integer $iInscricaoMunicipal * @param integer $iTipoNota * @param string $sGrupoNota * @throws Exception * @return integer */ public function getQuantidadesNotasEmissao($iInscricaoMunicipal, $iTipoNota = NULL, $sGrupoNota = NULL) { if (!$iInscricaoMunicipal) { throw new Zend_Exception('Informe uma Inscrição Municipal.'); } if (!$iTipoNota && !$sGrupoNota) { throw new Zend_Exception('Informe o Tipo de Nota ou Grupo de Nota.'); } if ($iTipoNota) { $oWebService = new WebService_Model_Ecidade(); $aFiltro = array('inscricao_municipal' => $iInscricaoMunicipal, 'tipo_nota' => $iTipoNota); $aCampos = array('quantidade_notas_liberadas'); $aRetorno = $oWebService::consultar('getQuantidadeNotasLiberadas', array($aFiltro, $aCampos)); } else { $oWebService = new WebService_Model_Ecidade(); $aFiltro = array('inscricao_municipal' => $iInscricaoMunicipal, 'grupo_nota' => $sGrupoNota); $aCampos = array('quantidade_notas_liberadas'); $aRetorno = $oWebService::consultar('getQuantidadeAidofsLiberadasPorGrupoDocumento', array($aFiltro, $aCampos)); } if (is_array($aRetorno)) { $iQuantidadeNotasEmitidas = Contribuinte_Model_DmsNota::getQuantidadeNotasEmitidas($iInscricaoMunicipal, $iTipoNota); return $aRetorno[0]->quantidade_notas_liberadas - $iQuantidadeNotasEmitidas; } DBSeller_Plugin_Notificacao::addAviso('Aidof01', "Não houve retorno do WebService do E-Cidade!"); return 0; }
/** * Processa a saída do usuário do sistema, limpando suas credenciais */ public function indexAction() { $auth = Zend_Auth::getInstance(); $auth->clearIdentity(); DBSeller_Plugin_Notificacao::limpar(); Zend_Session::destroy(); $this->redirect('/auth/login/'); }
/** * Responsavél pelas ações de limpar todas ou remover uma notificação da sessão */ public function removerAction() { parent::noTemplate(); $aParametros = $this->getRequest()->getParams(); // Verificação para remover somente uma notificação ou todas if (isset($aParametros['tipo']) && isset($aParametros['codigo'])) { $sMensagem = "Notificação de '{$aParametros['tipo']}' removida da sessão."; DBSeller_Plugin_Notificacao::remove($aParametros['tipo'], $aParametros['codigo']); } else { $sMensagem = 'Todas as notificações foram removidas da sessão.'; DBSeller_Plugin_Notificacao::limpar(); } $iCount = DBSeller_Plugin_Notificacao::getCountAll(); // Parametros de retorno do AJAX $aRetornoJson = array('status' => TRUE, 'message' => $sMensagem, 'count' => $iCount); echo $this->getHelper('json')->sendJson($aRetornoJson); }
/** * Página inicial do módulo padrão */ public function indexAction() { // Verifica se o usuário está logado parent::checkIdentity(); // Zera as permissões do contribuinte $oSessao = new Zend_Session_Namespace('nfse'); $oSessao->contribuinte = NULL; $this->view->contribuinte = NULL; $this->_session->id = NULL; $this->view->iUsuarioEscolhido = $oSessao->iUsuarioEscolhido; $aAuth = Zend_Session::namespaceGet('Zend_Auth'); $oUsuario = Administrativo_Model_Usuario::getById($aAuth['storage']['id']); if ($oUsuario->getTipo() == 3) { $oBaseUrl = new Zend_View_Helper_BaseUrl(); // Verifica se possui cadastros eventuais $aCadastrosEventuais = Contribuinte_Model_CadastroPessoa::getCadastrosParaLiberacao(); if (count($aCadastrosEventuais) > 0) { $sMensagem = "Hà " . count($aCadastrosEventuais) . " Cadastros Eventuais Pendentes <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/usuario-eventual/listar-novos-cadastros") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F001', $sMensagem); } // Verifica se possui solicitações de cancelamento $aSolicitacoesCancelamento = Contribuinte_Model_SolicitacaoCancelamento::getAll(); if (count($aSolicitacoesCancelamento) > 0) { $sMensagem = "Hà " . count($aSolicitacoesCancelamento) . " Solicitações de cancelamento de NFS-e <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/cancelamento-nfse/consultar") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F002', $sMensagem); } } // Tiver apenas um módulo redireciona para a default/index if (isset($this->view->user) && count($this->view->user->getModulos()) == 1) { $aModulos = each($this->view->user->getModulos()); $sModulo = strtolower($aModulos['value']->getNome()); $this->_redirector->gotoSimple('index', 'index', $sModulo); } // Recria as permissões do usuário new DBSeller_Acl_Setup(TRUE); }
/** * Tela inicial do módulo fiscal * * @return void */ public function indexAction() { $aAuth = Zend_Session::namespaceGet('Zend_Auth'); $oUsuario = Administrativo_Model_Usuario::getById($aAuth['storage']['id']); if ($oUsuario->getTipo() == 3) { $oBaseUrl = new Zend_View_Helper_BaseUrl(); // Verifica se possui cadastros eventuais $aCadastrosEventuais = Contribuinte_Model_CadastroPessoa::getCadastrosParaLiberacao(); if (count($aCadastrosEventuais) > 0) { $sMensagem = "Hà " . count($aCadastrosEventuais) . " Cadastros Eventuais Pendentes <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/usuario-eventual/listar-novos-cadastros") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F001', $sMensagem); } // Verifica se possui solicitações de cancelamento $aSolicitacoesCancelamento = Contribuinte_Model_SolicitacaoCancelamento::getAll(); if (count($aSolicitacoesCancelamento) > 0) { $sMensagem = "Hà " . count($aSolicitacoesCancelamento) . " Solicitações de cancelamento de NFS-e <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/cancelamento-nfse/consultar") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F002', $sMensagem); } } $this->view->oculta_breadcrumbs = TRUE; }
/** * Retorna os dados da prefeitura do webservice * * @tutorial Campos de Retorno para exemplo: * $oRetorno->sDescricao = PREFEITURA MUNICIPAL DE TESTE DO SUL * $oRetorno->sDescricaoAbreviada = PM TESTE DO SUL * $oRetorno->sCnpj = XXXXXXXXXXXXXXX * $oRetorno->sLogradouro = LOGRADOURO DA PREFEITURA * $oRetorno->sMunicipio = MUNICIPIO * $oRetorno->sBairro = BAIRRO * $oRetorno->sTelefone = XX XXXXXXXX * $oRetorno->sSite = www.prefeitura.rs.gov.br * $oRetorno->sEmail = contato@prefeitura.rs.gov.br * $oRetorno->iCodigoMunicipio = 531654 * $oRetorno->iNumeroCgm = 5 * $oRetorno->sLogoPrefeituraBaseEncode = files/imagens/brasao_5249e01492774.jpg * @return mixed * @throws Exception */ public static function getDadosPrefeituraWebService() { try { $aValores = array('lprefeitura' => TRUE); $oDadosRetorno = WebService_Model_Ecidade::processar('DadosPrefeitura', $aValores); if ($oDadosRetorno->sLogoPrefeituraBaseEncode != '') { $sImagem = $oDadosRetorno->sLogoPrefeituraBaseEncode; $sImagem = str_replace('data:image/png;base64,', '', $sImagem); $sImagem = str_replace(' ', '+', $sImagem); $oImagemDados = base64_decode($sImagem); $sNomeArquivo = 'brasao.jpg'; $lSucesso = file_put_contents('global/img/' . $sNomeArquivo, $oImagemDados); unset($oDadosRetorno->sLogoPrefeituraBaseEncode); if (!$lSucesso) { DBSeller_Plugin_Notificacao::addErro('W005', 'Problemas ao importar o arquivo logo da prefeitura.'); throw new Exception('Problemas ao importar o arquivo logo da prefeitura.'); } } return $oDadosRetorno; } catch (Exception $oErro) { DBSeller_Plugin_Notificacao::addErro('W006', "Erro para carregar dados da Prefeitura: {$oErro->getMessage()}"); throw new Exception("Erro para carregar dados da Prefeitura: {$oErro->getMessage()}"); } }
/** * Configura o sistema * * @return Zend_Config */ protected function _initConfig() { $aOpcaoConfiguracao = $this->getOptions(); $oConfig = new Zend_Config($aOpcaoConfiguracao, TRUE); Zend_Registry::set('config', $oConfig); try { // Verifica se foi atualizado o sistema $sArquivoAtualizacao = APPLICATION_PATH . '/../versao.txt'; if (file_exists($sArquivoAtualizacao)) { $sVersaoAtualizada = implode('', file($sArquivoAtualizacao)); $aOpcaoConfiguracao['ecidadeonline2']['versao'] = trim($sVersaoAtualizada); $aOpcaoConfiguracao['settings']['application']['cache'] = trim($sVersaoAtualizada); Administrativo_Model_Versao::atualizaVersaoNfse($sVersaoAtualizada); $oConfig = new Zend_Config($aOpcaoConfiguracao, TRUE); Zend_Registry::set('config', $oConfig); } if (file_exists(APPLICATION_PATH . '/data/Ipx/webservice-ecidade.ini')) { $webservice = new Zend_Config_Ini(APPLICATION_PATH . '/data/Ipx/webservice-ecidade.ini', null, array('allowModifications' => TRUE)); Zend_Registry::set('webservice.ecidade', $webservice); } else { throw new WebService_Lib_Exception(null, null, 'W03'); } } catch (WebService_Lib_Exception $oErro) { DBSeller_Plugin_Notificacao::addErro($oErro->getCode(), $oErro->getMessage()); } return $oConfig; }
/** * Método que busca do e-cidade os dados da empresa agruapada por Inscrição Municipal * @param string $sCnpj * @return array $aContribuinte * @throws Exception */ public function getInscricaoMunicipalByCpjCnpj($sCnpj) { try { if ($sCnpj != NULL) { // Limpa máscaras $iCnpj = DBSeller_Helper_Number_Format::getNumbers($sCnpj); // Consulta WebService $aParametros = array(array('cnpj' => $iCnpj), self::$aCampos['getDadosEmpresa']); $aContribuinte = WebService_Model_Ecidade::consultar('getDadosEmpresa', $aParametros); return $aContribuinte; } } catch (Exception $oError) { DBSeller_Plugin_Notificacao::addErro('W009', "Erro ao consultar as Inscrições Municipais do Contribuinte: {$oError->getMessage()}"); throw new Exception("Erro ao consultar as Inscrições Municipais do Contribuinte: {$oError->getMessage()}"); } }
/** * Gera declaracao de insencao de ISSQN Variavel (Declaracao de Sem Movimento) * * @return array|null * @throws Exception */ public function gerarDeclaracaoSemMovimento() { try { $aParamentos = array('inscricaomunicipal' => $this->oContribuinte->getInscricaoMunicipal(), 'mes' => $this->iMesCompetencia, 'ano' => $this->iAnoCompetencia); $aRetorno = WebService_Model_Ecidade::processar('CancelamentoISSQNVariavel', $aParamentos); } catch (Exception $oErro) { DBSeller_Plugin_Notificacao::addErro('W007', "Erro ao declarar sem movimento: {${$oErro}->getMessage()}"); throw new Exception(sprintf($this->translate->_('Erro ao declarar sem movimento: %s'), $oErro->getMessage())); } return $aRetorno; }
/** * Checa a versão do sistema compativel */ public static function checkVersaoSistema() { try { $oSessao = self::capturaSessaoVersaoEcidade(); $sConfigVersaoNfse = Zend_Registry::get('config')->ecidadeonline2->versao; $oVersaoNfse = Administrativo_Model_Versao::getByAttribute('ecidadeonline2', trim($sConfigVersaoNfse)); $sVersaoSistemaAtualizacao = is_object($oVersaoNfse) ? $oVersaoNfse->getVersaoEcidade() : NULL; // Verifica se foi informado algum valor para comparação das versões if (empty($sVersaoSistemaAtualizacao) || empty($oSessao->versaoecidade)) { $sMensagemErro = 'Versão do E-cidade e do NFS-e não foram configuradas corretamente.<br>'; $sMensagemErro .= "Versão E-Cidade atual: {$oSessao->versaoecidade}<br>"; $sMensagemErro .= "Versão E-Cidade compatível: {$sVersaoSistemaAtualizacao}"; throw new Exception($sMensagemErro, 400); } // Verifica se a versão do nota informada é menor ou igual a primeira versão implantada if (version_compare($sVersaoSistemaAtualizacao, $oSessao->versaoecidade, '>')) { $sMensagemErro = 'Versões do NFS-e e do E-cidade não são compatíveis.<br>'; $sMensagemErro .= "Versão E-Cidade atual: {$oSessao->versaoecidade}<br>"; $sMensagemErro .= "Versão E-Cidade compatível: {$sVersaoSistemaAtualizacao}"; throw new Exception($sMensagemErro, 400); } } catch (Exception $oErro) { DBSeller_Plugin_Notificacao::addErro("W{$oErro->getCode()}", $oErro->getMessage()); } }
/** * Gera a guia do tomador no eCidade * * @param $iCodigoPlanilha * @deprecated * @return mixed * @throws Exception */ public static function gerarGuiaTomador($iCodigoPlanilha) { DBSeller_Plugin_Notificacao::addErro('Metodo Deprecated Contribuinte_Model_GuiaEcidade::gerarGuiaTomador'); throw new Exception('Metodo Deprecated Contribuinte_Model_GuiaEcidade::gerarGuiaTomador'); /* $oData = new DateTime(); $aDados = array( 'codigo_planilha' => $iCodigoPlanilha, 'data' => $oData->format('Y-m-d') ); $oRetornoWebService = Contribuinte_Lib_Model_WebService::processar('gerarGuiaTomador', $aDados); $oRetornoWebService->arquivo_guia = self::salvarPdf($oRetornoWebService->arquivo_guia, 'guia_substituto'); return $oRetornoWebService; */ }