コード例 #1
0
 /**
  * Retorna uma lista de gráficas em array de objetos
  *
  * @return array|null
  */
 public static function listar()
 {
     $aFiltro = array();
     $aCampos = array('cgm_grafica', 'nome_grafica');
     $aRetorno = parent::consultar('getGraficas', array($aFiltro, $aCampos));
     return is_array($aRetorno) ? $aRetorno : NULL;
 }
コード例 #2
0
 /**
  * Retorna todos os estados de um pais
  *
  * @return array
  */
 public static function getRuas()
 {
     $aRuas = parent::consultar('getRuas', array(array(), self::$aCampos));
     $aRetorno = array();
     if (count($aRuas) > 0) {
         foreach ($aRuas as $oRua) {
             $aRetorno[trim($oRua->cod_logradouro)] = trim($oRua->logradouro);
         }
     }
     return $aRetorno;
 }
コード例 #3
0
 /**
  * Busca generica no webservice
  *
  * @param array $aFiltro
  * @return multitype:Contribuinte_Model_EmpresaEcidade
  */
 private static function get($aFiltro)
 {
     $aEmpresa = parent::consultar('getDadosTomador', array($aFiltro, self::$aCampos));
     $aRetorno = array();
     if (is_array($aEmpresa)) {
         foreach ($aEmpresa as $oEmpresa) {
             $aRetorno[] = new self($oEmpresa);
         }
     }
     return $aRetorno;
 }
コード例 #4
0
 /**
  * Retorna a lista dos bairros da prefeitura
  *
  * @return array
  */
 public static function getBairros()
 {
     $aBairros = parent::consultar('getBairros', array(array(), self::$aCampos));
     $aRetorno = array();
     if (count($aBairros) > 0) {
         foreach ($aBairros as $oBairro) {
             $aRetorno[trim($oBairro->cod_bairro)] = trim($oBairro->bairro);
         }
     }
     return $aRetorno;
 }
コード例 #5
0
 /**
  * Processa o arquivo de importação no ecidade
  *
  * @param integer $iIdUsuario identificador do usuario
  * @param string $sArquivoBase64 Texto do arquivo encodado em base64
  * @return mixed
  */
 public static function processarArquivo($oContador, $oContribuinte, $sArquivoBase64)
 {
     $sCpfCnpjContador = NULL;
     $iInscricaoMunicipalContribuinte = NULL;
     if ($oContador instanceof Administrativo_Model_Usuario) {
         $sCpfCnpjContador = $oContador->getCnpj();
     }
     if ($oContribuinte instanceof Contribuinte_Model_ContribuinteAbstract) {
         $iInscricaoMunicipalContribuinte = $oContribuinte->getInscricaoMunicipal();
     }
     /**
      * @todo O parâmetro $iIdUsuario foi inserido para pode importar arquivos por contador, analisar
      * melhor para tratar por um identificador que existam tanto no contador como no contribuinte
      */
     $aParametros = array('sCpfCnpjContador' => $sCpfCnpjContador, 'iInscricaoMunicipalContribuinte' => $iInscricaoMunicipalContribuinte, 'sArquivoEmBase64' => $sArquivoBase64);
     $oRetornoWebService = WebService_Model_Ecidade::processar('processamentoArquivoDMS', $aParametros);
     return $oRetornoWebService;
 }
コード例 #6
0
 /**
  * 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()}");
     }
 }
コード例 #7
0
 /**
  * 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()}");
     }
 }
コード例 #8
0
 /**
  * Classe responsável por remover o cgm
  * @param integer $iCodigoCgm
  * @throws Exception
  */
 public static function removerCgm($iCodigoCgm)
 {
     if ($iCodigoCgm == NULL) {
         throw new Exception('Código do Cgm não informado.');
     }
     $aDados = array('codigo_cgm' => $iCodigoCgm);
     return WebService_Model_Ecidade::processar('excluirCgm', $aDados);
 }
コード例 #9
0
 public function __construct($o = NULL)
 {
     parent::__construct($o);
 }
コード例 #10
0
 /**
  * Método para alterar o logo do contribuinte no e-cidade
  *
  * @param $iInscricaoMunicipal
  * @param $aFiles
  *
  * @return bool
  */
 public static function setLogoByIm($iInscricaoMunicipal, $aFiles)
 {
     $bRetorno = TRUE;
     if (is_array($aFiles)) {
         $aArquivoLogo = array();
         $aImagemLogo = $aFiles['imagem_logo'];
         $iFileSize = !empty($aImagemLogo['size']) ? $aImagemLogo['size'] : 0;
         if ($iFileSize > 0) {
             $aArquivoLogo['encode'] = base64_encode(file_get_contents($aImagemLogo['tmp_name']));
             $aParametros = array('inscricao_municipal' => $iInscricaoMunicipal, 'arquivo' => $aArquivoLogo['encode']);
             $bRetorno = parent::processar('setEmpresaFotoPrincipal', $aParametros);
             if (empty($sRetorno)) {
                 $bRetorno = FALSE;
             }
         }
     }
     return $bRetorno;
 }
コード例 #11
0
 /**
  * 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;
 }
コード例 #12
0
 private static function get($filtro)
 {
     return parent::consultar('getContadores', array($filtro, self::$campos));
 }
コード例 #13
0
 /**
  * Captura a versão do e-cidade e adiciona na sessão
  *
  * @return Zend_Session_Namespace
  */
 protected static function capturaSessaoVersaoEcidade()
 {
     $oSessao = new Zend_Session_Namespace('sessao');
     if (!isset($oSessao->versaoecidade)) {
         $aCampos = array('ecidadeVersao');
         $oWebService = WebService_Model_Ecidade::consultar('getVersaoEcidade', array(array(), $aCampos));
         // Camptura a versão do e-cidade
         if (!empty($oWebService[0]->ecidadeversao)) {
             $oSessao->versaoecidade = $oWebService[0]->ecidadeversao;
         }
     }
     return $oSessao;
 }
コード例 #14
0
 /**
  * Pesquisa a situação da guia informando um conjunto de numpre e numpar
  *
  * @param $aDadosSituacao
  * @return array
  * @throws Exception
  */
 public static function pesquisaSituacaoGuias($aDadosSituacao)
 {
     // Verifica se foi informado uma coleção de numpre, numpar para consultar a situação
     if (!is_array($aDadosSituacao)) {
         throw new Exception('Informe os dados da guia para consultar a situação!');
     }
     $aParametros = array('aDadosSituacao' => $aDadosSituacao);
     $aRetornoSituacao = WebService_Model_Ecidade::processar('PesquisaSituacaoGuias', $aParametros);
     return $aRetornoSituacao;
 }
コード例 #15
0
 /**
  * Lista de requisicoes e aidofs emitidas
  * pela empresa conforme tipo de documento
  *
  * @param string  $iInscricaoMunicipal
  * @param integer $iTipoDocumento
  * @param string  $sGrupoNotaIss
  * @throws Zend_Exception
  * @return array|NULL
  */
 public static function getRequisicoeseAidofs($iInscricaoMunicipal, $iTipoDocumento = NULL, $sGrupoNotaIss)
 {
     if (!$iInscricaoMunicipal) {
         throw new Zend_Exception('Informe a inscrição municipal');
     }
     if ($sGrupoNotaIss) {
         $aFiltro['codigo_grupo'] = $sGrupoNotaIss;
     }
     $aFiltro['inscricao_municipal'] = $iInscricaoMunicipal;
     $aCampos = array('codigo_requisicaoaidof', 'inscricao_municipal', 'data_lancamento', 'quantidade_solicitada', 'quantidade_liberada', 'status', 'observacao', 'tipo_nota', 'cgm_grafica', 'nome_grafica', 'codigo_usuario', 'nome_usuario', 'descricao_nota', 'codigo_nota', 'nota_inicial', 'nota_final');
     $aRetorno = parent::consultar('getRequisicoeseAidofs', array($aFiltro, $aCampos));
     return is_array($aRetorno) ? $aRetorno : NULL;
 }
コード例 #16
0
 /**
  * Busca a lista de serviços
  *
  * @param bool $lLerDaSessao
  * @return Contribuinte_Model_Servico[]
  */
 public static function getAll($lLerDaSessao = TRUE)
 {
     // Sessão
     $oSessaoServicos = new Zend_Session_Namespace('webservice_servicos');
     // Retorna os serviços do contribuinte na sessão, caso exista
     if (isset($oSessaoServicos->lista) && $lLerDaSessao) {
         return $oSessaoServicos->lista;
     }
     $aCampos = array('cod_atividade', 'atividade', 'deducao', 'estrut_cnae', 'desc_cnae', 'aliq', 'estrutural');
     $aRetorno = array();
     $aFiltro = array();
     $aResultado = parent::consultar('getServicos', array($aFiltro, $aCampos));
     if (is_array($aResultado)) {
         foreach ($aResultado as $uResultado) {
             $aRetorno[] = new self($uResultado);
         }
     }
     // Salva na sessão para evitar consultas no web service
     $oSessaoServicos->lista = $aRetorno;
     return $aRetorno;
 }
コード例 #17
0
 /**
  * Retorna a quantidade de AIDOFs liberadas para emissão conforme tipo de documento
  *
  * @param null $iCodigoContribuinte
  * @param null $iTipoNota
  * @return int
  * @throws Zend_Exception
  */
 public static function getQuantidadeNotasPendentesByContribuinteAndTipoNota($iCodigoContribuinte = NULL, $iTipoNota = NULL)
 {
     if (!$iCodigoContribuinte) {
         throw new Zend_Exception('Informe o código do contribuinte');
     }
     if (!$iTipoNota) {
         throw new Zend_Exception('Informe o tipo de documento');
     }
     $oContribuinte = Contribuinte_Model_Contribuinte::getById($iCodigoContribuinte);
     $aFiltro = array('inscricao_municipal' => $oContribuinte->getInscricaoMunicipal(), 'tipo_documento' => $iTipoNota);
     $aCampos = array('qntLiberadas');
     $oRetorno = WebService_Model_Ecidade::consultar('getQuantidadeAidofsLiberadas', array($aFiltro, $aCampos));
     if (is_array($oRetorno) && isset($oRetorno[0])) {
         return $oRetorno[0]->quantidade_aidofs_liberadas;
     }
     return 0;
 }
コード例 #18
0
 /**
  * Retorna os dados do contribuinte atraves do Cnpj/cpf vindos do WebService
  * @param $sCpfCnpj
  *
  * @return mixed
  * @throws Exception
  */
 public static function getByCpfCnpjWebService($sCpfCnpj)
 {
     if ($sCpfCnpj == '') {
         throw new Exception('CPF / CNPJ não informados.');
     }
     $aParametros = array('cpfcnpj' => $sCpfCnpj);
     return WebService_Model_Ecidade::processar('pesquisaCgmByCpfCnpj', $aParametros);
 }
コード例 #19
0
 /**
  * Retorna todas guias pagas pelo contribuinte optante pelo simples nacional
  * @param Contribuinte_Model_ContribuinteAbstract $oContribuinte contribuinte optante pelo simples
  * @return array
  */
 public static function getGuiasPagasOptanteSimples(Contribuinte_Model_ContribuinteAbstract $oContribuinte)
 {
     $aCampos = array('competencia', 'data_vencimento', 'valor_historico', 'valor_corrigido', 'valor_pago');
     $aParametros = array(array('inscricao_municipal' => $oContribuinte->getInscricaoMunicipal(), 'tipo_debito' => 3), $aCampos);
     $aGuiasPagas = WebService_Model_Ecidade::consultar('getPagamentosEfetuadosOptanteSimples', $aParametros);
     $sRetorno = '';
     if (empty($aGuiasPagas)) {
         $aGuiasPagas = array();
     } else {
         $sRetorno = print_r($aGuiasPagas, true);
         if (count($aGuiasPagas) == 1 && trim($aGuiasPagas[0]) == 'N') {
             $aGuiasPagas = array();
         } else {
             if (trim($sRetorno) === "Não houve retorno do WebService") {
                 $aGuiasPagas = array();
             } else {
                 //Reverte a ordenação para DESC
                 $aGuiasPagas = array_reverse($aGuiasPagas);
             }
         }
     }
     return $aGuiasPagas;
 }
コード例 #20
0
 /**
  * @return null|Zend_Soap_Client
  */
 public static function getSoapClient()
 {
     if (self::$oSoapClient != NULL) {
         return self::$oSoapClient;
     }
     $config = Zend_Registry::get('config');
     self::$oSoapClient = new Zend_Soap_Client(NULL, array('location' => $config->webservice->client->location, 'uri' => $config->webservice->client->uri, 'login' => $config->webservice->cliente->user));
     return self::$oSoapClient;
 }