/** * Gerar as guias em aberto dos contribuintes */ public function gerarAction() { parent::noLayout(); $aParametros = $this->getRequest()->getParams(); /** * Parametros de retorno do AJAX */ $aRetornoJson = array('success' => FALSE, 'message' => NULL); try { /** * Verifica competência informada */ if (empty($aParametros['mes_competencia']) || empty($aParametros['ano_competencia'])) { throw new Exception('Informe a competência.'); } $iMesCompetencia = str_pad($aParametros['mes_competencia'], 2, '0', STR_PAD_LEFT); $iAnoCompetencia = $aParametros['ano_competencia']; $iMesCorrente = date('m'); $iAnoCorrente = date('Y'); /** * Verifica mês e ano corrente */ if ($iMesCompetencia >= $iMesCorrente && $iAnoCompetencia == $iAnoCorrente) { throw new Exception('Competência corrente não é gerado guia. <br />Selecione os meses anteriores ao corrente.'); } $oDataPagamento = new DateTime(); $aGuiasCompetencia = Contribuinte_Model_Competencia::getByGuiasContribuinteAndCompetencia($iMesCompetencia, $iAnoCompetencia); /** * Verifica se encontro alguma guia em aberto */ if (count($aGuiasCompetencia) == 0) { throw new Exception('Nenhum registro encontrado para a competência selecionada.'); } foreach ($aGuiasCompetencia as $oGuiaCompetencia) { $oContribuinte = $oGuiaCompetencia->getContribuinte(); $iMesCompetencia = $oGuiaCompetencia->getMesComp(); $iAnoCompetencia = $oGuiaCompetencia->getAnoComp(); $aNotas = $oGuiaCompetencia->getNotas(); if (empty($iMesCompetencia)) { throw new Exception("O mês de competência do contribuinte {$oContribuinte->getInscricaoMunicipal()} não foi informado."); } if (empty($iAnoCompetencia)) { throw new Exception("O ano de competência do contribuinte {$oContribuinte->getInscricaoMunicipal()} não foi informado."); } if (count($aNotas) == 0) { throw new Exception("Não existem notas na competência do contribuinte {$oContribuinte->getInscricaoMunicipal()} não foi informado."); } $aRetornoGuiaEcidade[] = Contribuinte_Model_GuiaEcidade::gerarGuiaNFSE($oContribuinte, $oGuiaCompetencia, $oDataPagamento, FALSE); } $aRetornoJson['success'] = TRUE; $aRetornoJson['message'] = "Guias de competência {$iMesCompetencia}/{$iAnoCompetencia} geradas com sucesso."; /** * Para uso como debug de retorno do e-cidade */ //$aRetornoJson['retorno_ecidade'] = $aRetornoGuiaEcidade; } catch (Exception $oErro) { $aRetornoJson['message'] = $oErro->getMessage(); } echo $this->getHelper('json')->sendJson($aRetornoJson); }
/** * Salva o informativo disponibilizado no textarea */ public function formSalvarAction() { parent::noLayout(); $aParametros = $this->getRequest()->getParams(); $oForm = new Fiscal_Form_Informativo(); $oForm->populate($aParametros); /** * Parametros de retorno do AJAX */ $aRetornoJson = array('success' => FALSE, 'message' => NULL); if (!$oForm->isValid($aParametros)) { $aRetornoJson['fields'] = array_keys($oForm->getMessages()); $aRetornoJson['error'][] = 'Preencha os dados corretamente.'; } else { try { // salvar $oInformativo = new Administrativo_Model_Informativo(); $oInformativo->salvarDescricao($aParametros['descricao']); $aRetornoJson['success'] = TRUE; $aRetornoJson['message'] = 'Informativo salvo com sucesso!'; } catch (Exception $oErro) { $aRetornoJson['error'][] = $oErro->getMessage(); } } echo $this->getHelper('json')->sendJson($aRetornoJson); }
/** * Força o download dos relatórios */ public function downloadAction() { parent::noLayout(); parent::download($this->getRequest()->getParam('arquivo')); }
/** * Método para rejeitar a solicitação de cancelamento de NFSE */ public function rejeitarAction() { parent::noTemplate(); $aDados = $this->getRequest()->getParams(); $oForm = new Fiscal_Form_CancelamentoRejeitar(); $this->view->solicitacao = $aDados; $oForm->populate(array('id' => $aDados['id'])); $this->view->form = $oForm; if ($this->getRequest()->isPost()) { parent::noLayout(); try { $aDados = $this->getRequest()->getParams(); $oSolicitacao = Contribuinte_Model_SolicitacaoCancelamento::getById($aDados['id']); $oNota = Contribuinte_Model_Nota::getById($oSolicitacao->getNota()->getId()); $sRetornoEmail = $this->enviarEmailRejeicao($oNota, $oSolicitacao, $aDados['justificativa_fiscal']); $sMensagemRetorno = 'Solicitação rejeitada com sucesso!'; $sMensagemRetorno = is_null($sRetornoEmail) ? $sMensagemRetorno : $sRetornoEmail; $oSolicitacao->destroy(); $aRetornoJson['status'] = TRUE; $aRetornoJson['success'] = $sMensagemRetorno; } catch (Exception $oError) { $aRetornoJson['status'] = FALSE; $aRetornoJson['error'][] = $oError->getMessage(); } echo $this->getHelper('json')->sendJson($aRetornoJson); } }
/** * Realiza a recusa do cadastro da pessoa * * @throws Exception * @return void */ public function recusarCadastroSalvarAction() { parent::noLayout(); $aDados = $this->getRequest()->getParams(); $aRetornoJson = NULL; $oForm = new Fiscal_Form_CadastroPessoaRecusa(); $oForm->populate($aDados); // Valida o formulario e gera a requisicao if ($oForm->isValid($aDados)) { try { $this->oDoctrine->getConnection()->beginTransaction(); $oCadastroPessoa = new Contribuinte_Model_CadastroPessoa($aDados['id']); $this->validarLiberacaoUsuario($oCadastroPessoa); if ($oCadastroPessoa->bloquearCadastro($aDados['justificativa'])) { $this->view->setScriptPath(APPLICATION_PATH . '/modules/default/views/scripts/cadastro-eventual/'); $this->view->sTextoRecusa = $aDados['justificativa']; $sTextoEmail = $this->view->render('email-aviso-recusa-cadastro.phtml'); $lEmail = DBSeller_Helper_Mail_Mail::send($oCadastroPessoa->getEmail(), $this->translate->_('ECidadeOnline2 - Retorno de Solicitação de Cadastro'), $sTextoEmail); if (!$lEmail) { throw new Exception($this->translate->_('Email não enviado. Favor Contate Suporte Prefeitura.')); } $aRetornoJson['status'] = TRUE; $aRetornoJson['reload'] = TRUE; $aRetornoJson['success'] = $this->translate->_('A Recusa do cadastro foi efetuada. Um email com a justificativa foi enviado ao contribuinte.'); } $this->oDoctrine->getConnection()->commit(); } catch (Exception $eErro) { $this->oDoctrine->getConnection()->rollback(); $aRetornoJson['status'] = FALSE; $aRetornoJson['error'][] = $eErro->getMessage(); } } else { $aRetornoJson['status'] = FALSE; $aRetornoJson['fields'] = array_keys($oForm->getMessages()); $aRetornoJson['error'][] = 'Preencha os dados corretamente.'; } echo $this->getHelper('json')->sendJson($aRetornoJson); }