it.cnr.contab.chiusura00.action.RiportoEsSuccessivoAction 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.chiusura00.action;
import java.rmi.RemoteException;
import it.cnr.contab.chiusura00.bp.RiportoEsSuccessivoBP;
import it.cnr.contab.chiusura00.bp.RiportoSelezionatoreListaBP;
import it.cnr.contab.chiusura00.bulk.V_obb_acc_xxxBulk;
import it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk;
import it.cnr.contab.config00.pdcfin.bulk.Voce_fBulk;
import it.cnr.contab.utenze00.bp.CNRUserContext;
import it.cnr.jada.action.ActionContext;
import it.cnr.jada.action.BusinessProcessException;
import it.cnr.jada.action.Forward;
import it.cnr.jada.action.HookForward;
import it.cnr.jada.bulk.BulkInfo;
import it.cnr.jada.util.ObjectReplacer;
import it.cnr.jada.util.RemoteIterator;
import it.cnr.jada.util.action.BulkBP;
import it.cnr.jada.util.action.OptionBP;
import it.cnr.jada.util.action.SelectionListener;
/**
* Action che gestisce il riporto avanti massivo di documenti contabili all'esercizio successivo;
* utilizzata anche nel caso di riporto avanti con cambio di capitolo finanziario
*/
public class RiportoEsSuccessivoAction extends it.cnr.jada.util.action.BulkAction {
public RiportoEsSuccessivoAction() {
super();
}
/**
* L'utente ha annullato la selezione dei documenti contabili fatta in precedenza
*
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
* @throws BusinessProcessException
*/
public Forward doAnnullaSelezione(ActionContext context) throws BusinessProcessException
{
return context.findDefaultForward();
}
/**
* L'utente ha annullato la selezione della voce_f o dell'elemento voce fatta in precedenza.
*
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
*/
public Forward doAnnullaVoce(ActionContext context)
{
try
{
fillModel( context );
((V_obb_acc_xxxBulk)((BulkBP )context.getBusinessProcess()).getModel()).setNuova_voce( new Voce_fBulk());
((V_obb_acc_xxxBulk)((BulkBP)context.getBusinessProcess()).getModel()).setNuovo_ev( new Elemento_voceBulk());
return context.findDefaultForward();
}
catch ( Exception e )
{
return handleException( context, e );
}
}
/**
* L'utente ha richiesto la ricerca di documenti contabili idonei as essere riportati aventi
*
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
*/
public it.cnr.jada.action.Forward doCercaDocDaRiportare( it.cnr.jada.action.ActionContext context )
{
try
{
fillModel(context);
RiportoEsSuccessivoBP bp = (RiportoEsSuccessivoBP) context.getBusinessProcess();
V_obb_acc_xxxBulk model = (V_obb_acc_xxxBulk)bp.getModel();
// model.validate();
it.cnr.jada.util.RemoteIterator ri = bp.cercaDocDaRiportare(context,model);
if (ri == null || ri.countElements() == 0) {
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context,ri);
if(bp.isCdsRibaltato(context))
bp.setMessage("La ricerca non ha fornito alcun risultato.");
else {
return openConfirm(context,"La ricerca non ha fornito alcun risultato. Si vuole procedere con il ribaltamento delle disponibilità residue?",OptionBP.CONFIRM_YES_NO,"doConfermaRibaltamento");
}
// bp.setMessage("La ricerca non ha fornito alcun risultato.");
return context.findDefaultForward();
}
else
{
bp.setModel(context,model);
RiportoSelezionatoreListaBP nbp = selectRiporto(context,
ri,
it.cnr.jada.bulk.BulkInfo.getBulkInfo(V_obb_acc_xxxBulk.class),
null,"doRiportaSelezione",null,(RiportoEsSuccessivoBP)bp);
nbp.setMultiSelection( true );
nbp.setSelectAllOnly(!bp.isRibaltato());
context.addHookForward("annulla_seleziona",this,"doAnnullaSelezione");
context.addHookForward("close",this,"doDefault");
return context.findDefaultForward();
}
} catch(Exception e) {
return handleException(context,e);
}
}
/**
* L'utente ha confermato di voler procedere con il riporto avanti dei documenti contabili
* selezionati
*
*
* @param context L'ActionContext della richiesta
* @param option
* @return Il Forward alla pagina di risposta
*/
public Forward doConfermaRiporto(ActionContext context, int option)
{
try
{
RiportoEsSuccessivoBP bp = (RiportoEsSuccessivoBP)context.getBusinessProcess();
if (option == OptionBP.YES_BUTTON)
bp.confermaRiporto(context);
else
bp.rollbackUserTransaction();
return context.findDefaultForward();
} catch(Throwable e) {
return handleException(context,e);
}
}
/**
* L'utente ha confermato la selezione effettuata dei documenti contabili
*
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
* @throws BusinessProcessException
*/
public Forward doRiportaSelezione(ActionContext context) throws BusinessProcessException
{
return openConfirm(context,"Attenzione tutti i documenti selezionati saranno riportati all'esercizio " +
(CNRUserContext.getEsercizio( context.getUserContext()).intValue() + 1) +
". Vuoi procedere?",OptionBP.CONFIRM_YES_NO,"doConfermaRiporto");
}
protected RiportoSelezionatoreListaBP selectRiporto(ActionContext actioncontext, RemoteIterator remoteiterator, BulkInfo bulkinfo, String s, String s1, ObjectReplacer objectreplacer, SelectionListener selectionlistener)
throws BusinessProcessException
{
try
{
RiportoSelezionatoreListaBP selezionatorelistabp = (RiportoSelezionatoreListaBP)actioncontext.createBusinessProcess("RiportoSelezionatoreListaBP");
selezionatorelistabp.setObjectReplacer(objectreplacer);
selezionatorelistabp.setSelectionListener(actioncontext, selectionlistener);
selezionatorelistabp.setIterator(actioncontext, remoteiterator);
selezionatorelistabp.setBulkInfo(bulkinfo);
selezionatorelistabp.setColumns(bulkinfo.getColumnFieldPropertyDictionary(s));
actioncontext.addHookForward("seleziona", this, s1);
HookForward _tmp = (HookForward)actioncontext.findForward("seleziona");
actioncontext.addBusinessProcess(selezionatorelistabp);
return selezionatorelistabp;
}
catch(RemoteException remoteexception)
{
throw new BusinessProcessException(remoteexception);
}
}
public Forward doConfermaRibaltamento(ActionContext context,int option) throws BusinessProcessException {
try
{
RiportoEsSuccessivoBP bp = (RiportoEsSuccessivoBP) context.getBusinessProcess();
if (option == OptionBP.YES_BUTTON)
{
bp.confermaRibaltamentoDispImproprie(context);
bp.commitUserTransaction();
bp.aggiornaParametriCds(context);
bp.commitUserTransaction();
bp.setMessage("E' stato effettuato il ribaltamento");
}
if (option == OptionBP.NO_BUTTON)
bp.setMessage("Non è stato effettuato il ribaltamento");
return context.findDefaultForward();
}
catch(Throwable e)
{
return handleException(context,e);
}
}
public it.cnr.jada.action.Forward doCercaResiduiForRiaccertamento( it.cnr.jada.action.ActionContext context )
{
try
{
fillModel(context);
RiportoEsSuccessivoBP bp = (RiportoEsSuccessivoBP) context.getBusinessProcess();
V_obb_acc_xxxBulk model = (V_obb_acc_xxxBulk)bp.getModel();
it.cnr.jada.util.RemoteIterator ri = bp.cercaResiduiForRiaccertamento(context);
if (ri == null || ri.countElements() == 0) {
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context,ri);
bp.setMessage("La ricerca non ha fornito alcun risultato.");
return context.findDefaultForward();
}
else
{
bp.setModel(context,model);
RiportoSelezionatoreListaBP nbp = selectRiporto(context,
ri,
it.cnr.jada.bulk.BulkInfo.getBulkInfo(V_obb_acc_xxxBulk.class),
null,"doDefault",null,(RiportoEsSuccessivoBP)bp);
nbp.setMultiSelection( false );
nbp.setSelectAllOnly(false);
context.addHookForward("close",this,"doDefault");
return context.findDefaultForward();
}
} catch(Exception e) {
return handleException(context,e);
}
}
public it.cnr.jada.action.Forward doCercaGaeSenzaProgettiForRibaltamento( it.cnr.jada.action.ActionContext context )
{
try
{
fillModel(context);
RiportoEsSuccessivoBP bp = (RiportoEsSuccessivoBP) context.getBusinessProcess();
V_obb_acc_xxxBulk model = (V_obb_acc_xxxBulk)bp.getModel();
it.cnr.jada.util.RemoteIterator ri = bp.cercaGaeSenzaProgettiForRibaltamento(context);
if (ri == null || ri.countElements() == 0) {
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context,ri);
bp.setMessage("La ricerca non ha fornito alcun risultato.");
return context.findDefaultForward();
}
else
{
bp.setModel(context,model);
RiportoSelezionatoreListaBP nbp = selectRiporto(context,
ri,
it.cnr.jada.bulk.BulkInfo.getBulkInfo(V_obb_acc_xxxBulk.class),
null,"doDefault",null,(RiportoEsSuccessivoBP)bp);
nbp.setMultiSelection( false );
nbp.setSelectAllOnly(false);
context.addHookForward("close",this,"doDefault");
return context.findDefaultForward();
}
} catch(Exception e) {
return handleException(context,e);
}
}
public it.cnr.jada.action.Forward doCercaProgettiCollegatiGaeNonApprovatiForRibaltamento( it.cnr.jada.action.ActionContext context )
{
try
{
fillModel(context);
RiportoEsSuccessivoBP bp = (RiportoEsSuccessivoBP) context.getBusinessProcess();
V_obb_acc_xxxBulk model = (V_obb_acc_xxxBulk)bp.getModel();
it.cnr.jada.util.RemoteIterator ri = bp.cercaProgettiCollegatiGaeNonApprovatiForRibaltamento(context);
if (ri == null || ri.countElements() == 0) {
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context,ri);
bp.setMessage("La ricerca non ha fornito alcun risultato.");
return context.findDefaultForward();
}
else
{
bp.setModel(context,model);
RiportoSelezionatoreListaBP nbp = selectRiporto(context,
ri,
it.cnr.jada.bulk.BulkInfo.getBulkInfo(V_obb_acc_xxxBulk.class),
null,"doDefault",null,(RiportoEsSuccessivoBP)bp);
nbp.setMultiSelection( false );
nbp.setSelectAllOnly(false);
context.addHookForward("close",this,"doDefault");
return context.findDefaultForward();
}
} catch(Exception e) {
return handleException(context,e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy