it.cnr.contab.doccont00.comp.IObbligazioneMgr Maven / Gradle / Ivy
/*
* Copyright (C) 2019 Consiglio Nazionale delle Ricerche
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
package it.cnr.contab.doccont00.comp;
import it.cnr.contab.config00.esercizio.bulk.EsercizioBulk;
import java.util.*;
import java.util.Vector;
import it.cnr.contab.doccont00.core.bulk.*;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.comp.ICRUDMgr;
public interface IObbligazioneMgr extends IDocumentoContabileMgr, ICRUDMgr
{
/**
* Aggiornamento in differita dei saldi dell'obbligazione .
* Un documento amministrativo di spesa che agisce in modalità transazionale ha creato/modificato gli importi
* relativi ad un'obbligazione; i saldi di tale obbligazione non possono essere aggiornati subito in quanto
* tale operazione genererebbe dei lock sulle voci del piano che non ne consentirebbere l'utilizzo ad altri utenti;
* pertanto l'aggiornamento dei saldi dell'obbligazione viene differito al momento del salvataggio
* del documento amministrativo.
*
* Pre-post-conditions:
*
* Nome: Aggiorna saldi per obbligazione creata
* Pre: Una richiesta di aggiornamento dei saldi in differita e' stata generata per una obbligazione su capitoli di
* bilancio che e' stata creata nel contesto transazionale del documento ammninistrativo ( progressivo
* obbligazione < 0)
* Post: I saldi dell'obbligazione sono stati aggiornati nel metodo 'aggiornaSaldiInInserimento'
*
* Nome: Aggiorna saldi per obbligazione esistente
* Pre: Una richiesta di aggiornamento dei saldi in differita e' stata generata per una obbligazione su capitoli di
* bilancio che non e' stata creata nel contesto transazionale del documento ammninistrativo ( progressivo
* obbligazione > 0)
* Post: I saldi dell'obbligazione sono stati aggiornati nel metodo 'aggiornaSaldiInModifica'
*
* @param uc lo UserContext che ha generato la richiesta
* @param obbligazione l'ObbligazioneBulk per cui aggiornare i saldi
* @param values la Map che contiene il "pg_ver_rec" iniziale dell'obbligazione e il "checkDisponibilitaCassaEseguito" che indica se
* l'utente ha richiesto la forzatura della disponibilità di cassa (parametro impostato dalla Gestione Obbligazione)
* @param param il parametro che indica se il controllo della disp. di cassa e' necessario (parametro impostato dalla Gestione dei doc. amm.)
*/
public abstract void aggiornaSaldiInDifferita(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk param1,java.util.Map param2,it.cnr.contab.doccont00.core.bulk.OptionRequestParameter param3) throws it.cnr.jada.comp.ComponentException;
/**
* Tutti controlli superati
* PreCondition:
* scadenza(n+1) esiste
* scadenza(n+1).importo > differenza in scadenza(n).importo
* scadenza(n+1) non ha documenti amministrativi associati
* PostCondition:
* Il sistema eseguirà l'aggiornamento dell'importo della scadenza successiva (n+1) dell'obbligazione aggiungendo la differenza fra il nuovo e vecchio importo della scadenza in aggiornamento.
* La differenza è espressa come (scadenzario(n).importo_nuovo - scadenzario(n).importo_vecchio)
* scadenza(n+1).importo <= differenza in scadenza(n).importo
* PreCondition:
* L'utente richiede l'aggiornamento in automatico dell'importo della scadenza successiva (scadenza(n+1)) alla scadenza in elaborazione (scadenza(n)), ma l'aumento dell'importo della scadenza(n) supera il valore dell'importo dell'ultima scadenza dell'obbligazione. Una formula per questa condizione sarebbe (scadenzario(n+1).importo - (scadenzario(n).importo_nuovo - scadenzario(n).importo_vecchio) > 0)
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che l'aggiornamento in automatico dell'importo non è possibile perché l'aumento dell'importo della scadenza(n) è maggiore all'importo dell'ultima scadenza (cercarebbe settare l'importo <= 0). L'attività non è consentita.
* scadenza(n+1) non esiste
* PreCondition:
* L'utente richiede l'aggiornamento in automatico dell'importo della scadenza successiva (scadenza(n+1)) alla scadenza in elaborazione (scadenza(n)), ma la scadenza in aggiornamento è l'ultima scadenza dell'obbligazione.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che l'aggiornamento in automatico dell'importo non è possibile perché non esiste una scadenza successiva. L'attività non è consentita.
* scadenza(n+1) ha doc amministrativi associati
* PreCondition:
* L'utente richiede l'aggiornamento in automatico dell'importo della scadenza successiva (scadenza(n+1))
* alla scadenza in elaborazione (scadenza(n)), ma la scadenza (n+1) ha documenti amministrativi associati
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che la modifica della scadenza non è valida.
*
* @param aUC lo user context
* @param os l'istanza di Obbligazione_scadenzarioBulk della quale deve essere individuata la scadenza successiva per aggiornarne l'importo
* @return la scadenza successiva con l'importo modificato
*/
public abstract it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk aggiornaScadenzaSuccessivaObbligazione(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk param1) throws it.cnr.jada.comp.ComponentException;
public void callRiportaAvanti (UserContext userContext,IDocumentoContabileBulk doc) throws ComponentException;
public void callRiportaIndietro (UserContext userContext,IDocumentoContabileBulk doc) throws ComponentException;
/**
* Lo stato dell'obbligazione è Provvisoria e non esistono ordini
* PreCondition:
* Lo stato dell'obbligazione è Provvisoria e non esiste nessun ordine associato all'obbligazione
* PostCondition:
* Il sistema eseguirà le seguente attività:
* 1) L'aggiornamento dei saldi 'obbligazioni' dei capitoli di spesa CdS.
* (Questo processo viene eseguito dal metodo 'aggiornaCapitoloSaldoObbligazione').
* 2) L'eliminazione di ogni scadenza nello scadenzario dell'obbligazione,
* 3) L'eliminazione dell'obbligazione propria.
*
* Esiste un ordine per l'obbligazione
* PreCondition:
* Per l'obbligazione provvisoria e' stato definito un ordine
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che per cancellare un'obbligazione provvisoria
* per la quale e' già stato emesso un ordine e' necessario prima cancellare l'ordine
*
* @param userContext lo UserContext che ha generato la richiesta
* @param obbligazione ObbligazioneBulk l'obbligazione da cancellare
*/
public abstract void cancellaObbligazioneProvvisoria(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Lo stato dell'obbligazione è Provvisoria - esercizio ok
* PreCondition:
* Lo stato dell'obbligazione è Provvisoria.
* L'esercizio di competenza dell'obbligazione e' uguale all'esercizio di creazione
* PostCondition:
* L'obbligazione viene aggiornata allo stato di 'Definitiva'.
*
* Lo stato dell'obbligazione è Provvisoria - esercizio errore
* PreCondition:
* Lo stato dell'obbligazione è Provvisoria.
* L'esercizio di competenza dell'obbligazione e' maggiore all'esercizio di creazione
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che un'obbligazione con esercizio competenza
* maggiore all'esercizio di creazione non può essere resa definitiva
*
* @param userContext lo UserContext che ha generato la richiesta
* @param obbligazione ObbligazioneBulk l'obbligazione da confermare
* @return ObbligazioneBulk l'obbligazione con lo stato modificato
*
*/
public abstract it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk confermaObbligazioneProvvisoria(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Tutti i controlli superati - contesto non transazionale
* PreCondition:
* Una richiesta di creazione di un'obbligazione e' stata generata
* L'obbligazione ha superato i controlli eseguiti dal metodo 'verificaObbligazione'
* L'obbligazione ha superato i controlli sulla disponibilità di cassa delle voci del piano eseguiti dal metodo 'aggiornaCapitoloSaldoObbligazione'
* L'obbligazione non e' stata creata in un contesto transazionale
* PostCondition:
* L'obbligazione viene creata, i dettagli di tutte le scadenze vengono creati (metodo generaDettagliScadenzaObbligazione) e i saldi
* dei capitoli dei dettagli delle scadenze vengono aggiornati (metodo aggiornaCapitoloSaldoObbligazione)
* Tutti i controlli superati - contesto transazionale
* PreCondition:
* Una richiesta di creazione di un'obbligazione e' stata generata
* L'obbligazione ha superato i controlli eseguiti dal metodo 'verificaObbligazione'
* L'obbligazione ha superato i controlli sulla disponibilità di cassa delle voci del piano eseguiti dal metodo 'aggiornaCapitoloSaldoObbligazione'
* L'obbligazione e' stata creata in un contesto transazionale
* PostCondition:
* L'obbligazione viene creata e i dettagli di tutte le sue scadenze vengono creati (metodo generaDettagliScadenzaObbligazione)
* Errore di verifica obbligazione
* PreCondition:
* Una richiesta di creazione di un'obbligazione e' stata generata e l'obbligazione non ha superato i
* controlli eseguiti dal metodo 'verificaObbligazione'
* PostCondition:
* Viene generata un'ApplicationException che descrive all'utente l'errore che si e' verificato
* Errore di disponibilità di cassa
* PreCondition:
* Una richiesta di creazione di un'obbligazione e' stata generata e l'obbligazione non ha superato i
* controlli di disponibilità di cassa eseguiti dal metodo 'aggiornaCapitoloSaldoObbligazione'
* PostCondition:
* Viene generata un'ApplicationException che descrive all'utente l'errore che si e' verificato
* Errore di disponibilità di cassa - forzatura
* PreCondition:
* Una richiesta di creazione di un'obbligazione e' stata generata e l'obbligazione non ha superato i
* controlli di disponibilità di cassa eseguiti dal metodo 'aggiornaCapitoloSaldoObbligazione'
* e l'utente ha scelto di forzare l'emissione dell'obbligazione
* PostCondition:
* L'obbligazione viene creata, i dettagli di tutte le scadenze vengono creati (metodo generaDettagliScadenzaObbligazione) e i saldi
* dei capitoli dei dettagli delle scadenze vengono aggiornati (metodo aggiornaCapitoloSaldoObbligazione)
*
* @param aUC lo user context
* @param bulk l'istanza di ObbligazioneBulk da creare
* @return l'istanza di ObbligazioneBulk creata
*
*/
public abstract it.cnr.jada.bulk.OggettoBulk creaConBulk(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Obbligazione provvisoria
* PreCondition:
* E' stata generata la richiesta di cancellazione di un' obbligazione che ha lo stato provvisorio
* PostCondition:
* L'obbligazione viene fisicamente cancellata tramite il metodo cancellaObbligazioneProvvisoria
*
* Obbligazione definitiva
* PreCondition:
* E' stata generata la richiesta di cancellazione di un' obbligazione che ha lo stato definitivo
* PostCondition:
* L'obbligazione viene stornata e cancellata logicamente tramite il metodo annullaObbligazioneDefinitiva
*
* @param aUC lo user context
* @param bulk l'istanza di ObbligazioneBulk da eliminare
*
*/
public abstract void eliminaConBulk(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* ricerca ordine
* PreCondition:
* E' stata generata la richiesta di ricerca dell'ordine (se esiste) associato all'obbligazione
* PostCondition:
* L'ordine associato all'obbligazione viene restituito
*
* @param userContext it.cnr.jada.UserContext lo userContext
* @param obblig ObbligazioneBulk l'oobligazione per la quale e' necessario individuare l'ordine
* @return it.cnr.contab.doccont00.ordine.bulk.OrdineBulk l'ordine asssociato all'obbligazione oppure null se nessun ordine e'
* stato definito per l'obbligazione
*/
public abstract it.cnr.contab.doccont00.ordine.bulk.OrdineBulk findOrdineFor(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* creazione scadenza/modifica importo - imputazione automatica
* PreCondition:
* L'utente ha richiesto l'imputazione automatica dell'obbligazione e ha creato una scadenza o ha modificato l'importo
* di una scadenza esistente
* PostCondition:
* Per ogni linea di attività selezionata dall'utente e presente nel piano di gestione viene creato un dettaglio di
* scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerLineeAttivitaDaPdG);
* Analogamente, per ogni linea di attività selezionata dall'utente e non presente nel piano di gestione viene creato
* un dettaglio di scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerNuoveLineeAttivita);
* il metodo calcolaPercentualeImputazioneObbligazione viene utilizzato per determinare le percentuali
* assegnate ad ogni linea d'attività/capitolo e per riaprtire l'importo della scadenza sui vari dettagli
* in base a tali percentuali
* creazione scadenza/modifica importo - imputazione manuale
* PreCondition:
* L'utente ha specificato l'imputazione manuale dell'obbligazione e ha creato una scadenza o ha modificato l'importo
* di una scadenza esistente
* PostCondition:
* Per ogni linea di attività selezionata dall'utente e presente nel piano di gestione viene creato un dettaglio di
* scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerLineeAttivitaDaPdG);
* Analogamente, per ogni linea di attività selezionata dall'utente e non presente nel piano di gestione viene creato
* un dettaglio di scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerNuoveLineeAttivita);
* conferma imputazione finanziaria - imputazione automatica
* PreCondition:
* L' utente ha completato l'imputazione finanziaria, confermando le linee di attività selezionate, e ha richiesto la ripartizione automatica degli importi
* delle scadenze
* PostCondition:
* Per ogni scadenza dell'obbligazione e per ogni linea di attività selezionata dall'utente e presente nel piano di gestione viene creato un dettaglio di
* scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerLineeAttivitaDaPdG);
* Analogamente, per ogni scadenza dell'obbligazione e per ogni linea di attività selezionata dall'utente e non presente nel piano di gestione viene creato
* un dettaglio di scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerNuoveLineeAttivita);
* il metodo calcolaPercentualeImputazioneObbligazione viene utilizzato per determinare le percentuali
* assegnate ad ogni linea d'attività/capitolo e per ripartire l'importo della scadenza sui vari dettagli
* in base a tali percentuali
* conferma imputazione finanziaria - imputazione manuale
* PreCondition:
* L' utente ha completato l'imputazione finanziaria, confermando le linee di attività selezionate, e ha selezionato la ripartizione manuale degli importi
* delle scadenze
* PostCondition:
* Per ogni scadenza dell'obbligazione e per ogni linea di attività selezionata dall'utente e presente nel piano di gestione viene creato un dettaglio di
* scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerLineeAttivitaDaPdG);
* Analogamente, per ogni scadenza dell'obbligazione e per ogni linea di attività selezionata dall'utente e non presente nel piano di gestione viene creato
* un dettaglio di scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerNuoveLineeAttivita);
* modifica imputazione finanziaria - imputazione automatica
* PreCondition:
* L' utente ha modificato l'imputazione finanziaria definita per l'obbligazione e ha richiesto la ripartizione automatica degli importi
* delle scadenze
* PostCondition:
* Tutti i dettagli delle scadenze dell'obbligazione che facevano riferimento a linee di attività non più selezionate
* vengono cancellati
* Per ogni scadenza dell'obbligazione e per ogni nuova linea di attività selezionata dall'utente e presente nel piano di gestione viene creato un dettaglio di
* scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerLineeAttivitaDaPdG);
* Analogamente, per ogni scadenza dell'obbligazione e per ogni nuova linea di attività selezionata dall'utente e non presente nel piano di gestione viene creato
* un dettaglio di scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerNuoveLineeAttivita);
* il metodo calcolaPercentualeImputazioneObbligazione viene utilizzato per determinare le percentuali
* assegnate ad ogni linea d'attività/capitolo e per ripartire l'importo della scadenza sui vari dettagli
* in base a tali percentuali
* modifica imputazione finanziaria - imputazione manuale
* PreCondition:
* L' utente ha modificato l'imputazione finanziaria definita per l'obbligazione e ha selezionato la ripartizione manuale degli importi
* delle scadenze
* PostCondition:
* Tutti i dettagli delle scadenze dell'obbligazione che facevano riferimento a linee di attività non più selezionate
* vengono cancellati
* Per ogni scadenza dell'obbligazione e per ogni nuova linea di attività selezionata dall'utente e presente nel piano di gestione viene creato un dettaglio di
* scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerLineeAttivitaDaPdG);
* Analogamente, per ogni scadenza dell'obbligazione e per ogni nuova linea di attività selezionata dall'utente e non presente nel piano di gestione viene creato
* un dettaglio di scadenza Obbligazione_scad_vocebulk (metodo creaDettagliScadenzaPerNuoveLineeAttivita);
* Errore - imputazione automatica per linea att SINGOLA
* PreCondition:
* L'utente ha richiesto l'imputazione automatica, ha inoltre selezionato delle linee di attività dal piano di gestione
* con categoria di dettaglio = SINGOLA e per le quali la somma delle colonne I,K,Q,S,U e' nullo
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare all'utente l'impossibilità di effettuare in automatico la
* ripartizione dell'importo della scadenza sulle linee di attività scelte
* Errore - imputazione automatica per linea att SCARICO
* PreCondition:
* L'utente ha richiesto l'imputazione automatica, ha inoltre selezionato delle linee di attività dal piano di gestione
* con categoria di dettaglio = SCARICO e per le quali la somma delle colonne J,L,R,T e' nullo
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare all'utente l'impossibilità di effettuare in automatico la
* ripartizione dell'importo della scadenza sulle linee di attività scelte
* Errore - percentuali per nuove linee att.
* PreCondition:
* L'utente ha specificato solo delle linee di attività che non sono presenti nel piano di gestione e la somma
* delle percentuali inserite dall'utente da utilizzare nella ripartizione dell'importo di ogni scadenza e' diversa
* da 100.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare l'errore all'utente
* Errore - percentuali per nuove linee att. > 100
* PreCondition:
* L'utente ha specificato per le linee di attività che non sono presenti nel piano di gestione
* delle percentuali da utilizzare nella ripartizione dell'importo di ogni scadenza e la loro somma e'
* maggiore di 100
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare l'errore all'utente
*
* @param userContext lo UserContext che ha generato la richiesta
* @param obbligazione ObbligazioneBulk l'obbligazione per cui creare i dettagli scadenza
* @param scadenzario Obbligazione_scadenzarioBulk la scadenza dell'obbligazione per cui creare i dettagli oppure
* null se e' necessario generare i dettagli per tutte le scadenze
*
*
*/
public abstract it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk generaDettagliScadenzaObbligazione(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1,it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk param2) throws it.cnr.jada.comp.ComponentException;
/**
* creazione prospetto
* PreCondition:
* L'utente richiede la visualizzazione del prospetto spese per una obbligazione.
* PostCondition:
* L'applicazione crea un report contenente la situazione 'spese' per una obbligazione e per i cdr che
* l'utente ha seelzionato.
* Il prospetto avrà una riga per ogni linea di attività relativa ai piani di gestione dei CdR
* considerati nell'obbligazione. Il formatto sarà:
*
* Colonna 1: Linea di attività
* Colonna 2: Spese previste nel pdg, calcolati per il 1° esercizio = somma degli importi delle colonne (I), (K), (Q), (S) e (U)
* Colonna 3: Spese previste nel pdg, calcolati per il 2° esercizio = somma degli importi delle colonne (AC), (AE) e (AG)
* Colonna 4: Spese previste nel pdg, calcolati per il 3° esercizio = somma degli importi delle colonne (AC), (AE) e (AG)
* Colonna 5: Totale Obbligazioni emesse i cui dettagli corrispondono per CdR e LdA nel 1° esercizio
* Colonna 6: Totale Obbligazioni emesse i cui dettagli corrispondono per CdR e LdA nel 2° esercizio
* Colonna 7: Totale Obbligazioni emesse i cui dettagli corrispondono per CdR e LdA nel 3° esercizio
* valutazione prospetto
* PreCondition:
* I dati necessari per il prospetto sono stati raccolti.
* PostCondition:
* Il delta risultante dal prospetto (Colonna 5 - Colonna 2, Colonna 6 - Colonna 3, Colonna 7 - Colonna4 ) viene confrontato
* con l'importo del totale delle linee di attività
* appartenenti allo stesso CdR, nel caso che detto importo sia maggiore del delta risultante,
* il sistema restituisce un messaggio di 'segnalazione' (non bloccante) con il quale avverte il responsabile
* della possibilità di 'sfondamento'. Il controllo sarà ripetuto per ogni cdr coinvolto nei dettagli delle obbligazioni.
*
* @param userContext lo UserContext che ha generato la richiesta
* @param cdrList la lista di CdrBulk per cui generare il prospetto spese
* @return la lista di V_obblig_pdg_saldo_laBulk coi dati relativi alle linee di attività dei Cdr selezionati
*
*/
public abstract java.util.List generaProspettoSpeseObbligazione(it.cnr.jada.UserContext param0,java.util.List param1) throws it.cnr.jada.comp.ComponentException;
/**
* Esercizio non aperto
* PreCondition:
* L'esercizio di scrivania e' in uno stato diverso da APERTO
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che non e' possibile creare obbligazioni.
* Esercizio aperto
* PreCondition:
* L'esercizio di scrivania e' in stato APERTO
* PostCondition:
* una istanza di ObbligazioneBulk viene restituita con impostata la data del giorno come data di emissione e
* il Cds da cui dipende l'UO di scrivania come Cds dell'obbligazione
*
* @param aUC lo user context
* @param bulk l'istanza di ObbligazioneBulk da inizializzare
* @return l'istanza di ObbligazioneBulk inizializzata
*
*/
public abstract it.cnr.jada.bulk.OggettoBulk inizializzaBulkPerInserimento(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Obbligazione non esiste
* PreCondition:
* L'obbligazione richiesta non esiste.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che l'obbligazione non è stata trovata. L'attività non è consentita.
* Obbligazione trovata
* PreCondition:
* L'obbligazione richiesta è stata trovata.
* PostCondition:
* L'obbligazione viene caricata normalmente. L'imputazione finanziaria è impostata una volta sola al livello di testata, e poi vale per tutte le scadenze nello scadenzario. In questo caso l'applicazione ricava le informazione per l'imputazione finanziaria dalla prima scadenza dello scadenzario.
* Scadenzario dell'obbligazione non esiste
* PreCondition:
* L'obbligazione richiesta esiste, ma lo scadenzario per l'obbligazione non esiste.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che lo scadenzario non è stato trovato. L'attività non è consentita.
*
* @param aUC lo user context
* @param bulk l'istanza di ObbligazioneBulk da inizializzare
* @return l'istanza di ObbligazioneBulk inizializzata
*
*/
public abstract it.cnr.jada.bulk.OggettoBulk inizializzaBulkPerModifica(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* inizializzazione per inserimento
* PreCondition:
* La richiesta di inizializzazione di un ImpegnoPGiroBulk per inserimento
* e' stata generata
* PostCondition:
* Viene impostata la data di registrazione dell'obbligazione con la data odierna,
* il codice Cds e il codice Cds di origine con il codice Cds di scrivania
*
* @param aUC lo user context
* @param bulk l'istanza di ObbligazioneBulk da inizializzare
* @return l'istanza di ObbligazioneBulk inizializzata
*/
public abstract it.cnr.jada.bulk.OggettoBulk inizializzaBulkPerRicerca(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Tipologia CdS è 'SAC'
* PreCondition:
* L'utente ha specificato una voce del piano in testata di una obbligazione appartenente al cds SAC
* PostCondition:
* L'elenco degli articoli di spesa CDS presenti nel piano dei conti Parte 1, aventi come titolo-capitolo la voce del piano selezionata dall'utente,
* viene presentato all'utente, evidenziandone la funzione
* Tipologia CdS è diverso da 'SAC'
* PreCondition:
* L'utente ha specificato una voce del piano in testata di una obbligazione appartenente ad un cds con tipologia diversa da SAC
* PostCondition:
* L'elenco dei capitoli di spesa CDS presenti nel piano dei conti Parte 1, aventi come titolo-capitolo la voce del piano selezionata dall'utente,
* viene presentato all'utente, evidenziandone la funzione
*
* @param aUC lo UserContext che ha generato la richiesta
* @param obbligazione ObbligazioneBulk l'obbligazione per cui recuperare i capitoli
* @return ObbligazioneBulk l'obbligazione con i capitoli impostati
*
*/
public abstract it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk listaCapitoliPerCdsVoce(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* CdS diverso da 'SAC' - obbligazione non Spese per Costi Altrui
* PreCondition:
* L'utente ha selezionato dei capitoli di spesa CDS per un'obbligazione appartenente ad un cds diverso da SAC e per la
* quale non e' stato selezionato il flag Spese per Costi Altrui
* PostCondition:
* Viene estratto l'elenco dei Cdr appartenenti all'uo di scrivania per i quali sono presenti nel piano di gestione delle linee di attività,
* con categoria dettaglio = SINGOLA e
* la cui funzione e' uguale ad una di quelle dei capitoli di spesa selezionati dall'utente
* CdS diverso da 'SAC' - obbligazione Spese per Costi Altrui
* PreCondition:
* L'utente ha selezionato dei capitoli di spesa CDS per un'obbligazione appartenente ad un cds diverso da SAC e per la
* quale e' stato selezionato il flag Spese per Costi Altrui
* PostCondition:
* Viene estratto l'elenco dei Cdr appartenenti all'uo di scrivania per i quali sono presenti nel piano di gestione delle linee di attività,
* con categoria dettaglio = SINGOLA e
* la cui funzione e' uguale ad una di quelle dei capitoli di spesa selezionati dall'utente; a tale elenco viene aggiunto
* quello ottenuto estraendo i Cdr per i quali sono presenti nel piano di gestione delle linee di attività,
* con categoria dettaglio = SCARICO e la cui linea di attività collegata appartiene all'uo di scrivania e
* la cui funzione e' uguale ad una di quelle dei capitoli di spesa selezionati dall'utente
* CdS 'SAC' - obbligazione non Spese per Costi Altrui
* PreCondition:
* L'utente ha selezionato degli articoli di spesa CDS per un'obbligazione appartenente al cds SAC e per la
* quale non e' stato selezionato il flag Spese per Costi Altrui
* PostCondition:
* Fra tutti i Cdr selezionati implicitamente dall'utente con la selezione degli articoli viene estratto
* l'elenco di quelli per i quali sono presenti nel piano di gestione delle linee di attività
* con categoria dettaglio = SINGOLA e
* il cui cdr e funzione sono uguali ad uno di quelli degli articoli selezionati dall'utente
* CdS 'SAC' - obbligazione Spese per Costi Altrui
* PreCondition:
* L'utente ha selezionato degli articoli di spesa CDS per un'obbligazione appartenente al cds SAC e per la
* quale e' stato selezionato il flag Spese per Costi Altrui
* PostCondition:
* Fra tutti i Cdr selezionati implicitamente dall'utente con la selezione degli articoli viene estratto
* l'elenco di quelli per i quali sono presenti nel piano di gestione delle linee di attività
* con categoria dettaglio = SINGOLA e
* il cui cdr e funzione e' uguale ad una di quelle degli articoli selezionati dall'utente; a tale elenco viene aggiunto
* quello ottenuto estraendo i Cdr per i quali sono presenti nel piano di gestione delle linee di attività,
* con categoria dettaglio = SCARICO e la cui linea di attività collegata ha cdr e funzione uguali
* ad uno di quelli selezionati dall'utente con la selezione degli articoli di spesa
*
* @param aUC lo UserContext che ha generato la richiesta
* @param obbligazione ObbligazioneBulk l'obbligazione per cui recuperare i cdr
* @return ObbligazioneBulk l'obbligazione con i cdr impostati
*/
public abstract java.util.Vector listaCdrPerCapitoli(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* CdS diverso da 'SAC' - obbligazione non Spese per Costi Altrui
* PreCondition:
* L'utente ha selezionato i capitoli di spesa CDS e i cdr per eseguire l'imputazione finanziaria
* di un'obbligazione appartenente ad un cds diverso da SAC e per la
* quale non e' stato selezionato il flag Spese per Costi Altrui
* PostCondition:
* Vengono estratte tutte le linee di attività presenti nel piano di gestione con categoria dettaglio = SINGOLA e
* cdr uguale ad uno di quelli selezionati dall'utente
* e funzione uguale ad una di quelle selezionate implicitamente dall'utente con la selezione dei capitoli.
* CdS diverso da 'SAC' - obbligazione Spese per Costi Altrui
* PreCondition:
* L'utente ha selezionato i capitoli di spesa CDS e i cdr per eseguire l'imputazione finanziaria
* di un'obbligazione appartenente ad un cds diverso da SAC e per la
* quale e' stato selezionato il flag Spese per Costi Altrui
* PostCondition:
* Vengono estratte tutte le linee di attività presenti nel piano di gestione con categoria dettaglio = SINGOLA e
* cdr uguale ad uno di quelli selezionati dall'utente
* e funzione uguale ad una di quelle selezionate implicitamente dall'utente con la selezione dei capitoli;
* a tale elenco viene aggiunto quello ottenuto estraendo le linee di attività presenti nel piano di gestione
* con categoria dettaglio = SCARICO e la cui linea di attività collegata appartiene all'uo di scrivania e
* la cui funzione e' uguale ad una di quelle dei capitoli di spesa selezionati dall'utente
* CdS 'SAC' - obbligazione non Spese per Costi Altrui
* PreCondition:
* L'utente ha selezionato i capitoli di spesa CDS e i cdr per eseguire l'imputazione finanziaria
* di un'obbligazione appartenente al cds SAC e per la
* quale non e' stato selezionato il flag Spese per Costi Altrui
* PostCondition:
* Vengono estratte tutte le linee di attività presenti nel piano di gestione con categoria dettaglio = SINGOLA e
* cdr uguale ad uno di quelli selezionati dall'utente
* e cdr e funzione uguali ad uno di quelli selezionati implicitamente dall'utente con la selezione degli articoli.
* CdS 'SAC' - obbligazione Spese per Costi Altrui
* PreCondition:
* L'utente ha selezionato i capitoli di spesa CDS e i cdr per eseguire l'imputazione finanziaria
* di un'obbligazione appartenente al cds SAC e per la
* quale e' stato selezionato il flag Spese per Costi Altrui
* PostCondition:
* Vengono estratte tutte le linee di attività presenti nel piano di gestione con categoria dettaglio = SINGOLA e
* cdr uguale ad uno di quelli selezionati dall'utente
* e cdr e funzione uguali ad uno di quelli selezionati implicitamente dall'utente con la selezione degli articoli;
* a tale elenco viene aggiunto quello ottenuto estraendo le linee di attività presenti nel piano di gestione
* con categoria dettaglio = SCARICO il cui cdr e' uno di quelli selezionati dall'utente e la cui linea di attività
* collegata ha cdr e funzione uguale ad uno di quelli selezionati implicitamente dall'utente
* con la selezione degli articoli
*
* @param aUC lo UserContext che ha generato la richiesta
* @param obbligazione ObbligazioneBulk l'obbligazione per cui recuperare le linee di attività
* @return ObbligazioneBulk l'obbligazione con le linee di attività impostate
*
*/
public abstract java.util.Vector listaLineeAttivitaPerCapitoliCdr(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Lock scadenza
* PreCondition:
* E' stato richiesto l'inserimento di un lock sulla scadenza di un'obbligazione
* PostCondition:
* Il record relativo alla scadenza e' stato messo in lock e non e' pertanto consentito ad altre transazioni
* l'accesso a tale scadenza
*
* @param userContext lo UserContext che ha generato la richiesta
* @param scadenza Obbligazione_scadenzarioBulk da mettere in lock
*
*/
public abstract void lockScadenza(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.IScadenzaDocumentoContabileBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Tutti i controlli superati - contesto non transazionale
* PreCondition:
* Una richiesta di modifica di un'obbligazione e' stata generata
* L'obbligazione ha superato i controlli eseguiti dal metodo 'verificaObbligazione'
* L'obbligazione ha superato i controlli sulla disponibilità di cassa delle voci del piano eseguiti dal metodo 'aggiornaCapitoloSaldoObbligazione'
* L'obbligazione non e' stata modificata in un contesto transazionale
* PostCondition:
* L'obbligazione viene aggiornata
* I dettagli di tutte le scadenze vengono aggiornati (metodo generaDettagliScadenzaObbligazione)
* I saldi dei capitoli dei dettagli delle scadenze vengono aggiornati (metodo aggiornaCapitoloSaldoObbligazione)
* Lo stato COFI/COGE degli eventuali doc. amministrativi associati all'obbligazione e' stato aggiornato
* Tutti i controlli superati - contesto transazionale
* PreCondition:
* Una richiesta di modifica di un'obbligazione e' stata generata
* L'obbligazione ha superato i controlli eseguiti dal metodo 'verificaObbligazione'
* L'obbligazione ha superato i controlli sulla disponibilità di cassa delle voci del piano eseguiti dal metodo 'aggiornaCapitoloSaldoObbligazione'
* L'obbligazione e' stata modificata in un contesto transazionale
* PostCondition:
* L'obbligazione viene aggiornata e i dettagli di tutte le scadenze vengono aggiornati (metodo generaDettagliScadenzaObbligazione)
* Errore di verifica obbligazione
* PreCondition:
* Una richiesta di modifica di un'obbligazione e' stata generata e l'obbligazione non ha superato i
* controlli eseguiti dal metodo 'verificaObbligazione'
* PostCondition:
* Viene generata un'ApplicationException che descrive all'utente l'errore che si e' verificato
* Errore di disponibilità di cassa
* PreCondition:
* Una richiesta di modifica di un'obbligazione e' stata generata e l'obbligazione non ha superato i
* controlli di disponibilità di cassa eseguiti dal metodo 'aggiornaCapitoloSaldoObbligazione'
* PostCondition:
* Viene generata un'ApplicationException che descrive all'utente l'errore che si e' verificato
* Errore di disponibilità di cassa - forzatura
* PreCondition:
* Una richiesta di modifica di un'obbligazione e' stata generata e l'obbligazione non ha superato i
* controlli di disponibilità di cassa eseguiti dal metodo 'aggiornaCapitoloSaldoObbligazione'
* e l'utente ha scelto di forzare l'emissione dell'obbligazione
* PostCondition:
* L'obbligazione viene modificata, i dettagli di tutte le scadenze vengono modificati (metodo generaDettagliScadenzaObbligazione) e i saldi
* dei capitoli dei dettagli delle scadenze vengono aggiornati (metodo aggiornaCapitoloSaldoObbligazione)
*
* @param aUC lo user context
* @param bulk l'istanza di ObbligazioneBulk da modificare
* @return l'istanza di ObbligazioneBulk modificata
*
*/
public abstract it.cnr.jada.bulk.OggettoBulk modificaConBulk(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1) throws it.cnr.jada.comp.ComponentException;
/*
* Modifica l'importo di una scadenza e aggiunge la differenza alla scadenza successiva oppure modifica l'importo di una
* scadenza e l'importo della testata dell'obbligazione
*
* Pre-post-conditions:
*
* Nome: Modifica Scadenza
* Pre: E' stata generata la richiesta di modifica l'importo di una scadenza
* Post: L'importo della scadenza e della testata dell'obbligazione sono stati modificati
*
* Nome: Modifica Scadenza successiva
* Pre: E' stata generata la richiesta di modifica dell'importo di una scadenza e la differenza fra il nuovo importo
* e l'importo precedente deve essere riportato sulla scadenza successiva
* Post: L'importo della scadenza e della scadenza successiva sono stati modificati
*
* Nome: Scadenza successiva - Errore ultima scadenza
* Pre: E' stata generata la richiesta di modifica dell'importo di una scadenza e non esiste una scadenza
* successiva su cui scaricare la differenza fra l'importo attuale scadenza e il nuovo importo
* Post: Viene generata un'ApplicationException per segnalare l'impossibilità di aggiornamento della scadenza
*
* Nome: Scadenza successiva - Errore importo scadenza successiva
* Pre: E' stata generata la richiesta di modifica dell'importo di una scadenza e (im_scadenza_successisva -
* nuovo_im_scadenza + im_scadenza) e' minore di 0
* Post: Viene generata un'ApplicationException per segnalare l'impossibilità di aggiornamento della scadenza
*
* Nome: Scadenza successiva - Errore doc amministrativi associati
* Pre: E' stata generata la richiesta di modifica dell'importo di una scadenza e la scadenza successiva ha
* già dei documenti amministrativi associati
* Post: Viene generata un'ApplicationException per segnalare l'impossibilità di aggiornamento della scadenza
*
* Nome: Errore imputazione manuale
* Pre: E' stata generata la richiesta di modifica dell'importo di una scadenza e l'imputazione finanziaria
* dell'obbligazione non e' automatica
* Post: Viene generata un'ApplicationException per segnalare l'impossibilità di aggiornamento della scadenza
*
* @param userContext lo userContext che ha generato la richiesta
* @param scad l'istanza di Obbligazione_scadenzarioBulk il cui importo deve essere modificato
* @param nuovoImporto il valore del nuovo importo che la scadenza di obbligazione dovrà assumere
* @param modificaScadenzaSuccessiva il flag che indica se modificare la testata dell'obbligazione o modificare la scadenza
* successiva dell'obbligazione
* @return l'istanza di Obbligazione_scadenzarioBulk con l'importo modificato
*/
public abstract it.cnr.contab.doccont00.core.bulk.IScadenzaDocumentoContabileBulk modificaScadenzaInAutomatico(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.IScadenzaDocumentoContabileBulk param1,java.math.BigDecimal param2,boolean param3) throws it.cnr.jada.comp.ComponentException;
/**
* Tutti controlli superati
* PreCondition:
* Non esistono documenti amministrativi per l'obbligazione.
* Non esitono ordini associati all'obbligazione
* Lo stato dell'obbligazione è 'DEFINITIVA'
* PostCondition:
* Il sistema eseguirà le seguente attività:
* 1) L'aggiornamento dei saldi 'obbligazioni' dei capitoli di spesa CdS
* (Questo processo viene eseguito dal metodo 'aggiornaCapitoloSaldoObbligazione').
* 2) L'azzeramento dell'importo di ogni dettaglio di ogni scadenza dell'obbligazione,
* 3) L'azzeramento dell'importo di ogni scadenza dell'obbligazione,
* 4) L'azzeramento dell'importo dell'obbligazione propria,
* 5) L'aggiornamento dello stato dell'obbligazione a 'STORNATA'.
*
* Esistono documenti amministrativi per l'obbligazione
* PreCondition:
* Per l'obbligazione definitiva ci sono documenti amministrativi già collegati all'obbligazione.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che per stornare una obbligazione definitiva,
* qualsiasi documento amministrativo collegato all'obbligazione deve essere sganciato prima di eseguire
* lo storno. L'attività non è consentita.
*
* Esiste un ordine per l'obbligazione
* PreCondition:
* Per l'obbligazione definitiva e' stato definito un ordine
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che per stornare una obbligazione definitiva
* per la quale e' già stato emesso un ordine e' necessario prima cancellare l'ordine
*
* @param aUC lo user context
* @param bulk l'istanza di ObbligazioneBulk da annullare
* @return l'istanza di ObbligazioneBulk annullata
*
*/
public abstract it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk stornaObbligazioneDefinitiva(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Linea attività in Pdg
* PreCondition:
* L'utente ha selezionato una nuova linea di attività e la nuova linea di attività e' nel Piano di Gestione
* PostCondition:
* Una segnalazione di errore comunica all'utente l'impossibilità di assegnare come nuova linea di attività
* una presente nel P.d.G.
* Linea attività in Pdg
* PreCondition:
* L'utente ha selezionato una nuova linea di attività e la nuova linea di attività non e' presente nel Piano di Gestione
* PostCondition:
* La nuova linea di attività ha superato la validazione
*
* @param userContext lo user context
* @param latt l'istanza di Linea_attivitaBulk da verificare
*
*/
public abstract void verificaNuovaLineaAttivita(it.cnr.jada.UserContext param0,it.cnr.contab.config00.latt.bulk.WorkpackageBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Tutti controlli superati - anno di creazione obbligazione < anno competenza dell'obbligazione
* PreCondition:
* testata dell'obbligazione verificata (controllato nel metodo verificaTestataObbligazione).
* sum(scadenzario.importo) = obbligazione.importo
* sum(scad_voce.importo) = scadenzario.importo
* dettagli d'imputazione finanziaria specificati
* almeno una scadenza definita
* verfiche per spese per costi altrui superate (metodo verificaFl_spese_costi_altrui)
* L'anno di competenza dell'obbligazione è superiore all'anno di creazione dell'obbligazione
* PostCondition:
* Il sistema può proseguire con la creazione/modifica dell'obbligazione, ma non verranno aggiornati i saldi
* dei capitoli di spesa CdS.
*
* Tutti controlli superati - anno di creazione obbligazione = anno competenza
* PreCondition:
* testata dell'obbligazione verificata (controllato nel metodo verificaTestataObbligazione).
* sum(scadenzario.import) = obbligazione.import.
* sum(scad_voce.importo) = scadenzario.importo
* dettagli d'imputazione finanziaria specificati
* almeno una scadenza definita
* verfiche per spese per costi altrui superate (metodo verificaFl_spese_costi_altrui)
* L'anno di competenza dell'obbligazione è uguale all'anno di creazione dell'obbligazione
* PostCondition:
* Il sistema può proseguire con la creazione/modifica dell'obbligazione e dovrà effettuare l'aggiornamento
* dei saldi dei capitoli di spesa CdS. (Questo processo viene eseguito dal metodo 'aggiornaCapitoloSaldoObbligazione').
*
* sum(scadenzario.importo) not = obbligazione.importo
* PreCondition:
* La somma degli importi delle scadenze dell'obbligazione non è uguale all'importo dell'obbligazione in elaborazione.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che il salvataggio dell'obbligazione non è consentito
* se l'importo non è uguale alla somma degli importi delle scadenze dell'obbligazione.
*
* sum(scad_voce.importo) not = scadenzario.importo
* PreCondition:
* L'utente ha selezionato l'imputazione manuale degli importi dei dettagli delle scadenze e la somma degli importi
* dei dettagli di una scadenza dell'obbligazione non è uguale all'importo della scadenza
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che il salvataggio dell'obbligazione non è consentito
* se l'importo della scadenza non è uguale alla somma degli importi dei dettagli della scadenza dell'obbligazione.
*
* dettagli d'imputazione finanziaria non specificati al livello di obbligazione
* PreCondition:
* I dettagli d'imputazione finanziaria (capitolo di spesa, linea d'attività) non sono stati specificati
* al livello di obbligazione
* PostCondition:
* Il sistema segnala l'impossibilità di craere/aggiornare l'obbligazione fino a quando l'imputazione finanziaria non viene completata
*
* scadenze non definite
* PreCondition:
* Non sono state definite scadenze per l'obbligazione
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che il salvataggio dell'obbligazione non è consentito
* se non viene definita almento una scadenza
*
* spese per costi altrui
* PreCondition:
* L'utente ha specificato di voler emettere un'obbligazione non di tipo spese per costi altrui
* ma ha selezionato linee di attività appartenenti a cdr che non sipendono dall'uo di scrivania
* (questo controllo viene effettuato dal metodo 'verificaFl_spese_costi_altrui')
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che il salvataggio dell'obbligazione non è consentito
*
* @param aUC lo user context
* @param obbligazione l'istanza di ObbligazioneBulk da verificare
*
*
*/
public abstract void verificaObbligazione(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Tutti controlli superati - creazione
* PreCondition:
* Non esiste già una scadenza per la data.
* Attività = creazione
* PostCondition:
* Alla scrittura dell'obbligazione il sistema aggiungerà questo scadenzario e genererà tutti i dettagli della
* scadenza (metodo 'generaDettagliScadenzaObbligazione')
* Tutti controlli superati - aggiornamento con agg. auto. scad. succ.
* PreCondition:
* Attività = aggiornamento
* L'utente ha scelto l'aggiornamento in automatico della scadenza successiva.
* PostCondition:
* Alla scrittura dell'obbligazione il sistema aggiornerà questo scadenzario.
* In più, il metodo aggiornaScadenzaSuccessivaObbligazione viene utilizzato per aggiornare la scadenza successiva
* a quella in aggiornamento.
* Tutti controlli superati - aggiornamento senza agg. auto. scad. succ.
* PreCondition:
* Attività = aggiornamento
* L'utente NON ha scelto l'aggiornamento in automatico della scadenza successiva.
* PostCondition:
* Alla scrittura dell'obbligazione il sistema aggiornerà questo scadenzario.
* Sarà il compito dell'utente aggiornare una delle scadenze per garantire che la somma degli importi
* delle scadenze sia uguale all'importo dell'obbligazione.
* creazione/modifica - esiste già una scadenza per la data
* PreCondition:
* L'utente richiede la creazione di una scadenza o modifica la data di una scadenza.
* Per la data scadenza specificata esiste già una scadenza per l'obbligazione.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che la data della scadenza non è valida.
* creazione/modifica - importo negativo
* PreCondition:
* L'utente richiede la creazione di una scadenza o modifica l'importo di una scadenza
* Il nuovo importo e' negativo.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che l'importo della scadenza deve essere > 0
* creazione/modifica - importo nullo
* PreCondition:
* L'utente richiede la creazione di una scadenza o modifica l'importo di una scadenza
* Il nuovo importo e' nulla e la scadenza non è associata a documenti amministrativi
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che l'importo della scadenza deve essere >= 0
* modifica - la scadenza ha doc amministrativi associati e non proviene da documenti amministrativi
* PreCondition:
* L'utente richiede la modifica dell'importo di una scadenza che ha documenti amministrativi associati
* e la richiesta non proviene dal BusinessProcess che gestisce i documenti amministrativi
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che la modifica della scadenza non è valida.
* modifica - la scadenza ha doc amministrativi associati e proviene da documenti amministrativi
* PreCondition:
* L'utente richiede la modifica dell'importo di una scadenza che ha documenti amministrativi associati e la
* richiesta proviene dal BusinessProcess che gestisce i documenti amministartivi
* PostCondition:
* L'aggiornamento dell'importo della scadenza e' consentito
* modifica - la scadenza ha mandati associati
* PreCondition:
* L'utente richiede la modifica dell'importo di una scadenza
* La scadenza ha mandati associati
* La richiesta di modifica proviene dal BusinessProcess che gestisce i documenti amministrativi
* PostCondition:
* L'aggiornamento dell'importo della scadenza non e' consentito
* @param aUC lo user context
* @param scadenzario l'istanza di Obbligazione_scadenzarioBulk da verificare
* @return l' ObbligazioneBulk a cui appartiene la scadenza
*
*/
public abstract it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk verificaScadenzarioObbligazione(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk param1) throws it.cnr.jada.comp.ComponentException;
public EsercizioBulk verificaStatoEsercizio( UserContext userContext, String cd_cds, Integer es ) throws ComponentException;
/**
* Tutti controlli superati
* PreCondition:
* Copertura finanziaria è sufficiente.
* Data obbligazione è valida.
* Esercizio competenza >= esercizio creazione dell'obbligazione
* PostCondition:
* La testata dell'obbligazione è valida. E' consentito eseguire l'attività di salvataggio o di passaggio
* alle pagine successive (Configurazione Imputazione Finanziaria o Scadenzario).
* Copertura finanziaria insufficiente
* PreCondition:
* La copertura finanziaria in riferimento al limite di assunzione di obbligazioni risulta insufficiente.
* Il controllo della copertura finanziaria dipende dal metodo 'controllaCoperturaFinanziariaObbligazione',
* che calcola un valore per questo limite secondo i dettagli dell'obbligazione in aggiornamento.
* Per l'aggiornamento, il valore del limite viene confrontato con la differenza fra l'importo vecchio e
* l'importo nuovo dell'obbligazione, quando l'importo nuovo supera l'importo vecchio.
* (Se l'importo rimane uguale, o diminuisce, questo controllo della copertura finanziaria non viene eseguito.)
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che l'importo dell'obbligazione in aggiornamento supera
* il limite di assunzione di obbligazioni. L'attività non è consentita.
* Data obbligazione non è valida
* PreCondition:
* La data dell'obbligazione in inserimento antecede la data dell'ultima obbligazione inserita per questo CdS.
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che la data dell'obbligazione non può essere antecedente
* la data dell'ultima obbligazione inserita per questo CdS. L'attività non è consentita.
* Esercizio competenza non valido
* PreCondition:
* L'esercizio di competenza dell'obbligazione e' inferiore all'esercizio di scrivania e quindi all'esercizio
* di creazione dell'obbligazione
* PostCondition:
* Il metodo utilizza un Throw Exception per comunicare che l'esercizio di competenza non può essere antecedente
* all'esercizio di creazione dell'obbligazione
*
* @param aUC lo user context
* @param obbligazione l'istanza di ObbligazioneBulk per cui verificare la testata
*
*/
public abstract void verificaTestataObbligazione(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk param1) throws it.cnr.jada.comp.ComponentException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy