it.cnr.contab.ordmag.ordini.bulk.OrdineAcqHome 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 .
*/
/*
* Created by BulkGenerator 2.0 [07/12/2009]
* Date 28/06/2017
*/
package it.cnr.contab.ordmag.ordini.bulk;
import java.sql.Connection;
import it.cnr.contab.ordmag.anag00.AbilUtenteUopOperBulk;
import it.cnr.contab.ordmag.anag00.AbilUtenteUopOperHome;
import it.cnr.contab.ordmag.anag00.NumerazioneOrdBulk;
import it.cnr.contab.ordmag.anag00.NumerazioneOrdHome;
import it.cnr.contab.ordmag.anag00.TipoOperazioneOrdBulk;
import it.cnr.contab.ordmag.anag00.UnitaOperativaOrdBulk;
import it.cnr.contab.ordmag.anag00.UnitaOperativaOrdHome;
import it.cnr.contab.ordmag.ordini.bulk.OrdineAcqBulk;
import it.cnr.contab.utenze00.bp.CNRUserContext;
import it.cnr.jada.UserContext;
import it.cnr.jada.bulk.BulkHome;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.Persistent;
import it.cnr.jada.persistency.PersistentCache;
import it.cnr.jada.persistency.sql.CompoundFindClause;
import it.cnr.jada.persistency.sql.SQLBuilder;
public class OrdineAcqHome extends BulkHome {
public OrdineAcqHome(Connection conn) {
super(OrdineAcqBulk.class, conn);
}
public OrdineAcqHome(Connection conn, PersistentCache persistentCache) {
super(OrdineAcqBulk.class, conn, persistentCache);
}
public SQLBuilder selectUnitaOperativaOrdByClause(UserContext userContext, OrdineAcqBulk ordine,
UnitaOperativaOrdHome unitaOperativaHome, UnitaOperativaOrdBulk unitaOperativaBulk,
CompoundFindClause compoundfindclause) throws PersistencyException{
SQLBuilder sql = unitaOperativaHome.selectByClause(userContext, compoundfindclause);
AbilUtenteUopOperHome home = (AbilUtenteUopOperHome) getHomeCache().getHome(AbilUtenteUopOperBulk.class);
SQLBuilder sqlExists = home.createSQLBuilder();
sqlExists.addSQLJoin("UNITA_OPERATIVA_ORD.CD_UNITA_OPERATIVA", "ABIL_UTENTE_UOP_OPER.CD_UNITA_OPERATIVA");
if (ordine.getIsForFirma()){
sqlExists.addSQLClause("AND", "ABIL_UTENTE_UOP_OPER.CD_TIPO_OPERAZIONE", SQLBuilder.EQUALS, TipoOperazioneOrdBulk.OPERAZIONE_FIRMA_ORDINE);
} else {
sqlExists.openParenthesis("AND");
sqlExists.addSQLClause("OR", "ABIL_UTENTE_UOP_OPER.CD_TIPO_OPERAZIONE", SQLBuilder.EQUALS, TipoOperazioneOrdBulk.OPERAZIONE_ORDINE);
sqlExists.addSQLClause("OR", "ABIL_UTENTE_UOP_OPER.CD_TIPO_OPERAZIONE", SQLBuilder.EQUALS, TipoOperazioneOrdBulk.OPERAZIONE_APPROVAZIONE_ORDINE);
sqlExists.closeParenthesis();
}
sqlExists.addSQLClause("AND", "ABIL_UTENTE_UOP_OPER.CD_UTENTE", SQLBuilder.EQUALS, userContext.getUser());
sql.addSQLExistsClause("AND", sqlExists);
return sql;
}
public void addConditionAbilUtenteUop(UserContext userContext, SQLBuilder sql) {
sql.addTableToHeader("ABIL_UTENTE_UOP_OPER");
sql.openParenthesis("AND");
sql.addSQLClause("OR", "ABIL_UTENTE_UOP_OPER.CD_TIPO_OPERAZIONE", SQLBuilder.EQUALS, TipoOperazioneOrdBulk.OPERAZIONE_ORDINE);
sql.addSQLClause("OR", "ABIL_UTENTE_UOP_OPER.CD_TIPO_OPERAZIONE", SQLBuilder.EQUALS, TipoOperazioneOrdBulk.OPERAZIONE_APPROVAZIONE_ORDINE);
sql.addSQLClause("OR", "ABIL_UTENTE_UOP_OPER.CD_TIPO_OPERAZIONE", SQLBuilder.EQUALS, TipoOperazioneOrdBulk.OPERAZIONE_FIRMA_ORDINE);
sql.closeParenthesis();
sql.openParenthesis("AND");
sql.addSQLClause("OR", "ORDINE_ACQ.STATO", SQLBuilder.EQUALS, OrdineAcqBulk.STATO_DEFINITIVO);
sql.addSQLClause("OR", "ORDINE_ACQ.STATO", SQLBuilder.EQUALS, OrdineAcqBulk.STATO_IN_APPROVAZIONE);
sql.addSQLClause("OR", "ORDINE_ACQ.STATO", SQLBuilder.EQUALS, OrdineAcqBulk.STATO_ALLA_FIRMA);
sql.closeParenthesis();
sql.addSQLClause("AND", "ABIL_UTENTE_UOP_OPER.CD_UTENTE", SQLBuilder.EQUALS, userContext.getUser());
}
public SQLBuilder selectNumerazioneOrdByClause(UserContext userContext, OrdineAcqBulk ordine,
NumerazioneOrdHome numerazioneHome, NumerazioneOrdBulk numerazioneBulk,
CompoundFindClause compoundfindclause) throws PersistencyException{
if (ordine == null || ordine.getCdUopOrdine() == null){
throw new PersistencyException("Selezionare prima l'unità operativa");
}
SQLBuilder sql = numerazioneHome.selectByClause(userContext, compoundfindclause);
sql.addSQLClause("AND", "NUMERAZIONE_ORD.CD_UNITA_OPERATIVA", SQLBuilder.EQUALS, ordine.getCdUopOrdine());
sql.addSQLClause("AND", "NUMERAZIONE_ORD.ESERCIZIO", SQLBuilder.EQUALS, CNRUserContext.getEsercizio(userContext));
sql.addSQLClause("AND", "NUMERAZIONE_ORD.CD_TIPO_OPERAZIONE", SQLBuilder.EQUALS, TipoOperazioneOrdBulk.OPERAZIONE_ORDINE);
return sql;
}
@Override
public SQLBuilder selectByClause(UserContext usercontext, CompoundFindClause compoundfindclause)
throws PersistencyException {
// TODO Auto-generated method stub
return super.selectByClause(usercontext, compoundfindclause);
}
@Override
public void delete(Persistent persistent, UserContext userContext) throws PersistencyException {
((OrdineAcqBulk)persistent).setStato(OrdineAcqBulk.STATO_ANNULLATO);
super.update(persistent, userContext);
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy