it.cnr.contab.missioni00.comp.IMissioneMgr 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.missioni00.comp;
import it.cnr.contab.docamm00.docs.bulk.*;
import it.cnr.contab.missioni00.docs.bulk.*;
import it.cnr.contab.anagraf00.core.bulk.TerzoBulk;
import it.cnr.contab.anagraf00.tabter.bulk.NazioneBulk;
import it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.util.*;
public interface IMissioneMgr extends it.cnr.jada.comp.ICRUDMgr
{
/**
* Cancellazione fisica del compenso
*
* Pre-post-conditions:
*
* Cancella fisicamente Compenso
* Pre: Cancellazione fisica del compenso validata tramite procedura
* Post: Il sistema cancella fisicamente il compenso e inizializza alcuni
* campi della missione (stato_coge, stato_coan, fl_associato_compenso)
*
* Condizione di errore
* Pre: Cancellazione fisica del compenso NON validata dalla procedura
* Post: Il sistema non procede con la cancellazione
*
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui cancellare il compenso
*
* @return la MissioneBulk il cui compenso e' stato cancellato
*/
public abstract MissioneBulk cancellaCompensoPhisically(it.cnr.jada.UserContext userContext, MissioneBulk missione) throws ComponentException;
/**
* Cancellazione fisica Dettagli Diaria
*
* Pre-post-conditions:
*
* Nome: Cancella fisicamente Diaria
* Pre: L'utente ha fatto delle modifiche che comportano la cancellazione fisica
* dei dettagli did iaria
* Post: Il sistema richiede alla Component di cancellare i dettagli di diaria
*
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui cancellare i dettagli di diaria
*
*/
public abstract MissioneBulk cancellaDiariaPhisically(it.cnr.jada.UserContext userContext, MissioneBulk missione) throws ComponentException, it.cnr.jada.persistency.PersistencyException;
/**
* Cancellazione fisica Tappe
*
* Pre-post-conditions:
*
* Nome: Cancella fisicamente Tappe
* Pre: L'utente ha modificato la configurazione delle tappe della missione
* Post: Il sistema richiede alla Component di cancellare le tappe della missione
*
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui cancellare le tappe
*
*/
public abstract MissioneBulk cancellaTappePhisically(it.cnr.jada.UserContext userContext, MissioneBulk missione) throws ComponentException, it.cnr.jada.persistency.PersistencyException;
/**
* Tutti i controlli superati.
* PreCondition:
* Ricerca la lista delle scadenze di obbligazioni congruenti con la missione che si sta creando/modificando.
* PostCondition:
* Le scadenze vengono aggiunte alla lista delle scadenze congruenti.
* Validazione lista delle obbligazioni per le missioni
* PreCondition:
* Si è verificato un errore nel caricamento delle scadenze delle obbligazioni.
* PostCondition:
* Viene inviato il messaggio corrispondente all'errore segnalato.
* Obbligazione definitiva
* PreCondition:
* La scadenza non appartiene ad un'obbligazione definitiva
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
* Obbligazioni non cancellate
* PreCondition:
* La scadenza appartiene ad un'obbligazione cancellata
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
* Obbligazioni associate ad altri documenti amministrativi
* PreCondition:
* La scadenza appartiene ad un'obbligazione associata ad altri documenti amministrativi
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
* Obbligazioni della stessa UO
* PreCondition:
* La scadenza dell'obbligazione non appartiene alla stessa UO di generazione missione
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
* Abilitatazione filtro di selezione sul debitore dell'obbligazione
* PreCondition:
* La scadenza dell'obbligazione ha un debitore diverso da quello della missione
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
* Disabilitazione filtro di selezione sul debitore dell'obbligazione
* PreCondition:
* La scadenza dell'obbligazione ha un debitore diverso da quello della missione e non è di tipo "diversi"
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
* Abilitazione filtro di selezione sulla data di scadenza
* PreCondition:
* La scadenza dell'obbligazione ha una data scadenza precedente alla data di filtro
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
* Abilitazione filtro importo scadenza
* PreCondition:
* La scadenza dell'obbligazione ha un importo di scadenza inferiore a quella di filtro
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
* Abilitazione filtro sul progressivo dell'obbligazione
* PreCondition:
* La scadenza dell'obbligazione non ha progressivo specificato
* PostCondition:
* La scadenza non viene aggiunta alla lista delle scadenze congruenti.
*/
public abstract RemoteIterator cercaObbligazioni(UserContext context, Filtro_ricerca_obbligazioniVBulk filtro) throws ComponentException ;
/**
* Completa i dati relativi al terzo
*
* Pre-post-conditions:
*
* Nome: Completa terzo
* Pre: L'utente ha selezionato un nuovo terzo per la missione
* Post: Il sistema ha valorizzato tutti i dati relativi all'anagrafico associato al terzo selezionato, in particolare
* codice, nome, cognome, ragione sociale, codice fiscale, partita iva,
* modalita, termini di pagamento e tipi rapporto
*
* @param uc lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui e' stato selezionato un nuovo terzo
* @param aTerzo il terzo di tipo V_terzo_per_compensoBulk selezioanto dall'utente
*
* @return la MissioneBulk coi dati relativi al terzo inizializzati
*/
public abstract MissioneBulk completaTerzo(UserContext uc, MissioneBulk missione, it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk aTerzo) throws ComponentException;
/**
* Creazione missione
*
* Pre-post-conditions:
*
* Nome: creazione temporanea di missione
* Pre: L'utente ha selezionato fine inserimento spese
* Post: Il sistema salva la missione temporaneamente
* Nome: creazione di missione
* Pre: L'utente ha selezionato il bottone di salvataggio della missione
* Post: Aggiornamento dell'anticipo associato alla missione,
* aggiornamento dell'obbligazione associata alla missione ( metodo 'aggiornaObbligazione')
* aggiornamento della missione con progressivo definitivo e stato cofi = contabilizzato
*
* @param userContext lo UserContext che ha generato la richiesta
* @param bulk la MissioneBulk da creare
*
* @return la MissioneBulk 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;
/**
* Creazione missione
*
* Pre-post-conditions:
*
* Nome: creazione temporanea di missione
* Pre: L'utente ha selezionato fine inserimento spese
* Post: Il sistema salva la missione temporaneamente
*
* Nome: creazione di missione
* Pre: Validazione della scadenza di obbligazione associata alla missione
* Post: Il sistema prosegue con il salvataggio della missione
*
* Nome: creazione di missione
* Pre: L'utente ha selezionato il bottone di salvataggio della missione
* Post: Aggiornamento dell'anticipo associato alla missione,
* aggiornamento dell'obbligazione associata alla missione ( metodo 'aggiornaObbligazione')
* aggiornamento della missione con progressivo definitivo e stato cofi = contabilizzato
*
* @param userContext lo UserContext che ha generato la richiesta
* @param bulk la MissioneBulk da creare
* @param status serve per gestire l'eccezione lanciata dall'obbligazione
* nel caso non ci sia disponibilita' di cassa
*
* @return la MissioneBulk creata
*/
public abstract it.cnr.jada.bulk.OggettoBulk creaConBulk(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1,it.cnr.contab.doccont00.core.bulk.OptionRequestParameter param2) throws it.cnr.jada.comp.ComponentException;
/**
* Cancellazione missione
*
* Pre-post-conditions:
*
* Nome: cancellazione missione
* Pre: Validazione cancellazione superata
* Post: Il sistema procede con :
* - una cancellazione logica se la procedura ritorna il valore 1
* - una cancellazione fisica se la procedura ritorna il valore 2
* e scollega l'eventuale scadenza associata alla missione o al compenso
*
* Pre: Validazione cancellazione NON superata
* Post: Il sistema non procede con la cancellazione della missione
*
* @param userContext lo UserContext che ha generato la richiesta
* @param bulk la MissioneBulk da cancellare
*
*/
public abstract void eliminaConBulk(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Carica i dati relativi al cambio
*
* Pre-post-conditions:
*
* Nome: Carica cambio
* Pre: E' stata generata una richiesta di caricamento di un cambio associato ad una certa divisa e valido
* in una certa data
* Post: Il sistema restituisce il cambio valido per la divisa data
*
* @param uc lo UserContext che ha generato la richiesta
* @param divisa la DivisaBulk per cui ricercare il cambio
* @param dataCambio la data per cui il cambio deve essere valido
*
* @return il CambioBulk trovato oppure null se non esiste nessun cambio valido per quella divisa in quella data
*/
public abstract it.cnr.contab.docamm00.tabrif.bulk.CambioBulk findCambio(it.cnr.jada.UserContext param0,it.cnr.contab.docamm00.tabrif.bulk.DivisaBulk param1,java.sql.Timestamp param2) throws it.cnr.jada.comp.ComponentException,it.cnr.jada.persistency.PersistencyException;
/**
* Carica i dati relativi agli Inquadramenti
*
* Pre-post-conditions:
*
* Nome: Carica inquadramenti
* Pre: E' stata generata una richiesta di caricamento degli inquadramenti disponibili per il terzo specificato per una
* missione
* Post: Il sistema restituisce l'elenco degli inquadramenti validi relativi al terzo della missione, con tipo
* rapporto uguale a quello della missione e data di registrazione inclusa nell'intervallo di validità
* dell'inquadramento
*
* @param uc lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui selezionare gli inquadramenti
*
* @return la collezione di Rif_inquadramentoBulk valida per la missione
*/
public abstract java.util.Collection findInquadramenti(UserContext aUC, MissioneBulk missione) throws ComponentException;
/**
* Carica i dati relativi agli Inquadramenti e ai Tipi di Trattamento
*
* Pre-post-conditions:
*
* Nome: Carica Inquadramenti e Tipi Trattamento
* Pre: E' stata generata una richiesta di caricamento degli inquadramenti disponibili per il terzo specificato per una
* missione e dei relativi tipi di trattamento
* Post: Il sistema restituisce la missione con gli inquadramenti (metodo findInquadramenti)
* e i Tipi Trattamento ( metodo 'findTipi_trattamento') validi relativi al terzo della missione
*
* @param uc lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui selezionare gli inquadramenti e i tipi di trattamento
*
* @return la MissioneBulk con gli inquadramenti e i tipi di trattamento inizializzati
*/
public abstract MissioneBulk findInquadramentiETipiTrattamento(UserContext aUC, MissioneBulk missione) throws ComponentException ;
/**
* Carica i dati relativi alle coordinate bancarie
*
* Pre-post-conditions:
*
* Nome: Carica banche
* Pre: E' stata generata una richiesta di caricamento delle coordinate bancarie relative al terzo della missione
* Post: Il sistema restituisce la lista delle coordinate bancarie relative al terzo della missione
*
* @param uc lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk da cui ricavare il terzo per cui selezionare le coordinate bancarie
*
* @return la collezione di istanze di tipo BancaBulk
*/
public abstract java.util.Collection findListabanche(it.cnr.jada.UserContext param0,it.cnr.contab.missioni00.docs.bulk.MissioneBulk param1) throws it.cnr.jada.comp.ComponentException,it.cnr.jada.persistency.PersistencyException;
/**
* Viene richiesta la lista dei Tipi di rapporto associati ad un Terzo e validi
* in data inizio missione
*
* Pre-post-conditions:
*
* Nome: Terzo NON selezionato o data inizio missione non valorizzata
* Pre: Non è stato selezionato un Terzo per la missione oppure non e'
* stata inserita la data inizio missione
* Post: Non vengono caricati i Tipi di rapporto
*
* Nome: Terzo selezionato e data inizio missione valorizzata
* Pre: E' stato selezionato un Terzo valido per la missione ed e' stata
* inserita la data inizio missione
* Post: Viene restituita la lista dei Tipi di rapporto associati al Terzo e
* validi in data inizio missione
*
* @param userContext lo UserContext che ha generato la richiesta
* @param bulk l'OggettoBulk da completare
* @return La lista dei Tipi di rapporto associati al terzo e validi in data inizio
* missione
*
**/
public java.util.Collection findTipi_rapporto(UserContext userContext, OggettoBulk bulk) throws ComponentException;
/**
* Viene richiesta la lista dei Tipi di Trattamento legati
* al Tipo di Rapporto selezionato
*
* Pre-post-conditions:
*
* Nome: Tipo di Rapporto NON selezionato
* Pre: Non è stato selezionato il tipo di rapporto
* Post: Non vengono caricati i Tipi Trattamento
*
* Nome: Terzo selezionato
* Pre: E' stato selezionato un tipo di rapporto valido per la missione
* Post: Viene restituita la lista dei Tipi di Trattamento
* legati al Tipo di rapporto selezionato
*
* @param userContext lo UserContext che ha generato la richiesta
* @param bulk l'OggettoBulk da completare
* @return La lista dei Tipi di Trattamento associati al Tipo Rapporto selezionato
*
**/
public abstract java.util.Collection findTipi_trattamento(UserContext userContext, OggettoBulk bulk) throws ComponentException ;
/**
* Genera diaria
*
* Pre-post-conditions:
*
* Nome: Genera diaria
* Pre: L'utente ha richiesto la generazione della diaria per una missione
* Post: Il sistema richiama la stored procedure che genera la diaria; il sistema carica i dettagli della diaria
* (metodo 'ritornaDiariaGenerata')
*
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui generare la diaria
*
* @return la MissioneBulk con la diaria generata
*/
public abstract it.cnr.contab.missioni00.docs.bulk.MissioneBulk generaDiaria(it.cnr.jada.UserContext param0,it.cnr.contab.missioni00.docs.bulk.MissioneBulk 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 missioni.
* Esercizio aperto
* PreCondition:
* L'esercizio di scrivania e' in stato APERTO
* PostCondition:
* e' possibile procedere con la creazione della missione
*
* Inizializzazione data di registrazione
* PreCondition:
* se l'esercizio di scrivania (quello della missione) e' uguale all'esercizio corrente
* PostCondition:
* inizializzo la data di registrazione con la data odierna
*
* Inizializzazione data di registrazione
* PreCondition:
* Se l'esercizio di scrivania (quello della missione) e' antecedente all'esercizio corrente
* PostCondition:
* inizializzo la data di registrazione con la data 31/12/esercizio di scrivania
*
* @param aUC lo user context
* @param bulk l'istanza di MissioneBulk che si sta creando
* @return l'istanza di MissioneBulk inizializzata
*
*/
public abstract OggettoBulk inizializzaBulkPerInserimento(UserContext aUC, OggettoBulk bulk) throws ComponentException ;
/**
*
* Pre-post-conditions:
*
* Nome: inizializza Missione
* Pre: L'utente ha richiesto l'inizializzzaione dei dati di una missione già inserita per una eventuale modifica
* Post: Il sistema carica la missione, il terzo della missione, gli inquadramenti e i tipi di rapporto,
* le tappe della missione (metodo 'caricaTappeMissione'), i dettagli di spesa della missione (metodo 'caricaDettagliMissione'),
* gli eventuali anticipi, obbligazioni o compensi (metodo 'loadCompenso')
* su cui la missione e' stata contabilizzata
*
* @param userContext lo UserContext che ha generato la richiesta
* @param bulk la MissioneBulk da inizializzare
*
* @return la MissioneBulk 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;
/**
*
* Pre-post-conditions:
*
* Nome: inizializza Divisa e Cambio Per spesa di tipo RimborsoKm
* Pre: Ad una spesa di una missione e' stato associato il tipo RimborsoKm
* Post: Il sistema imposta la divisa della spesa con la divisa di default e il cambio della spesa con il cambio
* valido per la divisa e per la data di inizio della tappa della spesa
*
* @param userContext lo UserContext che ha generato la richiesta
* @param aSpesa la Missione_dettaglioBulk per tipo rimborso km
*
* @return la MissioneBulk con la spesa inizializzata
*/
public abstract it.cnr.contab.missioni00.docs.bulk.MissioneBulk inizializzaDivisaCambioPerRimborsoKm(it.cnr.jada.UserContext param0,it.cnr.contab.missioni00.docs.bulk.Missione_dettaglioBulk param1) throws it.cnr.jada.comp.ComponentException,it.cnr.jada.persistency.PersistencyException,javax.ejb.EJBException,java.rmi.RemoteException,it.cnr.jada.bulk.ValidationException;
/**
* Viene richiesto lo stato cofi della missione
*
* Pre-post-conditions
*
* Nome: Missione ANNULLATA - Stato COFI uguale ad 'A'
* Pre: La missione è annullata
* Post: Ritorna . La missione è annullata
*
* Nome: Missione NON ANNULLATA - Stato COFI diverso da 'A'
* Pre: La missione non è annullata
* Post: Ritorna . La missione non è annullata
*
* @param userContext lo UserContext che ha generato la richiesta
* @param missione La missione da controllare
* @return vero se la missione è anullata
* falso altrimenti
*
**/
public abstract boolean isMissioneAnnullata(it.cnr.jada.UserContext param0,it.cnr.contab.missioni00.docs.bulk.MissioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Carica compenso
*
* Pre-post-conditions:
*
* Nome: Carica compenso
* Pre: Una missione deve essere inizializzata per modifica
* La missione ha un compenso
* Post: Il sistema richiede alla Component che gestisce il compenso il suo caricamento
*
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui caricare il compenso
*
* @return la MissioneBulk con il compenso caricato
*/
public abstract it.cnr.contab.missioni00.docs.bulk.MissioneBulk loadCompenso(it.cnr.jada.UserContext param0,it.cnr.contab.missioni00.docs.bulk.MissioneBulk param1) throws it.cnr.jada.comp.ComponentException;
/**
* Modifica missione
*
* Pre-post-conditions:
*
* Nome: modifica
* Pre: Una missione e' stata modificata
* Post: Il sistema aggiorna lo stato coan/coge della missione e aggiorna l'obbligazione associata alla missione
* ( metodo 'aggiornaObbligazione')
*
* Nome: elimina anticipo
* Pre: Una missione e' stata modificata
* L'utente ha scollegato l'anticipo dalla missione
* Post: Il sistema aggiorna lo stato dell'anticipo ( metodo 'aggiornaAnticipo')
*
* Nome: collega anticipo
* Pre: Una missione e' stata modificata
* L'utente ha collegato un anticipo alla missione
* Post: Il sistema agggiorna lo stato dell'anticipo ( metodo 'aggiornaAnticipo')
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui caricare il compenso
* @param status serve per gestire l'eccezione lanciata dall'obbligazione
* nel caso non ci sia disponibilita' di cassa
*
* @return la MissioneBulk con il compenso caricato
*/
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 missione
*
* Pre-post-conditions:
*
* Nome: modifica missione
* Pre: Validazione dell' eventuale obbligazione collegata alla missione andata a buon fine
* Post: Il sistema prosegue con l'aggiornamento della missione
*
* Nome: modifica
* Pre: Una missione e' stata modificata
* Post: Il sistema aggiorna lo stato coan/coge della missione e aggiorna l'obbligazione associata alla missione
* ( metodo 'aggiornaObbligazione')
*
* Nome: elimina anticipo
* Pre: Una missione e' stata modificata
* L'utente ha scollegato l'anticipo dalla missione
* Post: Il sistema aggiorna lo stato dell'anticipo ( metodo 'aggiornaAnticipo')
*
* Nome: collega anticipo
* Pre: Una missione e' stata modificata
* L'utente ha collegato un anticipo alla missione
* Post: Il sistema agggiorna lo stato dell'anticipo ( metodo 'aggiornaAnticipo')
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk per cui caricare il compenso
* @param status serve per gestire l'eccezione lanciata dall'obbligazione
* nel caso non ci sia disponibilita' di cassa
*
* @return la MissioneBulk con il compenso caricato
*/
public abstract it.cnr.jada.bulk.OggettoBulk modificaConBulk(it.cnr.jada.UserContext param0,it.cnr.jada.bulk.OggettoBulk param1,it.cnr.contab.doccont00.core.bulk.OptionRequestParameter param2) throws it.cnr.jada.comp.ComponentException;
/**
* Annulla le modifiche apportate alla missione e ritorna al savepoint impostato in precedenza
*
* Pre-post-conditions:
*
* Nome: Rollback to savePoint
* Pre: Una richiesta di annullare tutte le modifiche apportate e di ritornare al savepoint e' stata generata
* Post: Tutte le modifiche effettuate sulla missione da quando si e' impostato il savepoint vengono annullate
* @param uc lo UserContext che ha generato la richiesta
*/
public abstract void rollbackToSavePoint(UserContext userContext, String savePointName) throws ComponentException;
/**
* Inzializzazione divisa e cambio
*
* Pre-post-conditions:
*
* Nome: inizializzazione
* Pre: L'utente ha richiesto la modifica della nazione di una tappa
* Post: Il sistema inizializza la tappa impostando come divisa la divisa definita per la nuova nazione
* e come cambio il cambio della divisa valido per la data di inizio tappa
*
* @param uc lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk a cui appartiene la tappa
* @param tappa la Missione_tappaBulk da inizializzare
*
* @return MissioneBulk con la tappa inizializzata
*/
public abstract it.cnr.contab.missioni00.docs.bulk.MissioneBulk setDivisaCambio(it.cnr.jada.UserContext param0,it.cnr.contab.missioni00.docs.bulk.MissioneBulk param1,it.cnr.contab.missioni00.docs.bulk.Missione_tappaBulk param2) throws it.cnr.jada.comp.ComponentException;
/**
* Inzializzazione tappa
*
* Pre-post-conditions:
*
* Nome: inizializzazione
* Pre: L'utente ha richiesto la creazione di una nuova tappa
* Post: Il sistema inizializza la nuova tappa impostando la nazione a Italia, la divisa alla divisa definita per l'Italia
* e il cambio al cambio della divisa valido per la data di inizio tappa
*
* @param uc lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk a cui appartiene la nuova tappa
* @param tappa la Missione_tappaBulk da inizializzare
*
* @return MissioneBulk con la nuova tappa inizializzata
*/
public abstract it.cnr.contab.missioni00.docs.bulk.MissioneBulk setNazioneDivisaCambioItalia(it.cnr.jada.UserContext param0,it.cnr.contab.missioni00.docs.bulk.MissioneBulk param1,it.cnr.contab.missioni00.docs.bulk.Missione_tappaBulk param2) throws it.cnr.jada.comp.ComponentException;
/**
* Imposta un savepoint che consente di salvare le modifiche apportate al doc. amministrativo
* fino a quel momento
* Pre-post-conditions:
*
* Nome: Imposta savePoint
* Pre: Una richiesta di impostare un savepoint e' stata generata
* Post: Un savepoint e' stato impostato in modo che le modifiche apportate al doc. amministrativo vengono consolidate
*
* @param uc lo UserContext che ha generato la richiesta
*/
public abstract void setSavePoint(UserContext userContext, String savePointName) throws ComponentException;
/**
* Aggiornamento anticipo
*
* Pre-post-conditions:
*
* Nome: salvataggio missione + anticio di importo maggiore + compenso
* Pre: Il sistema salva una missione collegata ad un anticipo di importo maggiore e
* ad un compenso
* Post: Il sistema aggiorna la linea di attivita' dell'anticipo collegato con quella
* selezionata nel compenso
*
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la missione il cui anticipo e' da aggiornare
*
* @return
*
*/
public abstract void updateAnticipo(UserContext aUC, MissioneBulk missione) throws it.cnr.jada.comp.ComponentException, it.cnr.jada.persistency.PersistencyException;
/**
* Aggiornamento compenso
*
* Pre-post-conditions:
*
* Nome: aggiornamento compenso in automatico
* Pre: Il sistema salva una missione per aggiornarne alcuni campi che
* comportano l'aggiornamento dei relativi campi del compenso collegato.
* Post: Il sistema aggiorna il compenso collegato alla missione
*
* Nome: Rilettura del compenso modificato
* Pre: Il sistema ha aggiornato il compenso
* Post: Il sistema rilegge la versione del compenso aggiornata
*
* @param userContext lo UserContext che ha generato la richiesta
* @param missione la missione il cui compenso e' da aggiornare
*
* @return la missione il cui compenso e' stato aggiornato
*
*/
public abstract MissioneBulk updateCompenso(UserContext aUC, MissioneBulk missione) throws ComponentException, it.cnr.jada.persistency.PersistencyException ;
/**
* Validazione esercizio data registrazione
* PreCondition:
* L'esercizio della data registrazione e' antecedente a quello di scrivania
* (quello della missione) ed e' APERTO
* PostCondition:
* La data di registrazione viene validata
*
* Validazione esercizio data registrazione
* PreCondition:
* L'esercizio della data registrazione e' antecedente a quello di scrivania
* (quello della missione) e NON e' APERTO
* PostCondition:
* La data di registrazione non viene validata
*
* @param aUC lo user context
* @param bulk l'istanza di MissioneBulk di cui e' variata la data di registrazione
*
*/
public abstract void validaEsercizioDataRegistrazione(UserContext aUC, MissioneBulk missione) throws ComponentException ;
/**
* Calcolo importi e validazione massimali importi
*
* Pre-post-conditions:
*
* Nome: calcola importi spesa per rimborso km
* Pre: E' stata richiesto il calcolo degli importi di una spesa per rimborso km
* Post: Il sistema calcola "im_spesa_euro" moltiplicando i km per l'indennità chilometrica (sempre in EURO).
* Il sistema inizializza pone : "im_spesa_euro", "im_spesa_divisa" e "im_totale_spesa" tutti uguali.
*
* Nome: conversione importo spesa con tipologia diversa da rimborso km
* Pre: E' stata richiesta la conversione dell'importo inserito dall'utente di una spesa diversa da rimborso km
* Post: Se l'utente ha selezionato una divisa straniera, il sistema converte "im_spesa_divisa" nella divisa di default
* (metodo 'getImportoSpesaEuro')
*
* Nome: validazione massimale spesa
* Pre: E' stata richiesta la validazione dell'importo della spesa
* Post: Il sistema verifica che "im_spesa_euro" non sia maggiore del massimale della spesa
* (limite_max_spesa eventualmente convertito se tipo_spesa.cd_divisa!=EURO), metodo 'validaMassimaleTipoSpesa'
*
* Nome: valida spesa di tipo pasto
* Pre: E' stata richiesta la validazione dell'importo di una spesa di tipo pasto
* Post: Il sistema verifica che "im_spesa_euro" non sia maggiore del massimale del pasto.
* (limite_max_pasto eventualmente convertito se tipo_pasto!=EURO), metodo 'validaMassimaleTipoPasto'
*
* Nome: calcolo importo totale spesa
* Pre: E' stato richiesto il calcolo del totale della spesa (EURO)
* Post: Se la spesa e' un trasporto l'"im_totale_spesa" e' uguale alla somma di "im_spesa_euro" con
* "im_maggiorazione" (eventualmente convertita se l'utente ha selezionato una divisa straniera).
* Se la spesa non e' un trasporto l'"im_totale_spesa" e' uguale a "im_spesa_euro".
*
* @param uc lo UserContext che ha generato la richiesta
* @param missione la MissioneBulk a cui appartiene la spesa
* @param spesa la Missione_dettaglioBulk per cui effettuare i cacloli e la validazione degli importi
*
* @return MissioneBulk validata
*/
public abstract it.cnr.contab.missioni00.docs.bulk.MissioneBulk validaMassimaliSpesa(it.cnr.jada.UserContext param0,it.cnr.contab.missioni00.docs.bulk.MissioneBulk param1,it.cnr.contab.missioni00.docs.bulk.Missione_dettaglioBulk param2) throws it.cnr.jada.comp.ComponentException,javax.ejb.EJBException,it.cnr.jada.persistency.PersistencyException,java.rmi.RemoteException,it.cnr.jada.bulk.ValidationException;
/**
* Viene richiesta la validazione dell'obbligazione associata alla missione
*
* Pre-post-conditions
*
* Pre: La missione e' collegata a compenso o ad anticipo di importo maggiore
* Post: Non esiste alcuna scadenza legata alla missione (non faccio controlli)
*
* Nome: Scadenza non selezionata
* Pre: Non e' stata selezionata la scadenza da associare alla missione
* Post: Non viene consentita l'associazione della scadenza con la missione
* Generata una ApplicationException con il messaggio: "Nessuna obbligazione associata!"
*
* Nome: Importi obbligazione/scadenza NULLI
* Pre: L'importo della obbligazione e/o della scadenza è nullo
* Post: Non viene consentita l'associazione della scadenza con la missione
* Generata una ApplicationException con il messaggio:
* "L'importo dell'obbligazione/scadenza è un dato obbligatorio"
*
* Nome: Importo scadenza diverso da quello della missione
* Pre: L'importo della scadenza è diverso da quello della missione
* Post: Non viene consentita l'associazione della scadenza con la missione
* Generata una ApplicationException con il messaggio:
* "La scadenza di obbligazione associata ha un importo diverso da quello della missione!"
*
* Nome: Data scadenza NON valida
* Pre: La scadenza selezionata ha una data minore della data di registrazione della missione
* Post: Non viene consentita l'associazione della scadenza con la missione
* Generata una ApplicationException con il messaggio:
* "La data della scadenza dell'obbligazione deve essere successiva alla data di registrazione della missione!"
*
* Nome: Terzo selezionato NON valido
* Pre: Il terzo selezionato è diverso dal terzo della missione oppure il tipo entità NON è DIVERSI
* Post: Non viene consentita l'associazione della scadenza con la missione
* Generata una ApplicationException con il messaggio:
* "L'obbligazione deve avere un creditore valido!"
*
* Nome: Tutte le validazioni precedenti superate
* Pre: L'obbligazione supera tutte le validazioni precedenti
* Post: Viene validata l'associazione della missione con la scadenza di obbligazione
*
* @param userContext lo UserContext che genera la richiesta
* @param scadenza la scadenza da validare
*
**/
public abstract void validaObbligazione(UserContext userContext, it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk scadenza, OggettoBulk bulk) throws ComponentException;
/**
* Validazione del Terzo
*
* Pre-post-conditions
*
* Nome: Terzo assente
* Pre: Non è stato selezionato un terzo
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Inserire il terzo"
*
* Nome: Terzo non valido alla data registrazione
* Pre: Il terzo selezionato non è valido alla data registrazione
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Il Terzo selezionato non è valido in Data Registrazione"
*
* Nome: Modalita di pagamento assente
* Pre: Non è stato selezionata una modalita di pagamento
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Selezionare la Modalità di pagamento"
*
* Nome: Modalita di pagamento non valida
* Pre: La modalita di pagamento non e' valida (con banca)
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Selezionare una Modalità di pagamento valida"
*
* Nome: Tipo rapporto assente
* Pre: Non è stato selezionato un tipo rapporto
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Selezionare il Tipo Rapporto"
*
* Nome: Tipo rapporto non valido alla data inizio missione
* Pre: Il tipo rapporto selezionato non è valido in data inizio missione
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Il Tipo Rapporto selezionato non è valido alla Data Inizio Missione"
*
* Nome: Tipo trattamento assente
* Pre: Non è stato selezionato un tipo trattamento
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Selezionare il Tipo Trattamento"
*
* Nome: Tipo trattamento non valido alla data registrazione
* Pre: Il tipo trattamento non e' valido alla data di registrazione
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Il Tipo Trattamento selezionato non è valido alla Data Registrazione"
*
* Nome: Inquadramento assente
* Pre: Non è stato selezionato un inquadramento
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Selezionare l'Inquadramento"
*
* Nome: Inquadramento non valido alla data registrazione
* Pre: L'inquadramento non e' valido alla data di registrazione
* Post: Ritorna una ApplicationException con la descrizione dell'errore
* "Il Tipo Trattamento selezionato non è valido alla Data Registrazione"
*
* Nome: Terzo valido
* Pre: Il terzo selezionato non ha errori
* Post: Il terzo è valido e prosegue con l'operazione
*
* @param userContext lo UserContext che genera la richiesta
* @param missione la missione di cui validare il terzo
*
**/
public abstract void validaTerzo(UserContext userContext, MissioneBulk missione) throws ComponentException;
/**
*
* Validazione del Terzo
*
* Pre-post-conditions
*
* Nome: Terzo assente
* Pre: Non è stato selezionato un terzo
* Post: Ritorna il valore 1
*
* Nome: Terzo non valido alla data registrazione
* Pre: Il terzo selezionato non è valido alla data registrazione
* Post: Ritorna il valore 2
*
* Nome: Modalita di pagamento assente
* Pre: Non è stato selezionata una modalita di pagamento
* Post: Ritorna il valore 3
*
* Nome: Banca non inserita
* Pre: Non è stato selezionato un conto corretto
* Post: Ritorna il valore 4
*
* Nome: Tipo rapporto assente
* Pre: Non è stato selezionato un tipo rapporto
* Post: Ritorna il valore 5
*
* Nome: Tipo rapporto non valido alla data inizio missione
* Pre: Il tipo rapporto selezionato non è valido in data inizio missione
* Post: Ritorna il valore 6
*
* Nome: Inquadramento assente
* Pre: Non è stato selezionato un inquadramento
* Post: Ritorna il valore 7
*
* Nome: Inquadramento non valido alla data registrazione
* Pre: L'inquadramento selezionato non è valido in data registrazione
* Post: Ritorna il valore 8
*
* Nome: Tipo trattamento assente
* Pre: Non è stato selezionato un tipo trattamento
* Post: Ritorna il valore 9
*
* Nome: Tipo trattamento non valido alla data registrazione
* Pre: Il tipo trattamento selezionato non è valido in data registrazione
* Post: Ritorna il valore 10
*
* Nome: Terzo valido
* Pre: Il terzo selezionato non ha errori
* Post: Ritorna il valore 0
*
* @param userContext lo UserContext che genera la richiesta
* @param missione la missione di cui validare il terzo
* @param checkModPag Flag che stabilisce se occorre validare anche le modalita
* di pagamento e la banca
* @return il codice di errore relativo
*
**/
public abstract int validaTerzo(UserContext userContext, MissioneBulk missione, boolean checkModPag) throws ComponentException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy