Implantação da geração de mensagem de forma livre e mudança na engine de mensagem

This commit is contained in:
2026-08-24 17:32:16 -03:00
parent 94bbe7556f
commit 88f19dd8f5
77 changed files with 4650 additions and 25 deletions

View File

@@ -118,6 +118,15 @@ class Admin::EdicaoLancamentosController < ApplicationController
request: request
)
# Mudança na operação feita POR DENTRO do sistema. A maioria das mudanças
# vem de fora e é pega pelo DetectarMudancasOperacaoJob; esta chega na hora
# e sabe exatamente qual NF e o que mudou.
Notificacao::Gatilhos.operacao_alterada(
operacao: anterior['title'].presence || 'SimpliRoute',
o_que_mudou: descrever_mudanca(anterior, atualizada, attrs.keys),
nf: anterior['reference']
)
respond_to do |format|
format.json do
render json: { ok: true, campos: attrs.keys, visita: atualizada.slice(*CAMPOS_EDITAVEIS) }
@@ -157,6 +166,18 @@ class Admin::EdicaoLancamentosController < ApplicationController
private
# "status: pending → completed; observação: … → ÓBITO" — o texto que vai para
# a variável {{o_que_mudou}} do editor de blocos.
def descrever_mudanca(anterior, atualizada, campos)
Array(campos).filter_map do |campo|
de = anterior[campo].to_s.strip
para = atualizada[campo].to_s.strip
next if de == para
"#{campo}: #{de.presence || '(vazio)'}#{para.presence || '(vazio)'}"
end.join('; ').presence || 'lançamento atualizado'
end
def client
@client ||= SimpliRoute::Client.new
end