...
Simulação do Problema:
Para reproduzir o problema é necessário possuir uma ou mais vendas que possuam desconto no item registradas registrado com data/hora posterior a venda que será cancelada.
Ao simular essa situação e tentar realizar o cancelamento é possível observar que a venda é cancelada na sefaz, é impresso o comprovante de cancelamento é exibido a mensagem de venda cancelada com sucesso, porem a venda continua ativa no PDV.
Também foi identificado que ao cancelar uma venda, o pdv realizava uma verificação se existia itens incorretos já registrado no banco vinculado a venda que seria cancelada, porem essa validação estava ocorrendo para todas as vendas registrada posterior a venda que seria cancelada, ocasionando a exclusão indevida de itens e pagamentos, gerando divergência no fechamento do caixa e em outras situações ocasionando falha de sincronismo de venda com o retaguarda, quando o pdv não conseguia realizar a exclusão dos itens, era enviado para o pdv mensagem de erro: Erro ao cancelar venda.
Foi identificado que ocorria falha na API durante a tentativa de atualização da situação da venda para status cancelado, devido a uma condição incorreta para obter dados da venda que seria cancelada, estava sendo retornado todos os registros da tabela venda_item com id maior e igual ao id da venda, dessa forma ao tentar manipular a informação incorreta da venda ocorria falha no banco de dados e a operação de atualização não era concluída.
Para solucionar o problema foi realizado ajuste na rotina que recupera dados da venda após o cancelamento, dessa forma é retornando retornado apenas um único registro de venda para atualização da situação para cancelado.
...