/** * Consulta notas para exportar RPS */ public function rpsConsultarAction() { parent::noTemplate(); $aParametros = $this->getRequest()->getParams(); /** * Verifica se foi informado mês e ano da competência */ if (!empty($aParametros['mes_competencia']) && !empty($aParametros['ano_competencia'])) { $oContribuinte = $this->_session->contribuinte; $sCodigosContribuintes = implode(',', $oContribuinte->getContribuintes()); $oPaginatorAdapter = new DBSeller_Controller_Paginator(Contribuinte_Model_Nota::getQuery(), 'Contribuinte_Model_Nota', 'Contribuinte\\Nota'); /** * Monta a query de consulta */ $oPaginatorAdapter->where("e.id_contribuinte in ({$sCodigosContribuintes})"); $oPaginatorAdapter->andWhere("e.mes_comp = {$aParametros['mes_competencia']}"); $oPaginatorAdapter->andWhere("e.ano_comp = {$aParametros['ano_competencia']}"); if (!empty($aParametros['numero_rps'])) { $oPaginatorAdapter->andWhere("e.nota = {$aParametros['numero_rps']}"); } $oPaginatorAdapter->orderBy('e.nota', 'DESC'); /** * Monta a paginação do GridPanel */ $oResultado = new Zend_Paginator($oPaginatorAdapter); $oResultado->setItemCountPerPage(10); $oResultado->setCurrentPageNumber($this->_request->getParam('page')); foreach ($oResultado as $oNota) { $oNota->oContribuinte = $oContribuinte; $oNota->lNaoGeraGuia = !$oNota->getEmite_guia(); $oNota->lGuiaEmitida = Contribuinte_Model_Guia::existeGuia($oContribuinte, $oNota->getMes_comp(), $oNota->getAno_comp(), Contribuinte_Model_Guia::$DOCUMENTO_ORIGEM_NFSE); /** * Informações da nota substituta */ $oNota->oNotaSubstituida = NULL; if ($oNota->getIdNotaSubstituida()) { $oNota->oNotaSubstituida = Contribuinte_Model_Nota::getById($oNota->getIdNotaSubstituida()); } /** * Informações da nota substituta */ $oNota->oNotaSubstituta = NULL; if ($oNota->getIdNotaSubstituta()) { $oNota->oNotaSubstituta = Contribuinte_Model_Nota::getById($oNota->getIdNotaSubstituta()); } } /** * Valores da pesquisa para montar a paginação */ if (is_array($aParametros)) { foreach ($aParametros as $sParametro => $sParametroValor) { if ($sParametroValor) { $sParametroValor = str_replace('/', '-', $sParametroValor); $this->view->sBusca .= "{$sParametro}/{$sParametroValor}/"; } } } $this->view->oDadosNota = $oResultado; } }
public function indexAction() { parent::noTemplate(); $oForm = new Contribuinte_Form_Tomador(); if ($this->getRequest()->isPost()) { $aDados = $this->getRequest()->getPost(); $oForm->preenche($aDados); if (!$oForm->isValid($aDados)) { $this->view->form = $oForm; $this->getResponse()->setHttpResponseCode(406); // Evita o Fechamento da Modal JS } else { $iCodigoIbge = Administrativo_Model_Prefeitura::getDadosPrefeituraBase()->getIbge(); if ($aDados['z01_munic'] == $iCodigoIbge) { $aDados['z01_bairro'] = $aDados['z01_bairro_munic']; $aDados['z01_ender'] = $aDados['z01_ender_munic']; } else { $aDados['z01_bairro'] = $aDados['z01_bairro_fora']; $aDados['z01_ender'] = $aDados['z01_ender_fora']; } // Salva Novo CGM (eCidade) //Contribuinte_Model_Cgm::persist($aDados); // Salva Novo Tomador (NFSE) $aDadosNfse = array(); $aDadosNfse['t_cnpjcpf'] = $aDados['z01_cgccpf']; $aDadosNfse['t_razao_social'] = $aDados['z01_nome']; $aDadosNfse['t_cod_pais'] = $aDados['z01_nome']; $aDadosNfse['t_uf'] = $aDados['z01_uf']; $aDadosNfse['t_cod_municipio'] = $aDados['z01_munic']; $aDadosNfse['t_cep'] = $aDados['z01_cep']; $aDadosNfse['t_bairro'] = $aDados['z01_bairro_fora']; $aDadosNfse['t_endereco'] = $aDados['z01_ender_fora']; $aDadosNfse['t_endereco_numero'] = $aDados['z01_numero']; $aDadosNfse['t_endereco_comp'] = $aDados['z01_compl']; $aDadosNfse['t_telefone'] = $aDados['z01_telef']; $aDadosNfse['t_email'] = $aDados['z01_email']; $oTomador = new Contribuinte_Model_TomadorBase(); $oTomador->persist($aDadosNfse); $this->_helper->getHelper('FlashMessenger')->addMessage(array('success' => 'Tomador cadastrado com sucesso.')); return; } } else { $this->view->form = $oForm; } }
/** * Action responsável por listar as contas */ public function listarContasAction() { if ($this->getRequest()->isPost()) { parent::noTemplate(); $aRecord = array(); $iLimit = $this->_request->getParam('rows'); $iPage = $this->_request->getParam('page'); $sSord = $this->_request->getParam('sord'); $oPaginatorAdapter = new DBSeller_Controller_Paginator(Contribuinte_Model_PlanoContaAbrasf::getQuery(), 'Contribuinte_Model_PlanoContaAbrasf', 'Contribuinte\\PlanoContaAbrasf'); /** * Ordena os registros */ $oPaginatorAdapter->orderBy("e.id, e.conta_abrasf", $sSord); /** * Monta a paginação do GridPanel */ $oResultado = new Zend_Paginator($oPaginatorAdapter); $oResultado->setItemCountPerPage($iLimit); $oResultado->setCurrentPageNumber($iPage); $iTotal = $oResultado->getTotalItemCount(); $iTotalPages = $iTotal > 0 && $iLimit > 0 ? ceil($iTotal / $iLimit) : 0; foreach ($oResultado as $oPlanoContaAbrasf) { $oDadosColuna = new StdClass(); $oDadosColuna->id = $oPlanoContaAbrasf->getId(); $oDadosColuna->conta_abrasf = $oPlanoContaAbrasf->getContaAbrasf(); $oDadosColuna->titulo_contabil_desc = $oPlanoContaAbrasf->getTituloContabilDesc(); $oDadosColuna->tributavel = $oPlanoContaAbrasf->getTributavel(); $oDadosColuna->obrigatorio = $oPlanoContaAbrasf->getObrigatorio(); $aRecord[] = $oDadosColuna; } /** * Parametros de retorno do AJAX */ $aRetornoJson = array('total' => $iTotalPages, 'page' => $iPage, 'records' => $iTotal, 'rows' => $aRecord); echo $this->getHelper('json')->sendJson($aRetornoJson); } }
/** * Emite e gera as guias conforme a receita e aliquota informadas */ public function emitirGuiaAction() { parent::noTemplate(); $aParametros = $this->getAllParams(); try { $iIdImportacao = $aParametros['id']; $fAliquota = $aParametros['aliq_issqn'] ? $aParametros['aliq_issqn'] : NULL; $oContribuinte = $this->_session->contribuinte; $aReceitaDesif = Contribuinte_Model_ImportacaoDesif::getTotalReceitaGuiaDesif($oContribuinte, $iIdImportacao, $fAliquota); $sTotalReceita = DBSeller_Helper_Number_Format::toMoney($aReceitaDesif->total_receita, 2, 'R$ '); $sTotalIss = DBSeller_Helper_Number_Format::toMoney($aReceitaDesif->total_iss, 2, 'R$ '); $oFormEmitirGuia = new Contribuinte_Form_GuiaCompetencia(); $oFormEmitirGuia->setName('form-emitir-guia'); $oFormEmitirGuia->setAction('/contribuinte/guia-desif/emitir-guia'); $oFormEmitirGuia->getElement('ano')->setValue($aReceitaDesif->ano_competencia); $oFormEmitirGuia->getElement('mes')->setValue($aReceitaDesif->mes_competencia); $oFormEmitirGuia->getElement('aliq_issqn')->setValue($fAliquota); $oFormEmitirGuia->getElement('total_servico')->setValue($sTotalReceita); $oFormEmitirGuia->getElement('total_iss')->setValue($sTotalIss); $oFormEmitirGuia->getElement('data_guia')->setValue(date('d/m/Y')); $this->view->form = $oFormEmitirGuia; // Verifica se for enviado os dados via $_POST if ($this->getRequest()->isPost()) { // Formata a data de pagamento da guia $sDataInvertida = DBSeller_Helper_Date_Date::invertDate($this->getRequest()->getParam('data_guia')); $oDataPagamento = new DateTime($sDataInvertida); // Gera a guia e emite o PDF da geração $oGuia = Contribuinte_Model_GuiaEcidade::gerarGuiaDesif($oContribuinte, $aParametros['ano'], $aParametros['mes'], $oDataPagamento, $fAliquota, true); $this->view->arquivo = $oGuia->arquivo_guia; } } catch (Exception $oErro) { $this->view->mensagem_erro = $oErro->getMessage(); } }
/** * Salva as contas selecionadas para emissão da Guia DES-IF */ public function salvarEmissaoAction() { parent::noTemplate(); $aParametro = $this->_request->getPost(); if (!empty($aParametro['selecionados'])) { $aParametro['selecionados'] = array_unique($aParametro['selecionados']); } else { $aParametro['selecionados'] = array(); } $oDesifContaGuia = new Contribuinte_Model_DesifContaGuia(); $aRetornoJson = $oDesifContaGuia->salvarEmissaoContas($aParametro); echo $this->getHelper('json')->sendJson($aRetornoJson); }
/** * Lista de DMS Saida */ public function emissaoDmsListaAction() { parent::noTemplate(); $iMes = $this->_getParam('mes_competencia', NULL); $iAno = $this->_getParam('ano_competencia', NULL); $sDmsTipo = $this->_getParam('tipo', NULL); $oContribuinte = $this->_session->contribuinte; $oDms = new Contribuinte_Model_Dms(); $aResultado = $oDms->getDMSSemGuiaNaCompetencia($oContribuinte, $iAno, $iMes, $sDmsTipo); // Filtra as notas isentas foreach ($aResultado as $oDms) { $bEmiteGuia = FALSE; $iQuantidadeNotas = 0; $fValorGuia = 0; // Notas de DMS foreach ($oDms->getDmsNotas() as $oNota) { // Ignora notas prestadas e retidas pelo tomador if ($oDms->getOperacao() == 's' && $oNota->getServicoImpostoRetido() == TRUE) { continue; } // Ignora notas tomadas e retidas pelo tomador if ($oDms->getOperacao() == 'e' && $oNota->getServicoImpostoRetido() == FALSE) { continue; } // nota: anulada, extraviada ou cancelada if ($oNota->getStatus() == 5 || in_array($oNota->getSituacaoDocumento(), array('E', 'C'))) { continue; } // verifica se o contribuinte emite guia if ($oNota->getEmiteGuia()) { $iQuantidadeNotas++; $fValorGuia += $oNota->getServicoValorImposto(); $bEmiteGuia = TRUE; } } // Adiciona a quantidade e o valor total das DMS agrupadas $oDms->iQuantidadeNotas = $iQuantidadeNotas; $oDms->fValorGuia = $fValorGuia; if ($bEmiteGuia) { $aListaDms[] = $oDms; } } $this->view->aDms = isset($aListaDms) ? $aListaDms : array(); $this->view->urlEdicaoDms = '/contribuinte/dms/emissao-manual-saida'; if ($sDmsTipo == Contribuinte_Model_Dms::ENTRADA) { $this->view->urlEdicaoDms = '/contribuinte/dms/emissao-manual-entrada'; } }
/** * Documentação para importação de arquivos */ public function importacaoDocumentacaoAction() { parent::noTemplate(); $sFormato = $this->getRequest()->getParam('formato', 'html'); $oTiposDocumento = new Contribuinte_Model_Nota(); $this->view->aTiposDocumento = $oTiposDocumento->getDescricaoTipoNota($oTiposDocumento::GRUPO_NOTA_DMS); // Ordena por código os tipos de documento asort($this->view->aTiposDocumento); // Gera o pdf if ($sFormato == 'pdf') { $sHtml = $this->view->render('dms/importacao-documentacao.phtml'); $this->renderPdf($sHtml, 'Documentação para Importação de DMS', array('format' => 'A4')); } }
/** * Cancela NFSE */ public function cancelarAction() { parent::noTemplate(); $aDados = $this->getRequest()->getParams(); $oNota = Contribuinte_Model_Nota::getById($aDados['id']); $oContribuinte = $this->_session->contribuinte; $oValidadorEmail = new Zend_Validate_EmailAddress(); $oForm = new Contribuinte_Form_NotaCancelar(); $oForm->getElement('id')->setValue($aDados['id']); if ($oNota instanceof Contribuinte_Model_Nota && $oValidadorEmail->isValid($oNota->getT_email())) { $oForm->getElement('email')->setValue($oNota->getT_email()); } $this->view->nota = $aDados['numero']; $this->view->form = $oForm; }