govpay icon indicating copy to clipboard operation
govpay copied to clipboard

Sostituzione massiva di un IBAN

Open nardil opened this issue 1 year ago • 0 comments

Necessità: Fornire uno strumento che consenta di sostituire un iban di accredito con un'altro per le pendenze non pagate presenti a sistema.

Soluzione: Prevedere la risorsa /utils/replace_iban che prende in input:

  • codice dominio
  • iban vecchio
  • iban nuovo

Il servizio controlla che l'utente sia autorizzato alle operazioni di configurazione dell'ente indicato, che i due conti esistano a sistema e procede a eseguire le seguenti istruzioni in transazione:

UPDATE versamenti v 
SET aggiornamento_aca=true 
FROM singoli_versamenti sv 
WHERE sv.id_versamento=v.id 
AND v.id_dominio='<id_dominio>'
AND v.stato_versamento='NON_ESEGUITO' 
AND (sv.id_iban_accredito=<id_iban_vecchio> OR  sv.id_iban_appoggio=<id_iban_vecchio>);

UPDATE singoli_versamenti 
SET id_iban_accredito = '<id_iban_nuovo>' 
FROM versamenti 
WHERE versamenti.id=singoli_versamenti.id_versamento 
AND versamenti.id_dominio='<id_dominio>'
AND versamenti.stato_versamento='NON_ESEGUITO' 
AND id_iban_accredito='<id_iban_vecchio>';

UPDATE singoli_versamenti 
SET id_iban_appoggio = '<id_iban_nuovo>' 
FROM versamenti 
WHERE versamenti.id=singoli_versamenti.id_versamento 
AND versamenti.id_dominio='<id_dominio>'
AND versamenti.stato_versamento='NON_ESEGUITO' 
AND id_iban_appoggio='<id_iban_vecchio>';

Lato cruscotto prevedere nella sezione del dominio la possibilita' di invocare questo servizio.

Note: L'update del flag aggiornamento_aca presume che pagoPA provvedera' ad integrare nell'ACA l'informazione sul conto di accredito. Allo stato attuale, questo passo e' superfluo.

nardil avatar Feb 28 '24 10:02 nardil