use of it.cnr.contab.missioni00.docs.bulk.AnticipoBulk in project sigla-main by consiglionazionaledellericerche.
the class MissioneComponent method inizializzaBulkPerModifica.
/**
* Pre-post-conditions:
* <p>
* 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
*
* @return la MissioneBulk inizializzata
* @param userContext lo UserContext che ha generato la richiesta
* @param bulk la MissioneBulk da inizializzare
*/
public OggettoBulk inizializzaBulkPerModifica(UserContext userContext, OggettoBulk bulk) throws ComponentException {
MissioneBulk missione = (MissioneBulk) bulk;
if (missione.getEsercizio() == null)
throw new it.cnr.jada.comp.ApplicationException("L'esercizio del documento non è valorizzato! Impossibile proseguire.");
if (missione.getEsercizio().intValue() > it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(userContext).intValue())
throw new it.cnr.jada.comp.ApplicationException("Il documento deve appartenere o all'esercizio di scrivania o ad esercizi precedenti per essere aperto in modifica!");
missione = (MissioneBulk) super.inizializzaBulkPerModifica(userContext, missione);
try {
lockBulk(userContext, missione);
if (missione == null)
return null;
caricaTerzoInModificaMissione(userContext, missione);
// Inizializzo gli attributi del terzo, la collection di modalita e termini
// di pagamento e la collection dei tipi rapporto
completaTerzo(userContext, missione, missione.getV_terzo());
// Inizializzo la collection degli inquadramenti e dei tipi rapporto eleggibili
findInquadramentiETipiTrattamento(userContext, missione);
// Carico il Tipo rapporto selezionato
caricaTipoTrattamento(missione);
// Lettura delle tappe della missione e inizializzazioni della relativa collection e dictionary
caricaTappeMissione(userContext, missione);
// Lettura dei dettagli della missione e inizializzazioni della collection delle spese e della diaria
caricaDettagliMissione(userContext, missione);
// Inizializzo la collection dei giorni
missione.riempiElencoGiorniCollPerModifica();
missione.ordinaCollectionGiorni();
// Riempi gli oggetti complessi persistenti
getHomeCache(userContext).fetchAll(userContext);
// Se la missione ha un anticipo associato carico l'eventuale rimborso
if (missione.isMissioneConAnticipo())
missione.setAnticipo(caricaRimborsoAnticipo(userContext, missione.getAnticipo()));
if (missione.getAnticipo() != null)
missione.setAnticipoClone((AnticipoBulk) missione.getAnticipo().clone());
// associata alla missione che si sta modificando)
if (missione.getObbligazione_scadenzario() != null) {
missione.setObbligazione_scadenzarioClone(new Obbligazione_scadenzarioBulk());
missione.getObbligazione_scadenzarioClone().setEsercizio_originale(missione.getEsercizio_ori_obbligazione());
missione.getObbligazione_scadenzarioClone().setPg_obbligazione(missione.getPg_obbligazione());
missione.getObbligazione_scadenzarioClone().setPg_obbligazione_scadenzario(missione.getPg_obbligazione_scadenzario());
missione.getObbligazione_scadenzarioClone().setEsercizio(missione.getObbligazione_scadenzario().getEsercizio());
missione.getObbligazione_scadenzarioClone().setCd_cds(missione.getObbligazione_scadenzario().getCd_cds());
}
// In base allo stato di riporto dell'obbligazione della missione (o del relativo compenso)
// inizializzo la variabile 'riportata' della missione
missione.setRiportata(getStatoRiporto(userContext, missione));
/**
* Gennaro Borriello - (02/11/2004 15.04.39)
* Aggiunta gestione dell Stato Riportato all'esercizio di scrivania.
*/
missione.setRiportataInScrivania(getStatoRiportoInScrivania(userContext, missione));
// carico Compenso
if (missione.isMissioneConCompenso())
loadCompenso(userContext, missione);
missione.setMissioneIniziale((MissioneBulk) missione.clone());
} catch (Throwable e) {
throw handleException(e);
}
if (Optional.ofNullable(missione).map(missioneBulk -> !Optional.ofNullable(missioneBulk.getFl_associato_compenso()).orElse(Boolean.TRUE)).orElse(Boolean.FALSE)) {
caricaScrittura(userContext, missione);
}
return missione;
}
use of it.cnr.contab.missioni00.docs.bulk.AnticipoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDAnticipoAction method doEliminaScadenzaObbligazione.
/**
* Il metodo gestisce l'eliminazione dell'associazione anticipo-scadenza :
* - l'aggiornamento/inserimento a db di tale scadenza con im_associato_doc_amm=0
* - se l'anticipo usa il fondo economale devo eliminare questa associazione
*/
public Forward doEliminaScadenzaObbligazione(ActionContext context) {
try {
fillModel(context);
CRUDAnticipoBP bp = (CRUDAnticipoBP) getBusinessProcess(context);
AnticipoBulk anticipo = (AnticipoBulk) bp.getModel();
if ((anticipo.getPg_obbligazione_scadenzario() == null) || (anticipo.getPg_obbligazione() == null) || (anticipo.getEsercizio_ori_obbligazione() == null))
throw new it.cnr.jada.comp.ApplicationException("Non esiste alcuna scadenza da eliminare!");
anticipo.addToDocumentiContabiliCancellati(anticipo.getScadenza_obbligazione());
anticipo.setScadenza_obbligazione(new Obbligazione_scadenzarioBulk());
if (anticipo.getStato_pagamento_fondo_eco().compareTo(AnticipoBulk.STATO_ASSEGNATO_FONDO_ECO) == 0)
anticipo.setStato_pagamento_fondo_eco(AnticipoBulk.STATO_LIBERO_FONDO_ECO);
bp.setDirty(true);
return context.findDefaultForward();
} catch (Exception e) {
return handleException(context, e);
}
}
use of it.cnr.contab.missioni00.docs.bulk.AnticipoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDAnticipoAction method doRiportaIndietro.
/**
* Il metodo gestisce la selezione del bottone "Riporta indietro". Ciò implica :
* - se non ho rimborso : riportare indietro l'obbligazione senza committare
* - se ho rimborso : riportare indietro l'accertamento e committare
*/
public Forward doRiportaIndietro(ActionContext context) throws java.rmi.RemoteException {
try {
fillModel(context);
CRUDAnticipoBP bp = (CRUDAnticipoBP) getBusinessProcess(context);
AnticipoBulk anticipo = (AnticipoBulk) bp.getModel();
if (!anticipo.hasRimborso())
bp.riportaIndietro(context);
else
bp.riportaRimborsoIndietro(context);
return context.findDefaultForward();
} catch (Throwable t) {
return handleException(context, t);
}
}
use of it.cnr.contab.missioni00.docs.bulk.AnticipoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDAnticipoAction method doSearchListabanche.
/**
* Il metodo gestisce la selezione del bottone di ricerca delle Banche
*/
public Forward doSearchListabanche(ActionContext context) {
try {
fillModel(context);
AnticipoBulk anticipo = (AnticipoBulk) getBusinessProcess(context).getModel();
return search(context, getFormField(context, "main.listabanche"), anticipo.getModalita_pagamento().getTiPagamentoColumnSet());
} catch (Throwable t) {
return handleException(context, t);
}
}
use of it.cnr.contab.missioni00.docs.bulk.AnticipoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDMissioneAction method doBlankSearchFind_anticipo.
/**
* Il metodo gestisce l'eliminazione dell'associazione missione-anticipo.
* Il metodo effettua le opportune validazioni sull'importo della scadenza eventualmente associata alla missione e
* ricalcola gli importi della missione
*/
public Forward doBlankSearchFind_anticipo(ActionContext context, MissioneBulk missione) {
try {
CRUDMissioneBP bp = (CRUDMissioneBP) context.getBusinessProcess();
if (!missione.isMissioneConAnticipo()) {
missione.setAnticipo(new AnticipoBulk());
return context.findDefaultForward();
}
missione.setAnticipo(new AnticipoBulk());
if (missione.isMissioneConObbligazione()) {
missione.calcolaConsuntivi();
if (missione.getImporto_scadenza_obbligazione().compareTo(missione.getObbligazione_scadenzario().getIm_scadenza()) != 0)
setMessage(context, it.cnr.jada.util.action.FormBP.WARNING_MESSAGE, "L'importo della scadenza deve essere " + missione.getImporto_scadenza_obbligazione().toString());
}
return context.findDefaultForward();
} catch (Throwable t) {
return handleException(context, t);
}
}
Aggregations