All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.cnr.contab.doccont00.comp.IAccertamentoPGiroMgr 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 java.math.*;
import it.cnr.contab.doccont00.core.bulk.*;
import it.cnr.jada.UserContext;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.comp.ICRUDMgr;

import java.util.Vector;

public interface IAccertamentoPGiroMgr extends IDocumentoContabileMgr, ICRUDMgr
{

/**
 * Aggiornamento in differita dei saldi dell'accertamento su partita di giro.
 * Un documento amministrativo di entrata che agisce in modalità transazionale ha creato/modificato gli importi 
 * relativi ad un accertamento pgiro; i saldi di tale accertamento non possono essere aggiornati subito in quanto
 * tale operazione genererebbe dei lock sulle voci del piano che non ne consentirebbero l'utilizzo ad altri utenti;
 * pertanto l'aggiornamento dei saldi dell'accertamento pgiro viene differito al momento del salvataggio
 * del documento amministrativo.
 *
 * Pre-post-conditions:
 *
 * Nome: Aggiorna saldi per accertamento su partita di giro creato 
 * Pre:  Una richiesta di aggiornamento dei saldi in differita e' stata generata per un accertamento su capitoli di
 *       partita di giro che e' stato creato nel contesto transazionale del documento amministrativo ( progressivo
 *       accertamento pgiro < 0)
 * Post: I saldi dell'accertamento pgiro sono stati aggiornati nel metodo 'aggiornaSaldiInInserimento'
 *
 * Nome: Aggiorna saldi per accertamento su partita di giro esistente
 * Pre:  Una richiesta di aggiornamento dei saldi in differita e' stata generata per un accertamento su capitoli di
 *       partita di giro che non e' stato creato nel contesto transazionale del documento amministrativo ( progressivo
 *       accertamento pgiro > 0)
 * Post: I saldi dell'accertamento pgiro sono stati aggiornati nel metodo 'aggiornaSaldiInModifica'
 *
 * @param	userContext	lo UserContext che ha generato la richiesta
 * @param	docContabile	il documento contabile di tipo AccertamentoPGiroBulk per cui aggiornare i saldi
 * @param	values	la Map che contiene il "pg_ver_rec" iniziale dell'accertamento
 * @param	param paramtero non utilizzato per gli accertamenti
 *
*/

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;
/** 
  *  cancellazione (logica)
  *    PreCondition:
  *      L'utente richiede la cancellazione di un accertamento su partita di giro
  *    PostCondition:
  *     Alla component che gestisce l'obbligazione su pgiro viene inoltrata la richiesta di cancellazione (logica) 
  *		dell'obbligazione associata all'impegno (metodo eliminaObbligazione), l'accertamento (con la sua scadenza 
  *		e il suo dettaglio scadenza) viene cancellato (metodo eliminaAccertamento)
  *  errore - doc.amm.associati
  *    PreCondition:
  *      La richiesta di cancellazione di un accertamento su partita di giro e' stata generata ma esistono
  *      documenti amministrativi contabilizzati sulla scadenza dell'accertamento
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente l'impossibilità di effettuare la cancellazione
  *
  * @param userContext lo UserContext che ha generato la richiesta
  * @param accert_pgiro AccertamentoPGiroBulk l'accertamento su partita di giro da cancellare (logicamente)
  * @return accert_pgiro AccertamentoPGiroBulk l'accertamento su partita di giro annullato
  *
 */
public abstract it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk annullaAccertamento(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk param1) throws it.cnr.jada.comp.ComponentException;
public void callRiportaAvanti (UserContext userContext,it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk doc) throws ComponentException;
public void callRiportaIndietro (UserContext userContext,it.cnr.contab.doccont00.core.bulk.IDocumentoContabileBulk doc) throws ComponentException;
/** 
  *  creazione
  *    PreCondition:
  *      Un Impegno su partita di giro e' stato creato ed e' necessario creare il corrispondente Accertamento
  *    PostCondition:
  *      L'accertamento (AccertamentoPGiroBulk) viene creato con importo pari a quello dell'impegno, codice terzo
  *      recuperato dalla Configurazione CNR come codice DIVERSI per PARTITA di GIRO, capitolo di entrata ricavato
  *      (metodo findVoce_f) dall'associazione fra Capitoli di Entrata e di Spesa per Partita di Giro, data di
  *		 scadenza uguale a quella della scadenza dell'obbligazione su partita di giro.
  *      Viene inoltre creata una scadenza (metodo creaAccertamento_scadenzario) e
  *      un dettaglio di scadenza (metodo creaAccertamento_scad_voce). I saldi relativi alla voce del piano
  *      dell'accertamento vengono aggiornati (metodo aggiornaCapitoloSaldoAccertamento).
  *		 Viene infine validato l'Accertamento prima della sua creazione (metodo verificaAccertamento)
  *  errore - Configurazione CNR per codice DIVERSI su PGIRO
  *    PreCondition:
  *      non e' presente in Configurazione CNR la definizione del CODICE DIVERSI per PGIRO
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente la mancata definizione in Configurazione CNR del CODICE DIVERSI 
  *		 per PGIRO
  *  errore - Anagrafica per codice DIVERSI su PGIRO
  *    PreCondition:
  *      non e' presente in Anagrafica il codice terzo presente in Configurazione CNR come CODICE DIVERSI per PGIRO
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente la mancata definizione in Anagrafica
  *  errore - Associazione capitoli entrata/spese
  *    PreCondition:
  *      non e' presente (Ass_partita_giroBulk) l'associazione fra il capitolo di spesa dell'impegno e un capitolo 
  *		 di entrata
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente l'assenza dell'associazione
  *
  * @param uc lo UserContext che ha generato la richiesta
  * @param imp_pgiro ImpegnoPGiroBulk l'impegno su partita di giro creato
  *
  * @return accert_pgiro L'accertamento su partita di giro creato in corrispondenza dell'impegno
*/

public abstract it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk creaAccertamento(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk param1) throws it.cnr.jada.comp.ComponentException;
public abstract AccertamentoPGiroBulk creaAccertamentoDiIncassoIVA( UserContext userContext, ReversaleBulk reversale,boolean split ) throws ComponentException;
/** 
  *  creazione
  *    PreCondition:
  *      L'utente richiede la creazione di un nuovo accertamento su partita di giro
  *    PostCondition:
  *      L'accertamento, dopo essere stato validato (metodo verificaAccertamento), viene creato e in automatico 
  *		 viene creata una scadenza (metodo creaAccertamento_scadenzario) e
  *      un dettaglio di scadenza (metodo creaAccertamento_scad_voce). I saldi relativi alla voce del piano
  *      dell'accertamento vengono aggiornati (metodo aggiornaCapitoloSaldoAccertamento). Alla componente che 
  *		 gestisce gli ImpegniPGiro viene chiesta la creazione di un Impegno (metodo creaObbligazione). 
  *		 Viene creata l'associazione (Ass_obb_acr_pgiroBulk) fra l'accertamento
  *      e l'impegno su partita di giro (metodo creaAss_obb_acr_pgiro)
  *
  * @param uc lo UserContext che ha generato la richiesta
  * @param bulk OggettoBulk l'accertamento su partita di giro da creare
  *
  * @return accert_pgiro L'accertamento su partita di giro creato
 */

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;
/** 
  *  cancellazione
  *    PreCondition:
  *      La richiesta di cancellazione di un accertamento su partita di giro e' stata generata
  *    PostCondition:
  *      L'accertamento, la sua scadenza e il suo dettaglio vengono cancellati. I saldi relativi ai documenti
  *      contabili vengono aggiornati (metodo aggiornaCapitoloSaldoAccertamento).
  *  errore - doc.amm.associati
  *    PreCondition:
  *      La richiesta di cancellazione di un accertamento su partita di giro e' stata generata ma esistono
  *      documenti amministrativi contabilizzati sulla scadenza dell'accertamento
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente l'impossibilità di effettuare la cancellazione
  *
  * @param aUC lo UserContext che ha generato la richiesta
  * @param accert_pgiro AccertamentoPGiroBulk l'accertamento su partita di giro da cancellare
  *
 */

public abstract void eliminaAccertamento(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk param1) throws it.cnr.jada.comp.ComponentException;
/** 
  *  cancellazione (logica)
  *    PreCondition:
  *      L'utente richiede la cancellazione di un accertamento su partita di giro
  *    PostCondition:
  *     Viene inoltrata la richiesta di cancellazione (logica) dell'accertamento su partita di giro
  *		(metodo annullaAccertamento)
  *
  * @param aUC lo UserContext che ha generato la richiesta
  * @param bulk OggettoBulk l'accertamento su partita di giro da cancellare (logicamente)
  *
 */
public abstract void eliminaConBulk(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 AccertamentoPGiroBulk per inserimento
  *      e' stata generata
  *    PostCondition:
  *      Viene impostata la data di registrazione dell'accertamento con la data odierna, il codice Cds e il codice Cds di origine 
  *      con il codice Cds di scrivania
  *  inizializzazione per inserimento - errore
  *    PreCondition:
  *      L'unità organizzativa è uguale a quella dell'Ente
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente che l'Ente non è abilitato a creare documenti su partita di giro
  *
  * @param aUC lo UserContext che ha generato la richiesta
  * @param bulk OggettoBulk l'accertamento su partita di giro da inizializzare per l'inserimento
  *
  * @return OggettoBulk l'accertamento su partita di giro inizializzato per l'inserimento
 */

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;
/** 
  *  inizializzazione per modifica
  *    PreCondition:
  *      La richiesta di inizializzazione di un AccertamentoPGiroBulk per modifica
  *      e' stata generata
  *    PostCondition:
  *      Vengono recuperati la scadenza e il dettaglio di scadenza associati all'accertamento.
  *      Viene recuperata l'associazione fra l'accertamento e l'impegno
  *		 Viene recuperato l'impegno associato all'accertamento e la relativa scadenza e dettaglio scadenza
  *
  *
  * @param aUC lo UserContext che ha generato la richiesta
  * @param bulk OggettoBulk l'accertamento su partita di giro da inizializzare per la modifica
  *
  * @return accert_pgiro l'accertamento su partita di giro inizializzato per la modifica
 */

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;
/** 
  *  Lock scadenza
  *		PreCondition:
  *			E' stato richiesto l'inserimento di un lock sulla scadenza di un accertamento
  *    PostCondition:
  *  		Il record relativo alla scadenza e' stato messo in lock e non e' pertanto consentito ad altre transazioni
  *         l'accesso a tale scadenza
 */

public abstract void lockScadenza(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.IScadenzaDocumentoContabileBulk param1) throws it.cnr.jada.comp.ComponentException;
/** 
  *  modifica importo
  *    PreCondition:
  *      L'utente richiede la modifica dell'importo di un impegno su partita di giro
  *    PostCondition:
  *      L'importo dell'accertamento associato all'impegno viene modificato e, in cascata, vengono modificati gli importi 
  *      relativi alla scadenza e al dettaglio scadenza dell'accertamento. I saldi relativi ai documenti contabili vengono
  *		 aggiornati (metodo aggiornaCapitoloSaldoAccertamento). Vengono aggiornati gli stati COAN e COGE degli eventuali
  *		 documenti amministrativi associati (metodo aggiornaStatoCOAN_COGEDocAmm)
  *  errore modifca importo - doc.amm.associati
  *    PreCondition:
  *      La richiesta di modifica dell'importo di un impegno su partita di giro e' stata generata ma esistono
  *      documenti amministrativi contabilizzati sulla scadenza dell'accertamento associato all'impegno
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente l'impossibilità di effettuare la modifica
  *  modifica capitolo
  *    PreCondition:
  *      L'utente richiede la modifica del capitolo di un impegno su partita di giro
  *    PostCondition:
  *      Il capitolo dell'accertamento associato all'impegno viene aggiornato col valore
  *      presente nell'associazione fra capitolo di spesa e capitolo di entrata su partite di giro
  *  modifica capitolo - errore
  *    PreCondition:
  *      L'utente richiede la modifica del capitolo di un impegno su partita di giro ma non esiste
  *      l'associazione fra il nuovo capitolo di spesa dell'impegno e un capitolo di entrata
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente l'impossibilità di effettuare la modifica
  *  modifica data di scadenza
  *    PreCondition:
  *      L'utente richiede la modifica della data di scadenza di un'obbligazione su partita di giro
  *    PostCondition:
  *      La data della scadenza dell'accertamento associato all'impegno viene aggiornata.
  *
  * @param uc lo UserContext che ha generato la richiesta
  * @param imp_pgiro ImpegnoPGiroBulk l'impegno su partita di giro a cui è associato l'accertamento pgiro da modificare
  *
  * @return accert_pgiro l'accertamento su partita di giro modificato
 */

public abstract it.cnr.contab.doccont00.core.bulk.AccertamentoPGiroBulk modificaAccertamento(it.cnr.jada.UserContext param0,it.cnr.contab.doccont00.core.bulk.ImpegnoPGiroBulk param1) throws it.cnr.jada.comp.ComponentException;
/** 
  *  modifica importo
  *    PreCondition:
  *      L'utente richiede la modifica dell'importo di un accertamento su partita di giro
  *    PostCondition:
  *      L'importo dell'accertamento viene modificato e, in cascata, vengono modificati gli importi relativi
  *      alla scadenza e al dettaglio scadenza. I saldi relativi ai documenti contabili vengono aggiornati.
  *      Alla component che gestisce l'obbligazione su partita di giro viene inoltrata la richiesta di modifica
  *      dell'obbligazione associata all'accertamento (metodo modificaObbligazione)
  *		 I saldi relativi ai documenti contabili vengono aggiornati (metodo aggiornaCapitoloSaldoAccertamento).
  *		 Vengono aggiornati gli stati COAN e COGE degli eventuali documenti amministrativi associati 
  *		 (metodo aggiornaStatoCOAN_COGEDocAmm)
  *  errore modifca importo - doc.amm.associati
  *    PreCondition:
  *      La richiesta di modifica dell'importo di un accertamento su partita di giro e' stata generata ma esistono
  *      documenti amministrativi contabilizzati sulla scadenza dell'accertamento
  *    PostCondition:
  *      Un messaggio di errore segnala all'utente l'impossibilità di effettuare la modifica
  *  modifica descrizione
  *    PreCondition:
  *      L'utente richiede la modifica della descrizione di un accertamento su partita di giro
  *    PostCondition:
  *      La descrizione dell'accertamento e della scadenza di accertamento vengono aggiornate
  *  modifica capitolo
  *    PreCondition:
  *      L'utente richiede la modifica del capitolo di un accertamento su partita di giro
  *    PostCondition:
  *      Il capitolo viene aggiornato e viene inoltrata la richiesta di modifica del capitolo
  *      dell'obbligazione associata all'accertamento (metodo modificaObbligazione)
  *  modifica data di scadenza
  *    PreCondition:
  *      L'utente richiede la modifica della data di scadenza di un accertamento su partita di giro
  *    PostCondition:
  *      La data della scadenza dell'accertamento su partita di giro viene aggiornata.
  *
  *
  * @param aUC lo UserContext che ha generato la richiesta
  * @param bulk OggettoBulk l'accertamento su partita di giro da modificare
  *
  * @return accert_pgiro OggettoBulk l'accertamento su partita di giro modificato
 */

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 della testata dell'accertamento
 *	
 * Pre-post-conditions:
 *
 * Nome: Scadenza successiva - Errore ultima scadenza
 * Pre:  E' stata generata la richiesta di modifica della scadenza successiva
 * Post: Viene generata un'ApplicationException in quanto gli accertamenti su partita di giro hanno un'unica scadenza
 *
 * Nome: Modifica scadenza
 * Pre:  E' stata generata la richiesta di modifica dell'importo di una scadenza
 * Post: Vengono aggiornati l'importo in testata, in scadenza e in scad_voce e la controparte per l'impegno
 *
 * @param userContext lo userContext che ha generato la richiesta
 * @param scad (con importo originale)
 * @param nuovoImporto che deve assumere la scadenza
 * @param modificaScadenzaSuccessiva se true indica il fatto che la testata dell'accertamento non deve essere modificata
 *                                   e che la differenza fra l'importo attuale e il vecchio importo deve essere riportata sulla
 *									 scadenza successiva
 * @param modificaScadenzaSuccessiva se false indica il fatto che deve essere modificato l'importo della scadenza e della testata
 *                                   dell'accertamento
 * @return la scadenza 
 */

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;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy