it.cnr.contab.doccont00.action.CaricaFileCassiereAction 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.action;
import it.cnr.contab.config00.ejb.EsercizioComponentSession;
import it.cnr.contab.config00.esercizio.bulk.EsercizioBulk;
import it.cnr.contab.config00.esercizio.bulk.EsercizioHome;
import it.cnr.contab.docamm00.ejb.FatturaAttivaSingolaComponentSession;
import it.cnr.contab.doccont00.bp.DettagliFileCassiereBP;
import it.cnr.contab.doccont00.intcass.bulk.Ext_cassiere00Bulk;
import it.cnr.contab.doccont00.intcass.bulk.Ext_cassiere00_scartiBulk;
import it.cnr.contab.doccont00.intcass.bulk.V_ext_cassiere00Bulk;
import it.cnr.contab.doccont00.bp.CaricaFileCassiereBP;
import it.cnr.contab.doccont00.ejb.DistintaCassiereComponentSession;
import it.cnr.contab.preventvar00.consultazioni.bp.ConsAssCompPerDataDettagliBP;
import it.cnr.contab.preventvar00.consultazioni.bulk.V_cons_var_pdggBulk;
import it.cnr.jada.action.ActionContext;
import it.cnr.jada.action.Forward;
import it.cnr.jada.action.HookForward;
import it.cnr.jada.blobs.bulk.Bframe_blobBulk;
import it.cnr.jada.bulk.BulkHome;
import it.cnr.jada.comp.ApplicationException;
import it.cnr.jada.util.action.RicercaLiberaBP;
import it.cnr.jada.util.action.SelezionatoreListaBP;
import it.cnr.jada.util.upload.UploadedFile;
import java.io.File;
import java.io.FileInputStream;
import java.util.StringTokenizer;
/**
* Insert the type's description here.
* Creation date: (10/04/2003 12.04.09)
* @author: Gennaro Borriello
*/
public class CaricaFileCassiereAction extends it.cnr.jada.util.action.SelezionatoreListaAction {
/**
* CaricaFileCassiereAction constructor comment.
*/
public CaricaFileCassiereAction() {
super();
}
public Forward doBringBack(ActionContext context) {
return context.findDefaultForward();
}
/**
* Richiamato per la procedura di upload del nuovo File Cassiere.
*
*
* @param context il ActionContext che contiene le informazioni relative alla richiesta
*
* @return forward Forward
**/
public Forward doCaricaFile(ActionContext context) {
it.cnr.jada.action.HttpActionContext httpContext = (it.cnr.jada.action.HttpActionContext)context;
UploadedFile file =httpContext.getMultipartParameter("fileCassiere");
try {
if (file == null || file.getName().equals(""))
throw new it.cnr.jada.comp.ApplicationException("Attenzione: selezionare un File da caricare.");
CaricaFileCassiereBP bp = (CaricaFileCassiereBP)httpContext.getBusinessProcess();
((it.cnr.contab.doccont00.ejb.DistintaCassiereComponentSession)it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRDOCCONT00_EJB_DistintaCassiereComponentSession",it.cnr.contab.doccont00.ejb.DistintaCassiereComponentSession.class)).caricaFile(context.getUserContext(),file.getFile());
bp.setMessage("Operazione Completata!");
bp.refresh(context);
return context.findDefaultForward();
}catch(Throwable e) {
return handleException(context,e);
}
}
/**
* Permette di filtrare i Files da visualizzare.
*
Richiama il metodo processaFile(UserContext, V_ext_cassiere00Bulk) della Componente,
che invocherà la stored procedure CNRCTB750.processaInterfaccia().
* @param context il ActionContext che contiene le informazioni relative alla richiesta
*
* @return forward Forward
**/
public Forward doFiltraFiles(ActionContext context) {
try {
CaricaFileCassiereBP bp = (CaricaFileCassiereBP)context.getBusinessProcess();
RicercaLiberaBP ricercaLiberaBP = (RicercaLiberaBP)context.createBusinessProcess("RicercaLibera");
ricercaLiberaBP.setPrototype(new V_ext_cassiere00Bulk());
context.addHookForward("filter",this,"doRiportaFiltraFiles");
context.addHookForward("close",this,"doDefault");
return context.addBusinessProcess(ricercaLiberaBP);
} catch(Throwable e) {
return handleException(context,e);
}
}
/**
* Permette di elaborare il File selezionato dall'utente.
* Richiama il metodo processaFile(UserContext, V_ext_cassiere00Bulk) della Componente,
* che invocherà la stored procedure CNRCTB750.processaInterfaccia().
*
* @param context il ActionContext che contiene le informazioni relative alla richiesta
*
* @return forward Forward
**/
public Forward doProcessaFile(ActionContext context) {
try {
fillModel(context);
CaricaFileCassiereBP bp = (CaricaFileCassiereBP)context.getBusinessProcess();
V_ext_cassiere00Bulk selected = (V_ext_cassiere00Bulk)bp.getFocusedElement();
if (selected != null){
bp.createComponentSession().processaFile(context.getUserContext(), selected);
} else{
throw new it.cnr.jada.comp.ApplicationException("Attenzione: selezionare un File");
}
return context.findDefaultForward();
} catch(Exception e) {
return handleException(context,e);
}
}
/**
* Permette di filtrare i Files da visualizzare.
*
Richiama il metodo processaFile(UserContext, V_ext_cassiere00Bulk) della Componente,
che invocherà la stored procedure CNRCTB750.processaInterfaccia().
* @param context il ActionContext che contiene le informazioni relative alla richiesta
*
* @return forward Forward
**/
public Forward doRiportaFiltraFiles(ActionContext context) {
try {
CaricaFileCassiereBP bp = (CaricaFileCassiereBP)context.getBusinessProcess();
HookForward caller = (HookForward)context.getCaller();
it.cnr.jada.persistency.sql.CompoundFindClause clauses = (it.cnr.jada.persistency.sql.CompoundFindClause)caller.getParameter("filter");
it.cnr.jada.util.RemoteIterator iterator = bp.createComponentSession().cercaFile_Cassiere(context.getUserContext(), clauses);
bp.setIterator(context, iterator);
bp.setModel(context, null);
return context.findDefaultForward();
} catch(Throwable e) {
return handleException(context,e);
}
}
/**
* Permette di visualizzare i dettagli relativi al File selezionato dall'utente.
* Apre un'altra finestra, (DettagliFileCassiereBP), che ha come Iterator un Iteratore sui record
* presi dalla tabella EXT_CASSIERE00.
*
* @param context il ActionContext che contiene le informazioni relative alla richiesta
*
* @return forward Forward
**/
public Forward doVisualizzaDettagli(ActionContext context) {
CaricaFileCassiereBP bp = (CaricaFileCassiereBP)context.getBusinessProcess();
try{
V_ext_cassiere00Bulk file = (V_ext_cassiere00Bulk)bp.getModel();
if (file == null){
throw new it.cnr.jada.comp.ApplicationException("Attenzione: selezionare un File");
}
it.cnr.jada.util.RemoteIterator ri = bp.createComponentSession().cerca(context.getUserContext(), null,new Ext_cassiere00Bulk(), file, "DettagliFileCassiere");
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context,ri);
if (ri.countElements() == 0) {
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context,ri);
throw new it.cnr.jada.comp.ApplicationException("Attenzione: non ci sono dettagli");
}
DettagliFileCassiereBP nbp = (DettagliFileCassiereBP)context.createBusinessProcess("DettagliFileCassiereBP");
nbp.setIterator(context,ri);
nbp.setMultiSelection(false);
nbp.setBulkInfo(it.cnr.jada.bulk.BulkInfo.getBulkInfo(Ext_cassiere00Bulk.class));
return context.addBusinessProcess(nbp);
}
catch (Throwable e){
return handleException(context,e);
}
}
/**
* Permette di visualizzare i Logs relativi al File selezionato dall'utente.
* Apre un'altra finestra, (CRUDTestataLogBP), che ha come Model l'oggetto
* it.cnr.contab.logs.bulk.Batch_log_tstaBulk.
*
* @param context il ActionContext che contiene le informazioni relative alla richiesta
*
* @return forward Forward
**/
public Forward doVisualizzaLogs(ActionContext context) {
CaricaFileCassiereBP bp = (CaricaFileCassiereBP)context.getBusinessProcess();
try{
V_ext_cassiere00Bulk selected = (V_ext_cassiere00Bulk)bp.getFocusedElement();
if (selected == null){
throw new it.cnr.jada.comp.ApplicationException("Attenzione: selezionare un File");
}
it.cnr.contab.doccont00.intcass.bulk.Ext_cassiere00_logsBulk selected_log = (it.cnr.contab.doccont00.intcass.bulk.Ext_cassiere00_logsBulk)bp.getLogs().getModel();
if (selected_log == null){
throw new it.cnr.jada.comp.ApplicationException("Attenzione: selezionare una riga dalla tabella dei Logs");
}
it.cnr.contab.logs.bp.CRUDTestataLogBP tbp = (it.cnr.contab.logs.bp.CRUDTestataLogBP)context.createBusinessProcess("CRUDTestataLogBP");
it.cnr.contab.logs.bulk.Batch_log_tstaBulk logBulk = new it.cnr.contab.logs.bulk.Batch_log_tstaBulk(selected_log.getPg_esecuzione());
tbp.edit(context, logBulk);
return context.addBusinessProcess(tbp);
}
catch (Throwable e){
return handleException(context,e);
}
}
/**
* Gestisce un Eccezione di chiave duplicata.
*
* @param context il ActionContext che contiene le informazioni relative alla richiesta
*
* @return forward Forward
**/
protected Forward handleApplicationPersistencyException(ActionContext context, it.cnr.jada.persistency.sql.ApplicationPersistencyException e) {
it.cnr.jada.comp.ApplicationException mess = new it.cnr.jada.comp.ApplicationException(e.getMessage());
return handleException(context, mess);
}
/**
* Gestisce un Eccezione di chiave duplicata.
*
* @param context il ActionContext che contiene le informazioni relative alla richiesta
*
* @return forward Forward
**/
protected Forward handleDuplicateKeyException(ActionContext context, it.cnr.jada.persistency.sql.DuplicateKeyException e) {
it.cnr.jada.comp.ApplicationException mess = new it.cnr.jada.comp.ApplicationException("Si sta tentando di creare un oggetto già esistente in archivio.");
return handleException(context, mess);
}
public Forward doVisualizzaLogScarti(ActionContext context) {
CaricaFileCassiereBP bp = (CaricaFileCassiereBP)context.getBusinessProcess();
V_ext_cassiere00Bulk selected = (V_ext_cassiere00Bulk)bp.getFocusedElement();
try{
if (selected == null){
throw new it.cnr.jada.comp.ApplicationException("Attenzione: selezionare un File");
}
it.cnr.contab.doccont00.intcass.bulk.Ext_cassiere00_logsBulk selected_log = (it.cnr.contab.doccont00.intcass.bulk.Ext_cassiere00_logsBulk)bp.getLogs().getModel();
if (selected_log == null){
throw new it.cnr.jada.comp.ApplicationException("Attenzione: selezionare una riga dalla tabella dei Logs");
}
it.cnr.jada.util.RemoteIterator ri = ((DistintaCassiereComponentSession)bp.createComponentSession()).selectFileScarti(context.getUserContext(),selected_log);
ri = it.cnr.jada.util.ejb.EJBCommonServices.openRemoteIterator(context,ri);
if (ri.countElements() == 0) {
it.cnr.jada.util.ejb.EJBCommonServices.closeRemoteIterator(context,ri);
throw new it.cnr.jada.comp.ApplicationException("Attenzione: Nessun dato disponibile.");
}
SelezionatoreListaBP nbp = (SelezionatoreListaBP)context.createBusinessProcess("Selezionatore");
nbp.setIterator(context,ri);
nbp.disableSelection();
nbp.setBulkInfo(it.cnr.jada.bulk.BulkInfo.getBulkInfo(Ext_cassiere00_scartiBulk.class));
nbp.setColumns(it.cnr.jada.bulk.BulkInfo.getBulkInfo(Ext_cassiere00_scartiBulk.class).getColumnFieldPropertyDictionary("BASE"));
HookForward hook = (HookForward)context.findForward("seleziona");
return context.addBusinessProcess(nbp);
}
catch (Throwable e){
return handleException(context,e);
}
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy