Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correções Cache, Melhorias PAC GF, Área de Risco #73

Merged
merged 24 commits into from
Jul 13, 2015

Conversation

jarjar123
Copy link
Contributor

Closes #62, #72, #74, #75

A Cache funciona normalmente. É alimentada e utilizada em inúmeras situações.
Porém não abrange as situações em que a conexão não é sequer estabelecida com os Correios (situação muito comum). Nesse caso, a Cache é simplesmente ignorada.
O problema deve ser corrigido com esta PR.

Além disso a Cache só era requisitada em situações do tipo timeout.
Com a modificação a seguir, a Cache é requisitada também em situações de erro 500, página em branco, ou qualquer outra situação que não retorne um XML válido.

@jarjar123
Copy link
Contributor Author

Mais uma exceção que não está sendo capturada, e consequentemente não está requisitando a Cache:
Invalid HTTP response version:
Como é uma exceção relativamente frequente nos Correios, estarei adicionando a correção nesta PR em alguns instantes.

Corrigidos e refatorados os métodos de Validação e Escrita em cache
@jarjar123
Copy link
Contributor Author

Refatorei e corrigi o problema relatado.

Lamento não ter percebido isso antes do lançamento da versão.
Tenho dificuldade em testar a estabilidade do webserver dos Correios, e o comportamento do Zend_Http.
Mas a estabilidade e usabilidade de cada correção está sendo monitorada em ambiente de produção.

@jarjar123
Copy link
Contributor Author

Duas validações adicionais foram criadas.

  • Validar Peso Cúbico

    Através de inúmeros testes, foi constatada mais uma validação, para o serviço PAC GF (41300). Apesar de não divulgar, o Web Service dos Correios limita o peso cúbico em 125 kg.

    Limites máximos divulgados:

    Lado: 150 cm
    Soma: 300cm
    Peso: 30kg (pode variar dependendo do contrato)
    

    Exemplos:

    90 + 90 + 092 = 272cm (90 x 90 x 092 / 6000 = 124,2kg) Ok
    90 + 90 + 093 = 273cm (90 x 90 x 093 / 6000 = 125,5kg) Erro "peso excedido"
    90 + 55 + 150 = 295cm (90 x 55 x 150 / 6000 = 123,7kg) Ok
    90 + 56 + 150 = 296cm (90 x 56 x 150 / 6000 = 126,0kg) Erro "peso excedido"
    90 + 83 + 100 = 273cm (90 x 83 x 100 / 6000 = 124,5kg) Ok
    90 + 84 + 100 = 274cm (90 x 84 x 100 / 6000 = 126,0kg) Erro "peso excedido"
    

    Obs.: O peso utilizado nas cotações acima é irrelevante, desde que esteja dentro dos limites divulgados.

    Para contemplar esta descoberta, e evitar transtornos com o recurso de Divisão da Entrega (ver Opção de dividir a entrega em mais de um pacote #15), foi adicionada a validação de peso cúbico.

  • Validar Faixas de CEP

    Apesar da melhoria agregada com o PAC GF, este não é recebido em todas as unidades dos Correios. Para saber os limites de entrega de cada serviço, basta consultar um representante de vendas dos Correios. Até onde sei quase todos os serviços cobrem a totalidade do território nacional, com exceção do e-SEDEX e PAC GF.
    Visando acertar todas as consultas, e reduzir os riscos de um cotação inválida, foi adicionada a validação por faixas de CEP. E adicionalmente foram configuradas as faixas de CEP publicadas pelos Correios.

@jarjar123 jarjar123 changed the title Fix para Cache Correções Cache, Melhorias PAC GF, Área de Risco Apr 9, 2015
@pedro-teixeira pedro-teixeira self-assigned this Jul 11, 2015
@pedro-teixeira pedro-teixeira added this to the v4.5.0 milestone Jul 11, 2015
@pedro-teixeira
Copy link
Owner

@jarjar123, pode dar um merge da última versão no seu branch? Tem alguns conflitos.

Já está usando essas modificações em produção?

@@ -15,7 +15,7 @@
<config>
<modules>
<PedroTeixeira_Correios>
<version>4.4.0</version>
<version>4.4.1</version>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pode atualizar para 4.5.0?

jarjar123 pushed a commit to jarjar123/correios that referenced this pull request Jul 13, 2015
…Registrada

exibição de "area de risco" e número de volumes ao título do frete.
Refatorados alguns métodos para facilitar estas alterações.
@jarjar123
Copy link
Contributor Author

Olá @pedro-teixeira

Respondendo sua pergunta, esta SHA: 0395c4c é a versão que utilizo em produção desde 06/05 (desconsiderar a atualização do fork).

Não tive tempo de fazer grandes ajustes, por isso deixei em um branch separado, e fora desta PR. Me avisa se quiser incluir isso na nova versão, que eu faço um esforço extra aqui.
Segue as alterações:

  • Adicionada compatibilidade com Pacote de Produtos. Os pesos, dimensões e quantidades são agora carregados, considerando cada sub-produto do Pacote de Produtos.
  • Registrada mensagem de área de risco e número de volumes. Vísível no backend, frontend e e-mails. Ex.: Correios - PAC / Área de Risco / 3 volumes - Em média 12 dias úteis R$119,28

@pedro-teixeira
Copy link
Owner

Obrigado @jarjar123, vou fazer o merge desse e o release da versão v4.5.0. Depois com mais tempo fazemos essa nova feature e o release da v4.6.0.

pedro-teixeira added a commit that referenced this pull request Jul 13, 2015
Correções Cache, Melhorias PAC GF, Área de Risco
@pedro-teixeira pedro-teixeira merged commit 383897f into pedro-teixeira:master Jul 13, 2015
This was referenced Jul 21, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Prazo do adicionais para cada serviços do correios, pac, sedex, e-sedex
3 participants