/** * Retorna uma instancia de Contribuinte Eventual atravez do codigo do contribuinte. * * @param integer $iCodigoContribuinte * @return Contribuinte_Model_ContribuinteEventual|null|object * @throws Exception */ public static function getById($iCodigoContribuinte) { $oContribuinte = Administrativo_Model_UsuarioContribuinte::getById($iCodigoContribuinte); if ($oContribuinte->getCGM() == '') { throw new Exception('Contribuinte eventual não possui CGM.'); } $aParametros = array('cgm' => $oContribuinte->getCGM()); $oCgm = WebService_Model_Ecidade::processar('pesquisaCgmByCgm', $aParametros); if (!empty($oCgm)) { $oContribuinteEventual = Contribuinte_Model_ContribuinteEventual::preencherInstanciaContribuinte($oCgm); $oContribuinteEventual->setIdUsuarioContribuinte($oContribuinte->getId()); return $oContribuinteEventual; } return NULL; }
/** * Busca permissões do usuário */ public function getPermissaoAction() { $iIdUsuarioContribuinte = $this->_getParam('usuario_contribuinte'); $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getById($iIdUsuarioContribuinte); $aRetornoJson = array(); if ($oUsuarioContribuinte) { $aAcoes = $oUsuarioContribuinte->getAcoes(); foreach ($aAcoes as $oAcao) { $aRetornoJson[] = $oAcao->getId(); } } else { $iIdUsuario = $this->_getParam('usuario'); $oUsuario = Administrativo_Model_Usuario::getById($iIdUsuario); foreach ($oUsuario->getAcoes() as $oAcao) { $aRetornoJson[] = $oAcao->getId(); } } echo $this->getHelper('json')->sendJson($aRetornoJson); }
/** * Retorna uma instancia de Contribuinte atravéz do código do contribuinte. * * @param $iCodigoContribuinte * @return Contribuinte_Model_Contribuinte|null|object */ public static function getById($iCodigoContribuinte) { $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getById($iCodigoContribuinte); $oContribuinteWebService = self::getDadosContribuinteEcidade($oUsuarioContribuinte->getIm()); if (empty($oContribuinteWebService)) { return NULL; } $oContribuinte = self::preencherInstanciaContribuinte($oContribuinteWebService); $oContribuinte->setIdUsuarioContribuinte($iCodigoContribuinte); return $oContribuinte; }
/** * Recursos / Previlegios */ protected function _setupResourcesPrivilegesUserAuth() { $aDadosLogin = Zend_Auth::getInstance()->getIdentity(); $oUsuario = Administrativo_Model_Usuario::getByAttribute('login', $aDadosLogin["login"]); $oContribuinte = new Zend_Session_Namespace('nfse'); if (!isset($oContribuinte->contribuinte)) { $aUsuarioAcoes = $oUsuario->getAcoes(); if (is_array($aUsuarioAcoes) && count($aUsuarioAcoes) > 0) { foreach ($aUsuarioAcoes as $oUsuarioAcao) { $sControle = $oUsuarioAcao->getControle()->getIdentidade(); $sModulo = $oUsuarioAcao->getControle()->getModulo()->getIdentidade(); $oResource = new Zend_Acl_Resource("{$sModulo}:{$sControle}"); if (!$this->_acl->has($oResource->getResourceId())) { $this->_acl->addResource($oResource); } $oAcoesExtra = explode(',', trim($oUsuarioAcao->getSubAcoes())); $aAcoesExtra = array_merge($oAcoesExtra, array($oUsuarioAcao->getAcaoAcl())); foreach ($aAcoesExtra as $sAcao) { if (empty($sAcao)) { continue; } $this->_acl->allow('Usuario', $oResource->getResourceId(), $sAcao); } } } } if (!empty($oContribuinte->contribuinte)) { $iCodigoUsuarioContribuinte = $oContribuinte->contribuinte->getIdUsuarioContribuinte(); $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getById($iCodigoUsuarioContribuinte); foreach ($oUsuarioContribuinte->getUsuarioContribuinteAcoes() as $oPermissoes) { $oAcoesExtra = explode(',', trim($oPermissoes->getAcao()->getSubAcoes())); $aAcoesExtra = array_merge($oAcoesExtra, array($oPermissoes->getAcao()->getAcaoAcl())); $sModulo = $oPermissoes->getAcao()->getControle()->getModulo()->getIdentidade(); $sControle = $oPermissoes->getAcao()->getControle()->getIdentidade(); $oResource = new Zend_Acl_Resource("{$sModulo}:{$sControle}"); if (!$this->_acl->has($oResource->getResourceId())) { $this->_acl->addResource($oResource); } foreach ($aAcoesExtra as $sAcao) { if (empty($sAcao)) { continue; } $this->_acl->allow('Usuario', $oResource->getResourceId(), $sAcao); } } } }
/** * Retorna a Instância do contribuinte * @return Contribuinte_Model_ContribuinteAbstract */ public static function getContribuinte($iCodigoContribuinte) { $oContribuinte = Administrativo_Model_UsuarioContribuinte::getById($iCodigoContribuinte); $iCodigoUsuario = $oContribuinte->getId(); $oUsuarioRetorno = NULL; switch ($oContribuinte->getTipoContribuinte()) { case Administrativo_Model_UsuarioContribuinte::CONTRIBUINTE_EVENTUAL: $oUsuarioRetorno = Contribuinte_Model_ContribuinteEventual::getById($iCodigoUsuario); break; case Administrativo_Model_UsuarioContribuinte::CONTRIBUINTE_MUNICIPAL: $oUsuarioRetorno = Contribuinte_Model_Contribuinte::getById($iCodigoUsuario); break; } return $oUsuarioRetorno; }
/** * 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(); } }