...
Utilizar o script abaixo para obter a data e hora para expirar da transação:
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT current_timestamp +(SELECT cast(valor as integer) FROM pluginintconfig WHERE sglcampo = 'TPI_EXPIRATIONDATE' AND codigoelemento = 'TPI') * interval '1 minute' AS data_expirar; |
Usar o script abaixo para obter qual ação foi cadastrada pelo usuário:
Bloco de código | ||||
---|---|---|---|---|
| ||||
select case when sglcampo ='TPI_OPEN' then valor end as REABRIR, case when sglcampo ='TPI_CANCEL' then valor end as CANCELAR from pluginintconfig p where sglcampo in('TPI_OPEN','TPI_CANCEL') |
Utilizar a consulta abaixo para identificar os pedidos que devem ter a situação atualizada:
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT p.idpedido
FROM pedido p
INNER JOIN pedidopagamento pp
ON p.idpedido = pp.idpedido
INNER JOIN tiposituacaopagamento t
ON t.idtiposituacaopagamento = pp.idtiposituacaopagamento
INNER JOIN tiposituacaopedido tp
ON tp.idtiposituacaopedido = p.idtiposituacaopedido
WHERE t.sgltiposituacaopagamento = 'EXP'
AND (SELECT Count(idpedido)
FROM pedidopagamento p2
INNER JOIN tiposituacaopagamento t2
ON
t2.idtiposituacaopagamento = p2.idtiposituacaopagamento
WHERE t2.sgltiposituacaopagamento in ('PEND', 'APR')
AND p2.idpedido = p.idpedido) = 0
AND p.idnexportadoerp = 0
AND tp.sgltiposituacaopedido = 'PP'; |
Bloco de código | ||||
---|---|---|---|---|
| ||||
update pedidoaprovacao set idtiposituacaoaprovacao = (select idtiposituacaoaprovacao from tiposituacaoaprovacao where sgltiposituacaoaprovacao = 'CA') where idpedido = ?
update pedidoaprovacao set observacao = 'Aprovação de pedido cancelada automaticamente, pois a situação do pedido foi alterada para NÃO FINALIZADO / CANCELADO, devido à transação PIX vinculada a este pedido ter expirado.'
where idpedido = ? |