Cancelamento de Pedidos em Status Prospect
Histórico de Alterações
Data | Quem | Comentários |
---|---|---|
16/04/2021 | João Ramon | Criação do documento |
Necessidade
Após a criação de um cliente com status "Prospect", este perfil ainda poderá ser editado, caso ainda não esteja efetivado. Quando o cliente é efetivado, ele é direcionado para integração À ERP do cliente. O problema é que, se houver uma falha de integração, o pedido não poderá mais ser modificado, por já estar efetivado, e ficará eternamente com pendência de Integração. Faz-se necessário criar um dispositivo que permita a edição deste perfil (inclusive cancelamento) após efetivação.
Solução
Para atender à demanda solicitada, após o pedido ser finalizado no portal, ele vai para integração. Se o pedido não conseguir ser integrado, deverá ser possível que este pedido retorne para a edição no portal, sob o status de pendente. Esse retorno ao portal deverá ser realizado por meio de um gatilho (trigger), sendo acionado logo após o registro da falha. Com este retorno do pedido ao portal, será possível que algumas modificações possam ser realizadas, a fim de tratar alguma pendência ou para tentar integrar novamente, ou para ser cancelado, caso o usuário deseje. No processo, ainda deve existir um recurso que, quando o pedido for retornado ao portal, o gestor deva ser informado que o pedido não foi integrado, e que necessita sua intervenção.
Ressaltamos ainda, que, no momento do retorno do pedido ao portal, possa existir a possibilidade, ainda que remota, de o pedido ser integrado na tentativa seguinte.
Em resumo, a solução consiste nos seguintes passos:
- Criação de uma pendência relacionada à Falha de Integração na tabela relacionada;
- Criação de um trigger que faça o pedido retornar ao status de pendente;
- Criação de dispositivo de comunicação ao usuário, informando que o pedido não foi integrado, e aguarda configurações, inserindo este passo na tramitação do pedido;
- Após as modificações do usuário, o pedido será novamente submetido à integração. Se integrar, o pedido estará encerrado; caso contrário, deverá retornar ao ponto 1 para novo procedimento.
Implementação
- Todos os pedidos realizados na plataforma são registrados na tabela ACK_LOG_TABLE. Nesta tabela, todas as especificações de pendências são mostradas em vinculação com as chaves de pedidos. A tabela de registro dos bloqueios existentes é a TIPO_BLOC_PEDIDO_SIT.
- É necessária criar uma pendência dentro da tabela TIPO_BLOC_PEDIDO_SIT, contemplando a situação deste cenário (Falha de Integração);
- Após a conclusão das tramitações normais do pedido (efetivação e aprovação), ele estará disponível para integração.
- Se a integração não ocorrer, deverá ser acionado um gatilho de retorno (trigger) para que este pedido possa retornar ao portal, com status de pendente, utilizando o bloqueio de situação criado na tabela TIPO_BLOC_PEDIDO_SIT.
- Além disso, deverá haver um retorno (feedback) para o usuário, informando que o seu pedido não foi integrado, e está novamente disponível no portal para revisão.
- O pedido deverá estar disponível para edição e para cancelamento, caso seja a demanda do usuário.
- Feita as devidas alterações, as seguintes soluções deverão ser implementadas:
- Re-aprovação do pedido para nova tentativa;
- Exclusão do pedido, caso o usuário escolha pelo cancelamento;
- Tramitação do pedido, para reenvio ao vendedor.
Cenários
Criação de Pendência na Tabela TIPO_BLOC_PEDIDO_SIT
CD_TIPO_BLOC
|
DS_TIPO_BLOC
|
CD_TIPO_PEDENCIA
|
---|---|---|
XX | Falha de integração | NULL |
Cenário 1 (Pedido Efetivado e Aprovado pelo vendedor, sem necessidade de aprovação pelo Gestor) - sem Integração ERP
- O vendedor, ao efetivar o pedido, não retornou pendências. Portanto, ele será aprovado e subirá para integração.
- Se houver falha na integração, esta falha ficará registrada na tabela ACK.
- A falha criará a pendencia falha de integração, disparando o trigger que abrirá uma tramitação de pendência, retornando o pedido para o portal.
- Será disparado uma notificação de pendência para o gestor;
- O pedido voltará com o status de pendente, retornando ao gestor.
- O gestor poderá reenviar o pedido numa nova aprovação, ou
- cancelar o pedido, ou
- Enviar para tramitação, devolvendo o pedido ao vendedor.
Cenário 2 (Pedido Efetivado e Pendente, enviado para aprovação pelo Gestor) - sem Integração ERP
- O gestor recebeu o pedido do vendedor com pendencias, e envia para aprovação. Nesse momento ele será submetido à integração.
- Se houver falha na integração, esta falha ficará registrada na tabela ACK.
- A falha criará a pendencia falha de integração, disparando o trigger que abrirá uma tramitação de pendência, retornando o pedido para o portal.
- Será disparado uma notificação de pendência para o gestor;
- O pedido voltará com o status de pendente, retornando ao gestor.
- O gestor poderá reenviar o pedido numa nova aprovação, ou
- cancelar o pedido, ou
- Enviar para tramitação, devolvendo o pedido ao vendedor.
Regras de Negócio
[RN1] - A pendência que ira disparar o trigger para retorno deverá ser criado na tabela TIPO_BLOC_PEDIDO_SIT.
[RN2] - O retorno do pedido será feito imediatamente após a falha na integração, e retorno da pendência 'falha na integração'.
[RN3] - Após o trigger ser acionado, deve ser disparado um mecanismo de feedback para o usuário (ex. disparo de e-mail, informando que o pedido retornou).
[RN4] - Pode ocorrer, ainda de muito remotamente, o risco de o pedido ser integrado no momento entre o processo de retorno. No caso de ocorrência deste processo, o processo de retorno deverá ser cancelado.
Aprovação
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.
GeoSales
Setor | Aprovado Por | Data |
---|---|---|
Desenvolvimento - GeoSales | Pessoa que aprovou | 00/00/0000 |
Integração - GeoSales | Pessoa que aprovou | 00/00/0000 |
Configurações - GeoSales | Pessoa que aprovou | 00/00/0000 |
Empresa solicitante
Setor | Aprovado Por | Data | Assinatura |
---|---|---|---|
Gerente TI - Cliente | ___________________ | ___/___/_____ | ________________________ |
Gerente de Projeto - Cliente | ___________________ | ___/___/_____ | ________________________ |
Gerente Comercial - Cliente | ___________________ | ___/___/_____ | ________________________ |