use of it.cnr.contab.config00.bulk.Configurazione_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class ScritturaPartitaDoppiaComponent method findContoBanca.
private Voce_epBulk findContoBanca(UserContext userContext, int esercizio) throws ComponentException, RemoteException, PersistencyException {
Configurazione_cnrBulk configBanca = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(userContext, esercizio, null, Configurazione_cnrBulk.PK_VOCEEP_SPECIALE, Configurazione_cnrBulk.SK_BANCA);
Voce_epHome voceEpHome = (Voce_epHome) getHome(userContext, Voce_epBulk.class);
return (Voce_epBulk) voceEpHome.findByPrimaryKey(new Voce_epBulk(configBanca.getVal01(), esercizio));
}
use of it.cnr.contab.config00.bulk.Configurazione_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class ReversaleComponent method docGenerico_creaDocumentoGenericoRiga.
/**
* creazione riga di documento di entrata x incasso IVA da fatture estere
* PreCondition:
* E' stata generata la richiesta di creazione di una riga di documento amministrativo di entrata
* a partire da una reversale di incasso IVA x fattura estera
* PostCondition:
* Un riga di documento amministrativo viene creata.
*
* @param userContext lo <code>UserContext</code> che ha generato la richiesta
* @param documento <code>Documento_genericoBulk</code> il documento generico
* @param scadenza <code>Accertamento_scadenzarioBulk</code> la scadenza dell'accertamento
* @param importo L'importo della reversale di regolarizzazione
* @param mRiga Mandato_rigaBulk da cui dedurre le modalita di pagamento
* @return riga <code>Documento_generico_rigaBulk</code> la riga del documento generico creata
*/
public Documento_generico_rigaBulk docGenerico_creaDocumentoGenericoRiga(UserContext userContext, Documento_genericoBulk documento, Accertamento_scadenzarioBulk scadenza, BigDecimal importo, Mandato_rigaBulk mRiga) throws ComponentException {
try {
Documento_generico_rigaBulk riga = docGenerico_creaDocumentoGenericoRiga(userContext, documento, scadenza, importo);
// terzo uo
SQLBuilder sql = getHome(userContext, TerzoBulk.class).createSQLBuilder();
sql.addClause("AND", "cd_unita_organizzativa", SQLBuilder.EQUALS, documento.getCd_unita_organizzativa());
sql.addClause("AND", "dt_canc", SQLBuilder.ISNULL, null);
List result = getHome(userContext, TerzoBulk.class).fetchAll(sql);
if (result == null || result.size() == 0)
throw handleException(new ApplicationException(" Impossibile emettere la reversale: l'unità organizzativa " + documento.getCd_unita_organizzativa() + " non e' stata codificata in anagrafica"));
TerzoBulk terzo_uo = (TerzoBulk) result.get(0);
riga.setCd_terzo_uo_cds(terzo_uo.getCd_terzo());
riga.setTerzo_uo_cds(terzo_uo);
// modalità pagamento
sql = getHome(userContext, Modalita_pagamentoBulk.class).createSQLBuilder();
sql.addClause("AND", "cd_terzo", SQLBuilder.EQUALS, terzo_uo.getCd_terzo());
sql.addClause("AND", "cd_terzo_delegato", SQLBuilder.ISNULL, null);
sql.addTableToHeader("RIF_MODALITA_PAGAMENTO");
sql.addSQLJoin("RIF_MODALITA_PAGAMENTO.CD_MODALITA_PAG", "MODALITA_PAGAMENTO.CD_MODALITA_PAG");
sql.addSQLClause("AND", "TI_PAGAMENTO", SQLBuilder.EQUALS, Rif_modalita_pagamentoBulk.BANCARIO);
result = getHome(userContext, Modalita_pagamentoBulk.class).fetchAll(sql);
if (result == null || result.size() == 0)
throw handleException(new ApplicationException(" Impossibile emettere la reversale: l'unità organizzativa " + documento.getCd_unita_organizzativa() + " non ha modalità di pagamento associate"));
Modalita_pagamentoBulk mp = (Modalita_pagamentoBulk) result.get(0);
riga.setCd_modalita_pag_uo_cds(mp.getCd_modalita_pag());
riga.setModalita_pagamento_uo_cds(new Rif_modalita_pagamentoBulk(mp.getCd_modalita_pag()));
sql = getHome(userContext, BancaBulk.class).createSQLBuilder();
sql.addClause("AND", "cd_terzo", SQLBuilder.EQUALS, terzo_uo.getCd_terzo());
sql.addClause("AND", "ti_pagamento", SQLBuilder.EQUALS, Rif_modalita_pagamentoBulk.BANCARIO);
sql.addClause("AND", "fl_cancellato", SQLBuilder.EQUALS, Boolean.FALSE);
sql.addSQLClause("AND", "CODICE_IBAN", SQLBuilder.ISNOTNULL, null);
sql.addSQLClause("AND", "cd_terzo_delegato", SQLBuilder.ISNULL, null);
try {
if (!Utility.createParametriCnrComponentSession().getParametriCnr(userContext, CNRUserContext.getEsercizio(userContext)).getFl_tesoreria_unica().booleanValue())
sql.addSQLClause("AND", "BANCA.FL_CC_CDS", SQLBuilder.EQUALS, "Y");
else {
Configurazione_cnrBulk config = new Configurazione_cnrBulk("CONTO_CORRENTE_SPECIALE", "ENTE", "*", new Integer(0));
it.cnr.contab.config00.bulk.Configurazione_cnrHome home = (it.cnr.contab.config00.bulk.Configurazione_cnrHome) getHome(userContext, config);
List configurazioni = home.find(config);
if ((configurazioni != null) && (configurazioni.size() == 1)) {
Configurazione_cnrBulk configBanca = (Configurazione_cnrBulk) configurazioni.get(0);
sql.addSQLClause("AND", "BANCA.ABI", SQLBuilder.EQUALS, configBanca.getVal01());
sql.addSQLClause("AND", "BANCA.CAB", SQLBuilder.EQUALS, configBanca.getVal02());
sql.addSQLClause("AND", "BANCA.NUMERO_CONTO", SQLBuilder.CONTAINS, configBanca.getVal03());
}
}
} catch (Exception e) {
throw handleException(e);
}
result = getHome(userContext, BancaBulk.class).fetchAll(sql);
if (result == null || result.size() == 0)
throw handleException(new ApplicationException(" Impossibile emettere la reversale: l'unità organizzativa " + documento.getCd_unita_organizzativa() + " non ha coordinate bancarie associate"));
BancaBulk banca = (BancaBulk) result.get(0);
riga.setPg_banca_uo_cds(banca.getPg_banca());
riga.setBanca_uo_cds(banca);
return riga;
} catch (Exception e) {
throw handleException(e);
}
}
use of it.cnr.contab.config00.bulk.Configurazione_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class SaldoComponent method checkBloccoImpegniNatfin.
public void checkBloccoImpegniNatfin(UserContext userContext, WorkpackageBulk workpackageBulk, Elemento_voceBulk elementoVoceBulk, String tipoObbligazione) throws ComponentException {
try {
if ((ObbligazioneBulk.TIPO_COMPETENZA.equals(tipoObbligazione) && elementoVoceBulk.isAttivoBloccoResiduiNatfinCompetenza()) || ((ObbligazioneBulk.TIPO_RESIDUO_PROPRIO.equals(tipoObbligazione) || ObbligazioneBulk.TIPO_RESIDUO_IMPROPRIO.equals(tipoObbligazione)) && elementoVoceBulk.isAttivoBloccoResiduiNatfinResidui())) {
Parametri_cdsBulk param_cds = (Parametri_cdsBulk) (getHome(userContext, Parametri_cdsBulk.class)).findByPrimaryKey(new Parametri_cdsBulk(CNRUserContext.getCd_cds(userContext), CNRUserContext.getEsercizio(userContext)));
if (param_cds.getFl_blocco_impegni_natfin().equals(Boolean.TRUE)) {
Configurazione_cnrBulk configBulk = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_BLOCCO_RESIDUI, Configurazione_cnrBulk.SK_NATURA_FINANZIAMENTO);
if (Optional.ofNullable(configBulk).isPresent()) {
Optional<String> optNatura = Optional.ofNullable(configBulk).map(Configurazione_cnrBulk::getVal01);
Optional<String> optCodFinanziamento = Optional.ofNullable(configBulk).map(Configurazione_cnrBulk::getVal02);
if (optNatura.isPresent() || optCodFinanziamento.isPresent()) {
if (optNatura.map(el -> el.equals(workpackageBulk.getNatura().getTipo())).orElse(Boolean.TRUE) && optCodFinanziamento.map(el -> el.equals(workpackageBulk.getProgetto().getOtherField().getTipoFinanziamento().getCodice())).orElse(Boolean.TRUE))
throw new ApplicationException("Non è possibile effettuare movimentazioni per il CDR/GAE/Voce (" + workpackageBulk.getCd_centro_responsabilita() + "/" + workpackageBulk.getCd_linea_attivita() + "/" + elementoVoceBulk.getCd_voce() + "), in quanto " + optNatura.map(el -> "GAE di natura " + el).orElse("") + (optNatura.isPresent() && optCodFinanziamento.isPresent() ? " e " : "") + optCodFinanziamento.map(el -> "Progetto di tipo " + el + " ").orElse("") + ".");
}
}
}
}
} catch (PersistencyException e) {
throw new ComponentException(e);
} catch (RemoteException e) {
throw new ComponentException(e);
}
}
use of it.cnr.contab.config00.bulk.Configurazione_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class CompensoComponent method controlloRiduzioneCuneo32020.
/**
* Viene validato il compenso prima del salvataggio - validazione data
* registrazione, date competenza, descrizione compenso - validazioni dati
* fattura (se uno è presente, allora devono esserci tutti) - validazione
* terzo - validazione dati liquidazione (regione Irap, voce iva, tipologia
* rischio) - eseguito il calcolo dei contributi/ritenute - creata
* obbligazione e aggiornata con l'importo totale del compenso - terzo
* obbligazione e terzo compenso consistenti
*
* Viene richiesta la validazione di una Compenso prima del salvataggio
*
* Pre-post_conditions
*
* Nome: Validazione Testata compenso NON superata Pre: Data registrazione,
* Date competenza o Descrizione compenso non validi Post: Viene restituita
* una ComponentException con la desrizione dell'errore
*
* Nome: Validazione dati fattura NON superata Pre: Nr. fattura, esercizio
* fattura e data fattura contemporaneamente presenti Post: Viene restituita
* una ComponentException con la desrizione dell'errore
*
* Nome: Validazione Terzo NON superata Pre: Il terzo selezionato non
* risulta valido Post: Viene restituita una ComponentException con la
* desrizione dell'errore
*
* Nome: Validazione Regione IRAP, Voce IVA, Tipologia Rischio NON superata
* Pre: Non è stato selezionata una regione IRAP, voce IVA o Tipologia
* Rischio valida Post: Viene restituita una ComponentException con la
* desrizione dell'errore
*
* Nome: Non eseguito il calcolo del compenso Pre: Il calcolo del compenso
* (creazione dei contributi/ritenute) non eseguito Post: Viene restituita
* una ComponentException con la desrizione dell'errore
*
* Nome: Obbligazione non creata o Importo dell'obbligazione non coerente
* con l'importo del compenso Pre: Non è stata creata l'obbligazione o
* l'importo della stessa non è coerente con l'importo del compenso Post:
* Viene restituita una ComponentException con la desrizione dell'errore
*
* Nome: Obbligazione non valida Pre: L'obbligazione non supera i controlli
* per la sua validazione Post: Viene restituita una ComponentException con
* la desrizione dell'errore
*
* Nome: Tutte le validazioni precedenti superate Pre: Il compenso supera
* tutte le validazioni precedenti Post: Viene validato l'OggettoBulk
*
* @param userContext
* lo UserContext che genera la richiesta
* @param compenso
* l'OggettoBulk da validare
*/
private void controlloRiduzioneCuneo32020(UserContext userContext, CompensoBulk compenso) throws ComponentException {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
Timestamp dataInizioGestioneRiduzioneCuneo = null;
Timestamp dataFineGestioneRiduzioneCuneo = null;
try {
Configurazione_cnrBulk configurazione = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(userContext, null, null, Configurazione_cnrBulk.PK_RIDUZIONE_CUNEO_DL_3_2020, Configurazione_cnrBulk.SK_DATA_INIZIO);
if (configurazione != null) {
dataInizioGestioneRiduzioneCuneo = configurazione.getDt01();
dataFineGestioneRiduzioneCuneo = configurazione.getDt02();
}
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
if (compenso.getDt_a_competenza_coge() != null && compenso.getDt_da_competenza_coge() != null) {
if (compenso.getDt_da_competenza_coge().compareTo(dataFineGestioneRiduzioneCuneo) < 0 || compenso.getDt_a_competenza_coge().compareTo(dataFineGestioneRiduzioneCuneo) < 0) {
if (compenso.getDt_da_competenza_coge().compareTo(dataInizioGestioneRiduzioneCuneo) < 0 && compenso.getDt_a_competenza_coge().compareTo(dataInizioGestioneRiduzioneCuneo) >= 0) {
throw new ApplicationException("Operazione non consentita. Le date di competenza devono essere entrambe precedenti o uguali/successive alla data di inizio della riduzione del cuneo fiscale DL 3/2020 del " + sdf.format(dataInizioGestioneRiduzioneCuneo));
}
if (compenso.getDt_da_competenza_coge().compareTo(dataFineGestioneRiduzioneCuneo) <= 0 && compenso.getDt_a_competenza_coge().compareTo(dataFineGestioneRiduzioneCuneo) > 0) {
throw new ApplicationException("Operazione non consentita. Le date di competenza devono essere entrambe precedenti o uguali/successive alla data di fine della riduzione del cuneo fiscale DL 3/2020 del " + sdf.format(dataFineGestioneRiduzioneCuneo));
}
}
}
}
use of it.cnr.contab.config00.bulk.Configurazione_cnrBulk in project sigla-main by consiglionazionaledellericerche.
the class FatturaAttivaSingolaComponent method setContoEnteIn.
public Fattura_attivaBulk setContoEnteIn(it.cnr.jada.UserContext userContext, Fattura_attivaBulk fatturaAttiva, java.util.List banche) throws ComponentException {
if (!Rif_modalita_pagamentoBulk.BANCARIO.equals(fatturaAttiva.getModalita_pagamento_uo().getTi_pagamento())) {
fatturaAttiva.setBanca_uo((BancaBulk) banche.get(0));
return fatturaAttiva;
}
try {
Configurazione_cnrBulk config = new Configurazione_cnrBulk("CONTO_CORRENTE_SPECIALE", "ENTE", "*", new Integer(0));
it.cnr.contab.config00.bulk.Configurazione_cnrHome home = (it.cnr.contab.config00.bulk.Configurazione_cnrHome) getHome(userContext, config);
java.util.List configurazioni = home.find(config);
if (configurazioni != null) {
if (configurazioni.isEmpty())
fatturaAttiva.setBanca_uo((BancaBulk) banche.get(0));
else if (configurazioni.size() == 1) {
Configurazione_cnrBulk configBanca = (Configurazione_cnrBulk) configurazioni.get(0);
BancaBulk bancaEnte = null;
for (Iterator i = banche.iterator(); i.hasNext(); ) {
BancaBulk banca = (BancaBulk) i.next();
if (bancaEnte == null) {
if (banca.getAbi().equalsIgnoreCase(configBanca.getVal01()) && banca.getCab().equalsIgnoreCase(configBanca.getVal02()) && banca.getNumero_conto().contains(configBanca.getVal03()))
bancaEnte = banca;
}
}
if (bancaEnte == null)
bancaEnte = (BancaBulk) banche.get(0);
fatturaAttiva.setBanca_uo(bancaEnte);
} else
fatturaAttiva.setBanca_uo((BancaBulk) banche.get(0));
}
} catch (it.cnr.jada.persistency.PersistencyException e) {
throw handleException(e);
}
return fatturaAttiva;
}
Aggregations