it.cnr.contab.doccont00.bp.RicercaSingoloContoBP 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.bp;
import java.rmi.RemoteException;
import javax.ejb.EJBException;
import it.cnr.contab.config00.sto.bulk.Unita_organizzativaBulk;
import it.cnr.contab.doccont00.singconto.bulk.V_voce_f_sing_contoBulk;
import it.cnr.contab.utenze00.bp.CNRUserContext;
import it.cnr.contab.util.Utility;
import it.cnr.jada.action.ActionContext;
import it.cnr.jada.action.BusinessProcessException;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.persistency.PersistencyException;
import it.cnr.jada.persistency.sql.*;
import it.cnr.jada.util.action.SelectionListener;
public class RicercaSingoloContoBP
extends it.cnr.jada.util.action.SimpleCRUDBP
implements SelectionListener {
//private int status = SEARCH;
private java.math.BigDecimal pg_stampa = null;
private java.math.BigDecimal currentSequence = null;
public RicercaSingoloContoBP() throws it.cnr.jada.action.BusinessProcessException {
this("Tr");
}
public RicercaSingoloContoBP(String function) throws it.cnr.jada.action.BusinessProcessException {
super(function+"Tr");
}
/**
* clearSelection method comment.
*/
public void clearSelection(it.cnr.jada.action.ActionContext context)
throws it.cnr.jada.action.BusinessProcessException {
try {
((it.cnr.contab.doccont00.ejb.StampaSingoloContoComponentSession)createComponentSession()).annullaModificaSelezione(
context.getUserContext(),
(V_voce_f_sing_contoBulk)getModel());
} catch(it.cnr.jada.comp.ComponentException e) {
throw handleException(e);
} catch(java.rmi.RemoteException e) {
throw handleException(e);
}
}
/**
* deselectAll method comment.
*/
public void deselectAll(it.cnr.jada.action.ActionContext context) {}
/**
* Effettua una operazione di ricerca per un attributo di un modello.
* @param actionContext contesto dell'azione in corso
* @param clauses Albero di clausole da utilizzare per la ricerca
* @param bulk prototipo del modello di cui si effettua la ricerca
* @param context modello che fa da contesto alla ricerca (il modello del FormController padre del
* controller che ha scatenato la ricerca)
* @return un RemoteIterator sul risultato della ricerca o null se la ricerca non ha ottenuto nessun risultato
*/
protected it.cnr.jada.persistency.sql.CompoundFindClause getCompoundClauses(
it.cnr.jada.action.ActionContext actionContext) {
V_voce_f_sing_contoBulk filtro = (V_voce_f_sing_contoBulk)getModel();
if (filtro == null) return null;
CompoundFindClause clauses = new CompoundFindClause();
try {
//E' ovvio che il codice seguente è ripetitivo, ma data la complessità delle
//possiblità risulta piu' ordinato alla lettura. Pertanto ho separato per
//casistica le varie clausole.
if (!filtro.isEnteInScrivania()) {
if (filtro.getFl_ente() != null && filtro.getFl_ente().booleanValue()) {
// filtro per entrata non consentito
/*if (filtro.isEntrata()) {
clauses.addClause("AND", "cd_voce", SQLBuilder.EQUALS, filtro.getCd_voce());
clauses.addClause("AND", "ti_competenza_residuo", SQLBuilder.EQUALS, filtro.getTi_competenza_residuo());
} else {
clauses.addClause("AND", "fl_partita_giro", SQLBuilder.EQUALS, filtro.getFl_partita_giro());
}*/
clauses.addClause("AND", "cd_voce", SQLBuilder.EQUALS, filtro.getCd_voce());
clauses.addClause("AND", "fl_partita_giro", SQLBuilder.EQUALS, filtro.getFl_partita_giro());
clauses.addClause("AND", "cd_cds", SQLBuilder.EQUALS, filtro.getCd_cds_ente());
clauses.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "C");
clauses.addClause("AND", "cd_cds_proprio", SQLBuilder.EQUALS, filtro.getCd_cds_scrivania());
} else {
clauses.addClause("AND", "cd_voce", SQLBuilder.EQUALS, filtro.getCd_voce());
clauses.addClause("AND", "cd_elemento_voce", SQLBuilder.EQUALS, filtro.getCd_elemento_voce());
clauses.addClause("AND", "fl_partita_giro", SQLBuilder.EQUALS, filtro.getFl_partita_giro());
if (filtro.isEntrata()) {
clauses.addClause("AND", "cd_cds", SQLBuilder.EQUALS, filtro.getCd_cds_ente());
String uo=(((CNRUserContext)actionContext.getUserContext()).getCd_unita_organizzativa());
Unita_organizzativaBulk bulk= (Unita_organizzativaBulk)Utility.createUnita_organizzativaComponentSession().findByPrimaryKey(actionContext.getUserContext(),new Unita_organizzativaBulk(uo));
if(!bulk.getFl_uo_cds().booleanValue())
clauses.addClause("AND", "cd_unita_organizzativa",SQLBuilder.EQUALS,((CNRUserContext)actionContext.getUserContext()).getCd_unita_organizzativa());
if(filtro.getFl_partita_giro())
clauses.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "D");
else{
clauses.addClause("AND", "cd_cds_proprio", SQLBuilder.EQUALS, filtro.getCd_cds_scrivania());
clauses.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "C");
}
}
else {
if(!filtro.getFl_partita_giro()){
clauses.addClause("AND", "cd_cds", SQLBuilder.EQUALS, filtro.getCd_cds_scrivania());
String uo=(((CNRUserContext)actionContext.getUserContext()).getCd_unita_organizzativa());
Unita_organizzativaBulk bulk= (Unita_organizzativaBulk)Utility.createUnita_organizzativaComponentSession().findByPrimaryKey(actionContext.getUserContext(),new Unita_organizzativaBulk(uo));
if(!bulk.getFl_uo_cds().booleanValue())
clauses.addClause("AND", "cd_unita_organizzativa",SQLBuilder.EQUALS,((CNRUserContext)actionContext.getUserContext()).getCd_unita_organizzativa());
}
clauses.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "D");
}
}
} else {
if (filtro.isEntrata()) {
clauses.addClause("AND", "cd_voce", SQLBuilder.EQUALS, filtro.getCd_voce());
clauses.addClause("AND", "cd_unita_organizzativa", SQLBuilder.EQUALS, filtro.getCd_unita_organizzativa());
clauses.addClause("AND", "fl_partita_giro", SQLBuilder.EQUALS, filtro.getFl_partita_giro());
} else {
clauses.addClause("AND", "cd_voce", SQLBuilder.EQUALS, filtro.getCd_voce());
clauses.addClause("AND", "cd_natura", SQLBuilder.EQUALS, filtro.getCd_natura());
clauses.addClause("AND", "cd_cds_proprio", SQLBuilder.EQUALS, filtro.getCd_cds_proprio());
clauses.addClause("AND", "cd_proprio_voce", SQLBuilder.EQUALS, filtro.getCd_proprio_voce());
clauses.addClause("AND", "fl_partita_giro", SQLBuilder.EQUALS, filtro.getFl_partita_giro());
}
clauses.addClause("AND", "cd_cds", SQLBuilder.EQUALS, filtro.getCd_cds_ente());
clauses.addClause("AND", "ti_appartenenza", SQLBuilder.EQUALS, "C");
}
//Esercizio di scrivania
clauses.addClause("AND", "esercizio", SQLBuilder.EQUALS, filtro.getEsercizio());
clauses.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, filtro.getTi_gestione());
filtro.setSqlClauses(clauses);
} catch (Exception e) {
handleException(e);
}
return clauses;
}
/**
* Insert the method's description here.
* Creation date: (16/01/2004 17.01.03)
* @return java.math.BigDecimal
*/
public java.math.BigDecimal getCurrentSequence() {
return currentSequence;
}
/**
* Insert the method's description here.
* Creation date: (15/01/2004 14.17.45)
* @return java.lang.Long
*/
public java.math.BigDecimal getPg_stampa() {
return pg_stampa;
}
/**
* getSelection method comment.
*/
public java.util.BitSet getSelection(it.cnr.jada.action.ActionContext context, it.cnr.jada.bulk.OggettoBulk[] bulks, java.util.BitSet currentSelection) throws it.cnr.jada.action.BusinessProcessException {
return currentSelection;
}
/**
* initializeSelection method comment.
*/
public void initializeSelection(it.cnr.jada.action.ActionContext context)
throws it.cnr.jada.action.BusinessProcessException {
try {
it.cnr.contab.doccont00.ejb.StampaSingoloContoComponentSession session =
(it.cnr.contab.doccont00.ejb.StampaSingoloContoComponentSession)
createComponentSession();
session.inizializzaSelezionePerModifica(
context.getUserContext(),
(V_voce_f_sing_contoBulk)getModel());
setPg_stampa(session.getPgStampa(context.getUserContext()));
setCurrentSequence(new java.math.BigDecimal(0));
} catch(it.cnr.jada.comp.ComponentException e) {
throw handleException(e);
} catch(java.rmi.RemoteException e) {
throw handleException(e);
}
}
/**
* Abilito il bottone di cancellazione documento solo se non ho scadenze in fase di modifica/inserimento
*/
public boolean isDeleteButtonHidden() {
return true;
}
public boolean isFreeSearchButtonHidden() {
return true;
}
/**
* Abilito il bottone di cancellazione documento solo se non ho scadenze in fase di modifica/inserimento
*/
public boolean isNewButtonHidden() {
return true;
}
public boolean isPrintButtonHidden() {
return true;
}
/**
* Abilito il bottone di cancellazione documento solo se non ho scadenze in fase di modifica/inserimento
*/
public boolean isSaveButtonHidden() {
return true;
}
/**
* Inzializza il ricevente nello stato di INSERT.
*/
public void reset(it.cnr.jada.action.ActionContext context) throws it.cnr.jada.action.BusinessProcessException {
resetForSearch(context);
}
public void resetIdReport(it.cnr.jada.action.ActionContext context)
throws it.cnr.jada.action.BusinessProcessException {
setPg_stampa(null);
setCurrentSequence(null);
}
/**
* Effettua una operazione di ricerca per un attributo di un modello.
* @param actionContext contesto dell'azione in corso
* @param clauses Albero di clausole da utilizzare per la ricerca
* @param bulk prototipo del modello di cui si effettua la ricerca
* @param context modello che fa da contesto alla ricerca (il modello del FormController padre del
* controller che ha scatenato la ricerca)
* @return un RemoteIterator sul risultato della ricerca o null se la ricerca non ha ottenuto nessun risultato
*/
public it.cnr.jada.util.RemoteIterator ricercaSingoliConti (it.cnr.jada.action.ActionContext actionContext)
throws BusinessProcessException, java.rmi.RemoteException {
try {
return find(actionContext,
getCompoundClauses(actionContext),
(it.cnr.jada.bulk.OggettoBulk)getModel());
} catch (Throwable t) {
throw handleException(t);
}
}
/**
* selectAll method comment.
*/
public void selectAll(it.cnr.jada.action.ActionContext context)
throws it.cnr.jada.action.BusinessProcessException {
try {
((it.cnr.contab.doccont00.ejb.StampaSingoloContoComponentSession)createComponentSession()).associaTutti(
context.getUserContext(),
(V_voce_f_sing_contoBulk)getModel(),
getPg_stampa());
} catch(it.cnr.jada.comp.ComponentException e) {
throw handleException(e);
} catch(java.rmi.RemoteException e) {
throw handleException(e);
}
}
/**
* Insert the method's description here.
* Creation date: (16/01/2004 17.01.03)
* @param newCurrentSequence java.math.BigDecimal
*/
public void setCurrentSequence(java.math.BigDecimal newCurrentSequence) {
currentSequence = newCurrentSequence;
}
/**
* Insert the method's description here.
* Creation date: (15/01/2004 14.17.45)
* @param newPg_stampa java.lang.Long
*/
public void setPg_stampa(java.math.BigDecimal newPg_stampa) {
pg_stampa = newPg_stampa;
}
/**
* setSelection method comment.
*/
public java.util.BitSet setSelection(it.cnr.jada.action.ActionContext context, it.cnr.jada.bulk.OggettoBulk[] bulks, java.util.BitSet oldSelection, java.util.BitSet newSelection) throws it.cnr.jada.action.BusinessProcessException {
try {
java.math.BigDecimal newSequence = ((it.cnr.contab.doccont00.ejb.StampaSingoloContoComponentSession)createComponentSession()).modificaSelezione(
context.getUserContext(),
(V_voce_f_sing_contoBulk)getModel(),
bulks,
oldSelection,
newSelection,
getPg_stampa(),
getCurrentSequence());
setCurrentSequence(newSequence);
return newSelection;
} catch(it.cnr.jada.comp.ComponentException e) {
throw handleException(e);
} catch(java.rmi.RemoteException e) {
throw handleException(e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy