Mudanças entre as edições de "Cerca Eletrônica"
(12 revisões intermediárias por um outro usuário não estão sendo mostradas) | |||
Linha 11: | Linha 11: | ||
Onde DMP = Distância Máxima Permitida e DCV = Distância entre Cliente e Vendedor. Caso essa comparação seja verdadeira, então o check-in é permitido. Caso seja falso, então o chek-in não será feito e será mostrada uma mensagem informando que não será permitido efetuar o check-in, pois é obrigatório estar dentro da distância máxima permitida. Obviamente, é necessário que o GPS esteja ligado para que esse cálculo seja feito, sendo que se o mesmo estiver desligado, será emitido um erro ao vendedor. | Onde DMP = Distância Máxima Permitida e DCV = Distância entre Cliente e Vendedor. Caso essa comparação seja verdadeira, então o check-in é permitido. Caso seja falso, então o chek-in não será feito e será mostrada uma mensagem informando que não será permitido efetuar o check-in, pois é obrigatório estar dentro da distância máxima permitida. Obviamente, é necessário que o GPS esteja ligado para que esse cálculo seja feito, sendo que se o mesmo estiver desligado, será emitido um erro ao vendedor. | ||
− | Essa distância máxima permitida é representada como um círculo ao redor da coordenada do cliente com um raio igual a | + | Essa distância máxima permitida é representada como um círculo ao redor da coordenada do cliente com um raio igual a DMP. |
− | |||
O cálculo da distância máxima entre duas coordenadas é dado pela seguinte fórmula: | O cálculo da distância máxima entre duas coordenadas é dado pela seguinte fórmula: | ||
+ | *Δλ = | λ′ - λ | | ||
*''cos''('''S''') = ''sin''(φ′) * ''sin''(φ) + ''cos''(φ′) * ''cos''(φ) * ''cos''(Δλ) | *''cos''('''S''') = ''sin''(φ′) * ''sin''(φ) + ''cos''(φ′) * ''cos''(φ) * ''cos''(Δλ) | ||
+ | *'''S''' = ''arcos''(''cos''('''S''')) | ||
*DCV = '''S''' * '''R''' | *DCV = '''S''' * '''R''' | ||
Linha 25: | Linha 26: | ||
*φ = Latitude do Cliente | *φ = Latitude do Cliente | ||
*φ′ = Latitude do Vendedor | *φ′ = Latitude do Vendedor | ||
+ | *λ = Longitude do Cliente | ||
+ | *λ′ = Longitude do Vendedor | ||
*Δλ = Diferença entre as longitudes das duas coordenadas. | *Δλ = Diferença entre as longitudes das duas coordenadas. | ||
*'''S''' = Arco unindo os dois pontos ('''P1''' e '''P2'''), pois uma vez conhecido este valor bastará multiplicá-lo pelo raio da terra para encontrarmos a distância linear. | *'''S''' = Arco unindo os dois pontos ('''P1''' e '''P2'''), pois uma vez conhecido este valor bastará multiplicá-lo pelo raio da terra para encontrarmos a distância linear. | ||
*'''R''' = Raio da Terra que tem valor igual 6.371 km | *'''R''' = Raio da Terra que tem valor igual 6.371 km | ||
− | + | *Imagem ilustrativa: [[http://staff.on.br/jlkm/geopath/Coorden.gif]] | |
− | |||
− | *[ | ||
==Cenários== | ==Cenários== | ||
Linha 39: | Linha 40: | ||
O vendedor João efetua check-in para iniciar a tiragem de pedidos. | O vendedor João efetua check-in para iniciar a tiragem de pedidos. | ||
− | ==== | + | ====Dados==== |
+ | |||
+ | # Vendedor João (-21,0972:43.2075) | ||
+ | # Clientes possíveis de ser atendidos pelo vendedor João | ||
+ | ## Cliente A (-22.4525:46,6361) | ||
+ | #Δλ = 3,4286 | ||
+ | #Limite de distância atendimento 400 km | ||
+ | |||
+ | ====Operação==== | ||
+ | |||
+ | # João acessa a tela de listagem de clientes, seleciona o Cliente A e clica em atender cliente; | ||
+ | # João clica em efetuar check-in; | ||
+ | # Sistema calcula a distância entre a posição do vendedor João e o Cliente A que é de 358km. | ||
+ | |||
+ | ====Assertivas==== | ||
+ | |||
+ | # O vendedor João poderá efetuar a venda para o Cliente A. | ||
+ | |||
+ | ===Cenário de impedimento de Venda=== | ||
+ | |||
+ | O vendedor João efetua check-in para iniciar a tiragem de pedidos. | ||
+ | |||
+ | ====Dados==== | ||
− | # Vendedor João | + | # Vendedor João (-21,0972:43.2075) |
− | # | + | # Clientes possíveis de ser atendidos pelo vendedor João |
− | + | ## Cliente A (-22.4525:46,6361) | |
− | + | #Δλ = 3,4286 | |
− | + | #Limite de distância atendimento 1 km | |
− | |||
− | |||
− | ## Cliente A | ||
− | # | ||
− | |||
− | # | ||
====Operação==== | ====Operação==== | ||
− | # João | + | # João acessa a tela de listagem de clientes, seleciona o Cliente A e clica em atender cliente; |
− | # João | + | # João clica em efetuar check-in; |
− | + | # Sistema calcula a distância entre a posição do vendedor João e o Cliente A que é de 358km. | |
− | # João | ||
====Assertivas==== | ====Assertivas==== | ||
− | # | + | # O vendedor João não poderá efetuar a venda para o Cliente A. |
− | # O | + | # O sistema exibe a seguinte mensagem ao Vendedor: |
− | # | + | #*"Você não está dentro da distância máxima do cliente permitida para efetuar uma venda!" |
+ | |||
+ | ==Observações== | ||
+ | |||
+ | Podem existir pequenos erros de cálculo se as latitudes forem próximas dos polos da terra (devido a mudança de raio). |
Edição atual tal como às 14h30min de 22 de dezembro de 2016
Necessidade
O cliente quer garantir que quando o vendedor/representante faça o check-in durante o atendimento ele esteja realmente visitando o cliente.
Pré Detalhes da Solução Imperativa
No momento que que o vendedor for efetuar o check-in antes de iniciar a venda, o sistema, caso esteja configurado para validar a posição do vendedor, deve calcular a distância entre a posição do vendedor e a posição cadastrada no cliente. Após calcular essa distância, o sistema deve conferir em sua configuração a distância máxima permitida para tiragem do pedido e fazer a seguinte comparação:
- DMP >= DCV
Onde DMP = Distância Máxima Permitida e DCV = Distância entre Cliente e Vendedor. Caso essa comparação seja verdadeira, então o check-in é permitido. Caso seja falso, então o chek-in não será feito e será mostrada uma mensagem informando que não será permitido efetuar o check-in, pois é obrigatório estar dentro da distância máxima permitida. Obviamente, é necessário que o GPS esteja ligado para que esse cálculo seja feito, sendo que se o mesmo estiver desligado, será emitido um erro ao vendedor.
Essa distância máxima permitida é representada como um círculo ao redor da coordenada do cliente com um raio igual a DMP.
O cálculo da distância máxima entre duas coordenadas é dado pela seguinte fórmula:
- Δλ = | λ′ - λ |
- cos(S) = sin(φ′) * sin(φ) + cos(φ′) * cos(φ) * cos(Δλ)
- S = arcos(cos(S))
- DCV = S * R
onde temos:
- P1 = Coordenada geográfica do Cliente
- P2 = Coordenada geográfica do Vendedor
- φ = Latitude do Cliente
- φ′ = Latitude do Vendedor
- λ = Longitude do Cliente
- λ′ = Longitude do Vendedor
- Δλ = Diferença entre as longitudes das duas coordenadas.
- S = Arco unindo os dois pontos (P1 e P2), pois uma vez conhecido este valor bastará multiplicá-lo pelo raio da terra para encontrarmos a distância linear.
- R = Raio da Terra que tem valor igual 6.371 km
- Imagem ilustrativa: [[1]]
Cenários
Cenário feliz
O vendedor João efetua check-in para iniciar a tiragem de pedidos.
Dados
- Vendedor João (-21,0972:43.2075)
- Clientes possíveis de ser atendidos pelo vendedor João
- Cliente A (-22.4525:46,6361)
- Δλ = 3,4286
- Limite de distância atendimento 400 km
Operação
- João acessa a tela de listagem de clientes, seleciona o Cliente A e clica em atender cliente;
- João clica em efetuar check-in;
- Sistema calcula a distância entre a posição do vendedor João e o Cliente A que é de 358km.
Assertivas
- O vendedor João poderá efetuar a venda para o Cliente A.
Cenário de impedimento de Venda
O vendedor João efetua check-in para iniciar a tiragem de pedidos.
Dados
- Vendedor João (-21,0972:43.2075)
- Clientes possíveis de ser atendidos pelo vendedor João
- Cliente A (-22.4525:46,6361)
- Δλ = 3,4286
- Limite de distância atendimento 1 km
Operação
- João acessa a tela de listagem de clientes, seleciona o Cliente A e clica em atender cliente;
- João clica em efetuar check-in;
- Sistema calcula a distância entre a posição do vendedor João e o Cliente A que é de 358km.
Assertivas
- O vendedor João não poderá efetuar a venda para o Cliente A.
- O sistema exibe a seguinte mensagem ao Vendedor:
- "Você não está dentro da distância máxima do cliente permitida para efetuar uma venda!"
Observações
Podem existir pequenos erros de cálculo se as latitudes forem próximas dos polos da terra (devido a mudança de raio).