it.cnr.contab.docamm00.tabrif.bulk.TariffarioHome 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.docamm00.tabrif.bulk;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.*;
import it.cnr.jada.persistency.*;
import it.cnr.jada.persistency.beans.*;
import it.cnr.jada.persistency.sql.*;
import java.sql.*;
public class TariffarioHome extends BulkHome {
public TariffarioHome(java.sql.Connection conn) {
super(TariffarioBulk.class,conn);
}
public TariffarioHome(java.sql.Connection conn,PersistentCache persistentCache) {
super(TariffarioBulk.class,conn,persistentCache);
}
/**
* Metodo che controlla la validità del tariffario relativo ad un'unità
* organizzativa dato il suo codice
*
* Creation date: (06/11/2001 17.00.04)
*
* @return boolean
*/
public boolean checkPeriodi(UserContext userContext, TariffarioBulk tariffario)
throws PersistencyException, it.cnr.jada.comp.ApplicationException {
boolean accepted = false;
/* Ricava tutte le righe del tariffario con quella unità organizzativa e quel codice */
Timestamp maxData = (Timestamp) findMax(tariffario, "dt_ini_validita", null);
Timestamp maxDataFineValidita = (Timestamp) findMax(tariffario, "dt_fine_validita", null);
if (maxData == null) // non ci sono records in tabella: l'inserzione può avvenire
accepted = true;
else {
/* controlla che la data che viene immessa sia successiva alla più
recente tra quelle in tabella: in tal caso l'inserzione avviene */
if (tariffario.getDt_ini_validita() == null)
throw new it.cnr.jada.comp.ApplicationException("La data di inizio validità non può essere vuota!");
if (maxDataFineValidita==null || !maxDataFineValidita.equals(it.cnr.contab.config00.esercizio.bulk.EsercizioHome.DATA_INFINITO))
if (tariffario.getDt_ini_validita().after(maxData)) {
/* aggiorna la data di fine_validita dell'ultimo periodo già inserito: corrisponde
alla data del giorno precedente a quella ini_validita che si vuol inserire */
TariffarioBulk vecchioTariffario =
(TariffarioBulk) findByPrimaryKey(new TariffarioBulk(tariffario.getCd_tariffario(),
tariffario.getCd_unita_organizzativa(),
maxData),
true);
vecchioTariffario.setDt_fine_validita(
it.cnr.contab.compensi00.docs.bulk.CompensoBulk.decrementaData(tariffario.getDt_ini_validita()));
update(vecchioTariffario, userContext);
accepted = true;
} else
accepted = false;
else
accepted = true;
}
tariffario.setDt_fine_validita(it.cnr.contab.config00.esercizio.bulk.EsercizioHome.DATA_INFINITO);
return accepted;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy