it.cnr.contab.preventvar00.action.CRUDVarBilancioAction 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.preventvar00.action;
import java.rmi.RemoteException;
import java.util.Iterator;
import it.cnr.contab.prevent00.bulk.*;
import it.cnr.contab.preventvar00.bulk.*;
import it.cnr.contab.preventvar00.bp.*;
import it.cnr.contab.varstanz00.bulk.Var_stanz_resBulk;
import it.cnr.jada.action.ActionContext;
import it.cnr.jada.action.Forward;
import it.cnr.jada.util.action.*;
/**
* Action di gestione delle variazioni di bilancio preventivo
*/
public class CRUDVarBilancioAction extends it.cnr.jada.util.action.CRUDAction {
public CRUDVarBilancioAction() {
super();
}
/**
*
* Gestisce una richiesta di cancellazione dal controller "dettagliCRUDController"
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
*/
public Forward doAddToCRUDMain_dettagliCRUDController(ActionContext context) {
try{
CRUDVarBilancioBP bp = (CRUDVarBilancioBP)getBusinessProcess(context);
if (((Var_bilancioBulk)bp.getModel()).getTi_variazione()==null)
throw new it.cnr.jada.action.MessageToUser("Selezionare il Tipo Variazione");
getController(context,"main.dettagliCRUDController").add(context);
return context.findDefaultForward();
}catch(Throwable ex){
return handleException(context, ex);
}
}
public Forward doBlankSearchFind_voce(ActionContext context, Var_bilancio_detBulk dett) {
if (dett!=null){
V_assestato_voceBulk voce = new V_assestato_voceBulk();
dett.setVoceFSaldi(voce);
dett.setTipoGestione(dett.getVarBilancio().getTipoGestione());
}
return context.findDefaultForward();
}
/**
*
* Gestisce una richiesta di ricerca del searchtool "find_voce"
*
* @param context L'ActionContext della richiesta
* @param varDett L'OggettoBulk padre del searchtool
* @param voce L'OggettoBulk selezionato dall'utente
* @return Il Forward alla pagina di risposta
*/
public Forward doBringBackSearchFind_voce(ActionContext context, Var_bilancio_detBulk varDett, V_assestato_voceBulk voce) {
try {
if (voce!=null){
CRUDVarBilancioBP bp = (CRUDVarBilancioBP)getBusinessProcess(context);
Var_bilancioBulk varBilancio = (Var_bilancioBulk)bp.getModel();
if(varBilancio.hasVoceDuplicata(varDett, voce)){
varDett.setVoceFSaldi(new V_assestato_voceBulk());
varDett.setTipoGestione(varBilancio.getTipoGestione());
setErrorMessage(context,"Esiste già un dettaglio con la voce selezionata!");
}else{
varDett.setVoceFSaldi(voce);
}
}
return context.findDefaultForward();
}catch(Throwable ex){
return handleException(context, ex);
}
}
/** metodo da inserire per cercare le variazioni mie
doSearchFind_pdg_variazione
/
/**
* Gestione della richiesta di salvataggio di una variazione come definitiva
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
*/
public Forward doOnTiVariazioneChange(ActionContext context) {
try {
CRUDVarBilancioBP bp = (CRUDVarBilancioBP)getBusinessProcess(context);
Var_bilancioBulk varBil = (Var_bilancioBulk)bp.getModel();
String oldTipoVar = varBil.getTi_variazione();
fillModel(context);
if (!varBil.verificaTipoVariazione()) {
varBil.setTi_variazione(oldTipoVar);
setMessage(context, FormBP.WARNING_MESSAGE,"Non è possibile modificare il tipo variazione!\nIncompatibilità con i dettagli.");
}else{
Var_bilancio_detBulk varBilDett = (Var_bilancio_detBulk)bp.getDettagliCRUDController().getModel();
if (varBilDett!=null && varBilDett.getCd_voce()==null)
varBilDett.setTipoGestione(varBil.getTipoGestione());
}
return context.findDefaultForward();
}catch(Throwable ex){
return handleException(context, ex);
}
}
public Forward doOnEsercizioResChange(ActionContext context) {
try {
fillModel(context);
CRUDVarBilancioBP bp = (CRUDVarBilancioBP)getBusinessProcess(context);
Var_bilancioBulk varBil = (Var_bilancioBulk)bp.getModel();
if(varBil.isNew()){
varBil.setVar_stanz_res(new Var_stanz_resBulk());
}
for (Iterator i=varBil.getDettagli().iterator();i.hasNext();){
Var_bilancio_detBulk det=(Var_bilancio_detBulk) i.next();
V_assestato_voceBulk old=det.getVoceFSaldi();
det.setVoceFSaldi(new V_assestato_voceBulk(old.getEsercizio(), varBil.getEsercizio_res().getEsercizio(), old.getCd_centro_responsabilita(), old.getTi_appartenenza(), old.getTi_gestione(), old.getCd_elemento_voce()));
det.getVoceFSaldi().setCd_voce(old.getCd_voce());
bp.completeSearchTool(context, det, det.getBulkInfo().getFieldProperty("find_voce"));
}
return context.findDefaultForward();
}catch(Throwable ex){
return handleException(context, ex);
}
}
/**
* Gestione della richiesta di salvataggio di una variazione come definitiva
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
*/
public Forward doSalvaDefinitivo(ActionContext context) {
try {
// throw new it.cnr.jada.action.MessageToUser("Funzione non ancora implementata!!");
fillModel(context);
CRUDVarBilancioBP bp = (CRUDVarBilancioBP)getBusinessProcess(context);
bp.salvaDefinitivo(context);
setMessage(context, it.cnr.jada.util.action.FormBP.WARNING_MESSAGE, "Operazione eseguita con successo");
return context.findDefaultForward();
}catch(Throwable ex){
return handleException(context, ex);
}
}
public Forward doElimina(ActionContext actioncontext) throws RemoteException {
try
{
fillModel(actioncontext);
CRUDBP crudbp = getBusinessProcess(actioncontext);
if(!crudbp.isEditing())
{
crudbp.setMessage("Non \350 possibile cancellare in questo momento");
} else
{
crudbp.delete(actioncontext);
}
return actioncontext.findDefaultForward();
}
catch(Throwable throwable)
{
return handleException(actioncontext, throwable);
}
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy