/** * Retorna vetor de contribuintes. * * @tutorial Com os seguintes campos: * tipo, * cgccpf, * nome, * nome_fanta, * identidade, * inscr_est, * tipo_lograd, * lograd, * issruas.q02_numero, * complemento, * bairro, * cod_ibge, * munic, * uf, * cod_pais, * pais, * cep, * telefone, * fax, * celular, * email, * inscricao, * data_inscricao, * tipo_classificacao, * optante_simples, * sub_tributario, * exigibilidade, * regime, * incentivo_fiscal * @return Administrativo_Model_Contribuinte[] */ public function getContribuintes() { $aUsuariosContribuintes = $this->getUsuariosContribuintes(); $aContribuintes = array(); foreach ($aUsuariosContribuintes as $oUsuarioContribuinte) { $oUsuarioRetorno = Administrativo_Model_UsuarioContribuinte::getContribuinte($oUsuarioContribuinte->getId()); $aContribuintes[$oUsuarioContribuinte->getId()] = $oUsuarioRetorno; } return $aContribuintes; }
/** * Tela para configurar as permissões */ public function permissaoAction() { parent::noTemplate(); $usuario_cont_id = $this->getRequest()->getParam('id'); $usuario_cont = Administrativo_Model_UsuarioContribuinte::getById($usuario_cont_id); $usuario = $usuario_cont->getUsuario(); // Gera um vetor com todas as acoes permitidas a esse usuario $acoes = $usuario_cont == NULL ? array() : $usuario_cont->getAcoes(); $permissoes = array(); foreach ($acoes as $a) { $permissoes[] = $a->getId(); } $this->view->contribuinte = Administrativo_Model_UsuarioContribuinte::getContribuinte($usuario_cont->getId()); $this->view->usuario_contribuinte = $usuario_cont->getId(); $this->view->usuario = $usuario; $this->view->modulos = Administrativo_Model_Modulo::getByAttribute('modulo', array('Contribuinte', 'WebService')); if (count($this->view->modulos) == 1) { $this->view->modulos = array($this->view->modulos); } $this->view->permissoes = $permissoes; $this->view->permissoesAdm = array(); }
/** * Metodo responsavel por criar as guias dms do prestador * * @param Contribuinte_Model_Dms $oDms * @param $sDataPagamento * @return StdClass */ public static function gerarGuiaDmsPrestador(Contribuinte_Model_Dms $oDms, $sDataPagamento) { try { $oDoctrine = Zend_Registry::get('em'); $oDoctrine->getConnection()->beginTransaction(); $aNotas = array(); foreach ($oDms->getDmsNotas() as $oDadosNota) { $oNota = new Contribuinte_Model_DmsNota($oDadosNota); // 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; } // Ignora notas anuladas, extraviadas ou canceladas if ($oNota->getStatus() == 5 || in_array($oNota->getSituacaoDocumento(), array('E', 'C'))) { continue; } // Ignora notas isentas if ($oNota->getEmiteGuia() == FALSE) { continue; } // Ignora notas com aliquota ou servico zerados if (floatval($oNota->getServicoAliquota()) <= 0) { continue; } else { if (floatval($oNota->getServicoValorImposto()) <= 0) { continue; } } $aNotas[$oNota->getId()] = $oNota; } $iMesCompetencia = $oDms->getMesCompetencia(); $iAnoCompetencia = $oDms->getAnoCompetencia(); $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getById($oDms->getIdContribuinte()); $oContribuinte = Administrativo_Model_UsuarioContribuinte::getContribuinte($oDms->getIdContribuinte()); // Salva guia antes de ser gerada no e-cidade $oGuia = new Contribuinte_Model_Guia(); $sDataPagamentoGuia = DBSeller_Helper_Date_Date::invertDate($sDataPagamento); $oGuia->gerarGuiaDmsPrestador($oContribuinte, new DateTime($sDataPagamentoGuia), $iMesCompetencia, $iAnoCompetencia); // Envia Guia para o e-cidade $oGuiaGerar = self::montaDadosGuia($oUsuarioContribuinte, $iAnoCompetencia, $iMesCompetencia, $aNotas, $sDataPagamento, $oGuia->getId()); $oGuiaGerada = self::gerarGuia($oGuiaGerar, $sDataPagamento, self::TIPO_DEBITO_RETIDO); $oDms->setCodigoPlanilha($oGuiaGerada->codigo_planilha); $oDms->setStatus('emitida'); $aDadosNotas = $oGuiaGerar->notas; $aDadosNotas += $oGuiaGerada->notas; foreach ($aDadosNotas as $oNotaProcessada) { $oNota = $aNotas[$oNotaProcessada->codigo_documento]; $oNota->setCodigoNotaPlanilha($oNotaProcessada->codigo_nota_planilha); $oNota->setNumpre($oGuiaGerada->debito_planilha); } $oDms->persist(); $oGuia->complementaGuiaDmsPrestador($oGuiaGerada->debito, $oDms); $oGuiaGerada->arquivo_guia = self::salvarPdf($oGuiaGerada->debito->dados_boleto->arquivo_guia, 'guia_substituto'); $oDoctrine->getConnection()->commit(); return $oGuiaGerada; } catch (Exception $oError) { $oDoctrine->getConnection()->rollback(); return $oError->getMessage(); } }