Pular para o conteúdo
← Voltar para os cases

Motor de workflow multi-etapa construído do zero

Motor genérico de fluxo de trabalho dentro do ERP: cadastro de etapas, avanço com regra por etapa, efeitos colaterais na conclusão e job de SLA que avisa atraso.

Setor
Indústria de confecção e moda
Período
2026
Atuação
Autoria integral
Escala
18 rotinas, entrega em produção

18

rotinas

SLA

com aviso automático de atraso

1

motor genérico, N processos

Tecnologias

InterSystems IRISObjectScriptJob assíncronoRESTNotificação por WhatsApp

Desafio

O cliente tinha vários processos internos com o mesmo formato: uma sequência de etapas, cada uma com responsável, prazo e critério de conclusão. Cada um desses processos vinha sendo resolvido com uma tela específica e regras espalhadas dentro dela. Nenhum tinha prazo controlado. E mudar a ordem de uma etapa significava mexer em código.

O pedido que chegou era para um processo novo. Só que já existiam vários iguais a ele.

Solução

Em vez de entregar a enésima tela específica, construí um motor de workflow genérico dentro do ERP, dividido em quatro peças por responsabilidade.

Cadastro de etapas. A definição do fluxo virou dado: sequência, responsável, prazo, condição de avanço e o que dispara na conclusão. Mudar o fluxo é mudar cadastro.

Motor de ativação e avanço. É a única peça que sabe alterar o estado de uma instância de fluxo. Valida a condição de avanço, registra quem avançou e quando, e ativa a etapa seguinte. Nenhuma tela grava estado direto.

Efeitos colaterais por etapa. A conclusão de uma etapa pode disparar uma ação de negócio. No primeiro processo implantado, uma das etapas cria o produto no cadastro do ERP já com os dados acumulados ao longo do fluxo, o que acabou com a redigitação que existia no fim do processo.

Job de SLA. Roda de forma assíncrona, procura as etapas em atraso e notifica. É o que faz o prazo cadastrado ter efeito prático.

Tem também um painel operacional de consulta, que mostra onde cada instância está parada, há quanto tempo e com quem.

Resultado

O primeiro processo entrou em produção sobre o motor. O segundo foi só cadastro, sem desenvolvimento novo. O ganho de gestão mais visível é o aviso de atraso: uma informação que antes só aparecia quando alguém reclamava passou a chegar sozinha.

O que esse case mostra

Vi que o pedido pontual era um caso de uma classe maior e resolvi a classe. O desenho separa quem define o fluxo, quem altera o estado dele e quem mostra isso na tela. Prazo, aqui, é parte do processo e não relatório que alguém tira depois.

Travou em algum termo? Tem um glossário. Glossário