All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.cnr.contab.bilaterali00.bp.CRUDBltVisiteBP 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.bilaterali00.bp;

import it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk;
import it.cnr.contab.anagraf00.core.bulk.TerzoBulk;
import it.cnr.contab.anagraf00.core.bulk.V_persona_fisicaBulk;
import it.cnr.contab.bilaterali00.bulk.Blt_accordiBulk;
import it.cnr.contab.bilaterali00.bulk.Blt_autorizzatiBulk;
import it.cnr.contab.bilaterali00.bulk.Blt_progettiBulk;
import it.cnr.contab.bilaterali00.bulk.Blt_visiteBulk;
import it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk;
import it.cnr.contab.config00.contratto.bulk.Procedure_amministrativeBulk;
import it.cnr.contab.config00.contratto.bulk.Tipo_atto_amministrativoBulk;
import it.cnr.contab.config00.ejb.EsercizioComponentSession;
import it.cnr.contab.config00.esercizio.bulk.EsercizioBulk;
import it.cnr.contab.config00.pdcfin.bulk.NaturaBulk;
import it.cnr.contab.doccont00.bp.CRUDObbligazioneBP;
import it.cnr.contab.doccont00.bp.IDefferedUpdateSaldiBP;
import it.cnr.contab.doccont00.core.bulk.IDefferUpdateSaldi;
import it.cnr.contab.doccont00.core.bulk.ObbligazioneBulk;
import it.cnr.contab.doccont00.core.bulk.Obbligazione_scad_voceBulk;
import it.cnr.contab.doccont00.core.bulk.Obbligazione_scadenzarioBulk;
import it.cnr.contab.incarichi00.bp.CRUDIncarichiProceduraBP;
import it.cnr.contab.incarichi00.bulk.Incarichi_proceduraBulk;
import it.cnr.contab.incarichi00.bulk.Incarichi_procedura_annoBulk;
import it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk;
import it.cnr.contab.incarichi00.bulk.Incarichi_repertorio_annoBulk;
import it.cnr.contab.incarichi00.tabrif.bulk.Tipo_attivitaBulk;
import it.cnr.contab.incarichi00.tabrif.bulk.Tipo_incaricoBulk;
import it.cnr.contab.reports.bp.OfflineReportPrintBP;
import it.cnr.contab.reports.bulk.Print_spooler_paramBulk;
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.action.Config;
import it.cnr.jada.bulk.OggettoBulk;
import it.cnr.jada.bulk.ValidationException;
import it.cnr.jada.comp.ComponentException;
import it.cnr.jada.util.RemoteIterator;
import it.cnr.jada.util.action.AbstractPrintBP;
import it.cnr.jada.util.jsp.Button;

import java.math.BigDecimal;
import java.rmi.RemoteException;
import java.util.Calendar;
import java.util.Iterator;
import java.util.TreeMap;

public class CRUDBltVisiteBP extends it.cnr.jada.util.action.SimpleCRUDBP implements IDefferedUpdateSaldiBP{
	/**
	 * Primo costruttore della classe CRUDBltVisiteBP.
	 */
	public CRUDBltVisiteBP() {
		super("Tr");
	}

	private boolean amministratore;
	
	private void setAmministratore(boolean amministratore) {
		this.amministratore = amministratore;
	}
	public boolean isAmministratore() {
		return amministratore;
	}
	/**
	 * Secondo costruttore della classe CRUDBltVisiteBP.
	 * @param function
	 */
	public CRUDBltVisiteBP(String function) {
		super(function+"Tr");
	}
	public CRUDBltVisiteBP(String function, OggettoBulk bulk) {
		super(function);
		if (bulk instanceof Blt_visiteBulk)
			setAmministratore(Boolean.TRUE);
	}
	protected void init(Config config, ActionContext actioncontext) throws BusinessProcessException {
		setTab("tab","tabTestata");
		super.init(config, actioncontext);
	}
	public String[][] getTabs() {
		TreeMap hash = new TreeMap();
		int i=0;

		hash.put(i++, new String[]{"tabTestata", "Candidatura", "/bilaterali00/tab_candidatura.jsp" });
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
		if (visita!=null && visita.getCrudStatus()!=OggettoBulk.UNDEFINED && !visita.isToBeCreated() && !isSearching()) {
			if (visita.isVisitaDipendente() || (visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero())) {
				if (visita.getCurrentFase()>=Blt_visiteBulk.FASE_QUINTA)
					hash.put(i++, new String[]{"tabObbligazione", "Impegno", "/bilaterali00/tab_obbligazione.jsp" });
				if (visita.isVisitaDipendente()) {
					if (visita.getCurrentFase()>=Blt_visiteBulk.FASE_OTTAVA && !visita.isVisitaAnnullata())
						hash.put(i++, new String[]{"tabRimborsoSpese", "Rimborso Spese", "/bilaterali00/tab_rimborso_spese_ita.jsp" });
				} else {
					if (visita.getCurrentFase()>=Blt_visiteBulk.FASE_SESTA && !visita.isAccordoPagataAdEnteStraniero() && !visita.isVisitaAnnullata() && (visita.isVisitaPagataAdEnteStraniero() && visita.getCurrentFase()>=Blt_visiteBulk.FASE_OTTAVA))
						hash.put(i++, new String[]{"tabRimborsoSpese", "Rimborso Spese", "/bilaterali00/tab_rimborso_spese.jsp" });
					if (visita.getCurrentFase()>=Blt_visiteBulk.FASE_SESTA && !visita.isVisitaAnnullata() && (visita.isAccordoPagataAdEnteStraniero() && visita.getCurrentFase()>=Blt_visiteBulk.FASE_SESTA))
						hash.put(i++, new String[]{"tabRimborsoSpese", "Rimborso Spese", "/bilaterali00/tab_rimborso_spese.jsp" });
				}
			} else {
				if (visita.getCurrentFase()>=Blt_visiteBulk.FASE_QUARTA)
					hash.put(i++, new String[]{"tabContratto", "Contratto", "/bilaterali00/tab_contratto.jsp" });
				if (visita.getCurrentFase()>=Blt_visiteBulk.FASE_OTTAVA)
					hash.put(i++, new String[]{"tabObbligazione", "Incarico / Impegno", "/bilaterali00/tab_obbligazione.jsp" });
				if (visita.isVisitaStraniero()) {
					if (visita.getCurrentFase()>=Blt_visiteBulk.FASE_DODICESIMA && !visita.isVisitaAnnullata())
						hash.put(i++, new String[]{"tabRimborsoSpese", "Rimborso Spese", "/bilaterali00/tab_rimborso_spese.jsp" });
				} else if (visita.isVisitaUniversitario()) {
					if (visita.getCurrentFase()>=Blt_visiteBulk.FASE_DODICESIMA && !visita.isVisitaAnnullata())
						hash.put(i++, new String[]{"tabRimborsoSpese", "Rimborso Spese", "/bilaterali00/tab_rimborso_spese_ita.jsp" });
				}
			}
			if (visita.isVisitaAnnullata())
				hash.put(i++, new String[]{"tabAnnullamento", "Dati Annullamento", "/bilaterali00/tab_annullamento.jsp" });
		}
		String[][] tabs = new String[i][3];
		for (int j = 0; j < i; j++) {
			tabs[j]=new String[]{hash.get(j)[0],hash.get(j)[1],hash.get(j)[2]};
		}
		return tabs;		
	}
	
	protected void resetTabs(ActionContext context) {
		setTab("tab","tabTestata");
		setTab("tabBltVisiteRimborsoSpese","tabBltVisiteRimborsoSpeseRiepilogo");
		if (getModel()!=null && getModel() instanceof Blt_visiteBulk){
			Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
			if (visita.isVisitaDipendente()) {
				if (visita.isQuintaFase() || visita.isSestaFase() || visita.isSettimaFase())
					setTab("tab","tabObbligazione");
				else if (visita.isOttavaFase() || visita.isNonaFase()) {
					setTab("tab","tabRimborsoSpese");
				}
			} else if (visita.isVisitaUniversitario()) {
				if (visita.isQuartaFase() || visita.isQuintaFase() || visita.isSestaFase() || visita.isSettimaFase())
					setTab("tab","tabContratto");
				else if (visita.isOttavaFase() || visita.isNonaFase() || visita.isDecimaFase() || visita.isUndicesimaFase())
					setTab("tab","tabObbligazione");
				else if (visita.isDodicesimaFase() || visita.isTredicesimaFase()) {
					setTab("tab","tabRimborsoSpese");
				}
			} else if (visita.isVisitaStraniero()) {
				if(visita.isVisitaPagataAdEnteStraniero() && !visita.isAccordoPagataAdEnteStraniero()){
					if (visita.isQuintaFase() || visita.isSestaFase() || visita.isSettimaFase())
						setTab("tab","tabObbligazione");
					else if (visita.isOttavaFase() || visita.isNonaFase() || visita.isDecimaFase()) {
						setTab("tab","tabRimborsoSpese");
						setTab("tabBltVisiteRimborsoSpese","tabBltVisiteRimborsoSpeseSaldo");
					}
				} else if(visita.isAccordoPagataAdEnteStraniero()){
						if (visita.isQuintaFase())
							setTab("tab","tabObbligazione");
						else if (visita.isSestaFase() || visita.isSettimaFase() || visita.isOttavaFase() || visita.isNonaFase() || visita.isDecimaFase()) {
							setTab("tab","tabRimborsoSpese");
							setTab("tabBltVisiteRimborsoSpese","tabBltVisiteRimborsoSpeseSaldo");
						}
				} else {
					if (visita.isQuartaFase() || visita.isQuintaFase() || visita.isSestaFase() || visita.isSettimaFase())
						setTab("tab","tabContratto");
					else if (visita.isOttavaFase() || visita.isNonaFase() || visita.isDecimaFase() || visita.isUndicesimaFase())
						setTab("tab","tabObbligazione");
					else if (visita.isDodicesimaFase() || visita.isTredicesimaFase() ) {
						setTab("tab","tabRimborsoSpese");
						setTab("tabBltVisiteRimborsoSpese","tabBltVisiteRimborsoSpeseAnticipo");
					} else if (visita.isQuattordicesimaFase() || visita.isQuindicesimaFase() || visita.isSedicesimaFase() || 
							   visita.isDiciassettesimaFase() || visita.isDiciottesimaFase() || visita.isDiciannovesimaFase()) {
						setTab("tab","tabRimborsoSpese");
						setTab("tabBltVisiteRimborsoSpese","tabBltVisiteRimborsoSpeseSaldo");
					}
				}
			}
		}
}
	
	@Override
	public  Button[] createToolbar() {
		Button[] toolbar = super.createToolbar();
		Button[] newToolbar = new Button[ toolbar.length + 20 ];
		for ( int i = 0; i< toolbar.length; i++ )
			newToolbar[ i ] = toolbar[ i ];
		newToolbar[ toolbar.length ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.annullaVisita");
		newToolbar[ toolbar.length ].setSeparator(true);
		newToolbar[ toolbar.length+1 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printDocumentiCandidatura");
		newToolbar[ toolbar.length+1 ].setSeparator(true);
		newToolbar[ toolbar.length+2 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printTrasmisCandidatura");
		newToolbar[ toolbar.length+2 ].setSeparator(true);
		newToolbar[ toolbar.length+3 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printDispFinanziarie");
		newToolbar[ toolbar.length+4 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printAccettDispFinanziarie");
		newToolbar[ toolbar.length+5 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printModuloRimborsoSpese");
		newToolbar[ toolbar.length+6 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printModelloAccettazioneVisita");
		newToolbar[ toolbar.length+7 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printModelloAttestatoSoggiorno");
		newToolbar[ toolbar.length+8 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printAttribuzioneIncarico");
		newToolbar[ toolbar.length+9 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printModelloContratto");
		newToolbar[ toolbar.length+9 ].setSeparator(true);
		newToolbar[ toolbar.length+10 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printNotaAddebito");
		newToolbar[ toolbar.length+11 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.creaIncarico");
		newToolbar[ toolbar.length+11 ].setSeparator(true);
		newToolbar[ toolbar.length+12 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.apriIncarico");
		newToolbar[ toolbar.length+12 ].setSeparator(true);
		newToolbar[ toolbar.length+13 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printAutorizPartenza");
		newToolbar[ toolbar.length+13 ].setSeparator(true);
		newToolbar[ toolbar.length+14 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.creaObbligazione");
		newToolbar[ toolbar.length+14 ].setSeparator(true);
		newToolbar[ toolbar.length+15 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printProvvObbligazione");
		newToolbar[ toolbar.length+15 ].setSeparator(true);
		newToolbar[ toolbar.length+16 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printProvvPagamentoAnticipo");
		newToolbar[ toolbar.length+16 ].setSeparator(true);
		newToolbar[ toolbar.length+17 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printProvvPagamento");
		newToolbar[ toolbar.length+17 ].setSeparator(true);
		newToolbar[ toolbar.length+18 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.printAnnullaProvvObbligazione");
		newToolbar[ toolbar.length+18 ].setSeparator(true);
		newToolbar[ toolbar.length+19 ] = new it.cnr.jada.util.jsp.Button(it.cnr.jada.util.Config.getHandler().getProperties(getClass()),"CRUDToolbar.returnPreStato");
		newToolbar[ toolbar.length+19 ].setSeparator(true);
		return newToolbar;
	}

	/* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaDispFinanziariePrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_disp_finanziarie_cnr.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_DOC_CANDIDATURA");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

     /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaAccettDispFinanziariePrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_disp_finanziarie_cnr.jasper");
		addToPrintSpoolerParams(printbp);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaModuloRimborsoSpesePrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_modulo_rimborso_cnr_e_ass_e_univ.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_DOC_CANDIDATURA");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaDocumentiCandidaturaPrintBP(AbstractPrintBP bp) 
	{
   	
   	    OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;

      	Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
		if (visita.isVisitaItaliano())
			printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_documenti_candidatura_cnr.jasper");
		else
			printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_documenti_candidatura_str.jasper");
		
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_DOC_CANDIDATURA");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaTrasmissioneCandidaturaPrintBP(AbstractPrintBP bp) 
	{
    	
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;

    	Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
		if (visita.isVisitaDipendente() || visita.isVisitaUniversitario())
			printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_trasmissione_candidatura_cnr.jasper");
		else
			printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_trasmissione_candidatura_str.jasper");
		
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_DOC_CANDIDATURA");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaAttribuzioneIncaricoPrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_attribuzione_incarico_str.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_DOC_CANDIDATURA");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaModelloAccettazioneVisitaPrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_modello_accettazione_visita.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_DOC_CANDIDATURA");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaModelloAttestatoSoggiornoPrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_modello_attestato_soggiorno.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_DOC_CANDIDATURA");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}
    
    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaModelloContrattoPrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;

      	Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
		if (visita.isVisitaUniversitario())
			printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_modello_contratto_univ.jasper");
		else
			printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_modello_contratto_str.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_MODELLO_CONTRATTO");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaNotaAddebitoPrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_nota_addebito_str.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("fl_tipo_stampa");

		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
      	if (visita.isTerzaFase() || visita.isQuartaFase()) {
      		 if (visita.isNotaAddebitoAnticipoRequired()) {
      			if (visita.isNotaAddebitoSaldoConAnticipoRequired())
      				param.setValoreParam("T");
          		else 
          			param.setValoreParam("A");
      		 } else if (visita.getFlStampatoNotaAddebito() || visita.isNotaAddebitoSaldoRequired())
      			param.setValoreParam("S");
      	} else {
  			param.setValoreParam("S");
      	}

		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);

      	param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_MODELLO_CONTRATTO");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaAutorizzazionePartenzaPrintBP(AbstractPrintBP bp) 
	{
    	OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;

      	Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
      	if (visita.isVisitaDipendente() || visita.isVisitaUniversitario())
        	printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_autorizzazione_partenza_cnr.jasper");
		else
	    	printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_autorizzazione_partenza_str.jasper");

		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_AUTORIZ_PARTENZA");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}
    
    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaProvvObbligazionePrintBP(AbstractPrintBP bp) 
    {
	    OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;

      	Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
      	if ((visita.isVisitaStraniero() && visita.getFlPagamentoFineVisita()) || (visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero()))
        	printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_impegno_str_fin_visita.jasper");
		else
		    printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_provvedimento_impegno_cnr.jasper");

		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_PROVV_IMPEGNO");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
    }

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaPagamentoAnticipoPrintBP(AbstractPrintBP bp) 
    {
	    OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_pagamento_saldo_str.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("anticipo");
		param.setValoreParam("Y");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);

		param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_PROVV_PAGAM_ANT");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaPagamentoSaldoPrintBP(AbstractPrintBP bp) 
    {
	    OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;

	    Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
      	if (visita.isVisitaDipendente() || visita.isVisitaUniversitario()) {
    	    printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_pagamento_saldo_cnr.jasper");
          	addToPrintSpoolerParams(printbp);
      	} else if (visita.getFlPagamentoFineVisita()){
		    printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_pagamento_saldo_str_fin_visita.jasper");
          	addToPrintSpoolerParams(printbp);
         
      	} else if (visita.isVisitaPagataAdEnteStraniero()){
		    printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_provvedimento_pagamento_ente_str.jasper");
          	addToPrintSpoolerParams(printbp);
          	
          	
      	} else {	
		    printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_pagamento_saldo_str.jasper");
	      	addToPrintSpoolerParams(printbp);

			Print_spooler_paramBulk param = new Print_spooler_paramBulk();
			param.setNomeParam("anticipo");
			param.setValoreParam("N");
			param.setParamType("java.lang.String");
			printbp.addToPrintSpoolerParam(param);
		}

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_PROVV_PAGAMENTO");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
	}
 
    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    public void initializeStampaAnnullaProvvObbligazionePrintBP(AbstractPrintBP bp) 
    {
	    OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
		printbp.setReportName("/cnrbilaterali/bilaterali/blt_visite_annulla_provvedimento_impegno_cnr.jasper");
		addToPrintSpoolerParams(printbp);

		Print_spooler_paramBulk param = new Print_spooler_paramBulk();
		param.setNomeParam("flag_to_update");
		param.setValoreParam("FL_STAMPATO_ANN_PROVV_IMPEGNO");
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
    }

    /* inizializza il BP delle stampe impostando il nome del report da stampare e i suoi parametri */
    private void addToPrintSpoolerParams(OfflineReportPrintBP printbp) {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
		Print_spooler_paramBulk param;

		param = new Print_spooler_paramBulk();
		param.setNomeParam("cd_accordo");
		param.setValoreParam(visita.getCdAccordo());
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);
		
		param = new Print_spooler_paramBulk();
		param.setNomeParam("cd_progetto");
		param.setValoreParam(visita.getCdProgetto());
		param.setParamType("java.lang.String");
		printbp.addToPrintSpoolerParam(param);

		param = new Print_spooler_paramBulk();
		param.setNomeParam("cd_terzo");
		param.setValoreParam(visita.getCdTerzo().toString());
		param.setParamType("java.lang.Integer");
		printbp.addToPrintSpoolerParam(param);

		param = new Print_spooler_paramBulk();
		param.setNomeParam("pg_autorizzazione");
		param.setValoreParam(visita.getPgAutorizzazione().toString());
		param.setParamType("java.lang.Long");
		printbp.addToPrintSpoolerParam(param);

		param = new Print_spooler_paramBulk();
		param.setNomeParam("pg_visita");
		param.setValoreParam(visita.getPgVisita().toString());
		param.setParamType("java.lang.Long");
		printbp.addToPrintSpoolerParam(param);

		param = new Print_spooler_paramBulk();
		param.setNomeParam("pg_ver_rec");
		param.setValoreParam(visita.getPg_ver_rec().toString());
		param.setParamType("java.lang.Long");
		printbp.addToPrintSpoolerParam(param);
	}

    public boolean isStampaDocumentiCandidaturaButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || 
    		visita.isVisitaAnnullata() || visita.isVisitaItaliano() || visita.isVisitaStraniero())
    		return true;
    	return false;
    }
    public boolean isStampaTrasmissioneCandidaturaButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || 
       		(!visita.isPrimaFase() && !visita.isSecondaFase()) || !isStampaAutorizzazionePartenzaButtonHidden())
    		return true;
    	return false;
    }
    public boolean isStampaDisposizioniFinanziarieButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || 
        	(!visita.isVisitaDipendente() && !visita.isVisitaUniversitario()) ||
       		(!visita.isPrimaFase() && !visita.isSecondaFase()) || !isStampaAutorizzazionePartenzaButtonHidden())
    		return true;
    	return false;
    }
    public boolean isStampaAccettazioneDisposizioniFinanziarieButtonHidden() {
		return true;
//		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
//    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || !visita.isVisitaDipendente() ||
//    		(!visita.isPrimaFase() && !visita.isSecondaFase()) || !isStampaAutorizzazionePartenzaButtonHidden())
//    		return true;
//    	return false;
    }
    public boolean isStampaModuloRimborsoSpeseButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || 
    		visita.isVisitaStraniero() || (visita.isVisitaDipendente() && visita.getCurrentFase()>=Blt_visiteBulk.FASE_QUINTA) ||
    		(visita.isVisitaUniversitario() && visita.getCurrentFase()>=Blt_visiteBulk.FASE_SETTIMA))
    		return true;
    	return false;
    }
    public boolean isStampaModelloAccettazioneVisitaButtonHidden() {
		return true;
//		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
//    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || 
//    		visita.isVisitaDipendente() || visita.isVisitaUniversitario() ||
//    		visita.isVisitaAnnullata() || (!visita.isPrimaFase() && !visita.isSecondaFase()))
//    		return true;
//    	return false;
    }
    public boolean isStampaModelloAttestatoSoggiornoButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || 
    		visita.isVisitaDipendente() || visita.isVisitaUniversitario() ||
    		visita.isVisitaAnnullata() || (!visita.isPrimaFase() && !visita.isSecondaFase()))
    		return true;
    	return false;
    }
    public boolean isStampaAttribuzioneIncaricoButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaDipendente() ||
    		(visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero()) ||
    		(visita.isVisitaStraniero() && visita.isAccordoPagataAdEnteStraniero()) ||
    		visita.isVisitaAnnullata() || (!visita.isPrimaFase() && !visita.isSecondaFase()))
    		return true;
    	return false;
    }
    public boolean isStampaModelloContrattoButtonHidden() {
 		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaDipendente() ||
       		(visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero()) ||
       		(visita.isVisitaStraniero() && visita.isAccordoPagataAdEnteStraniero()) ||
     		visita.isVisitaAnnullata() || (!visita.isTerzaFase() && !visita.isQuartaFase()))
     		return true;
     	return false;
    }
    public boolean isStampaNotaAddebitoButtonHidden() {
 		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaDipendente() ||
     		visita.isVisitaUniversitario() || visita.isVisitaAnnullata() ||
     		(visita.isVisitaStraniero() && visita.isAccordoPagataAdEnteStraniero()) || !(visita.isTerzaFase()|| visita.isQuartaFase() || visita.isQuindicesimaFase() || visita.isSedicesimaFase()) || 
     		((visita.isVisitaStraniero() && visita.getFlPagamentoFineVisita() && !visita.isQuindicesimaFase() && !visita.isSedicesimaFase()) ||
     		((visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero() && !visita.isQuindicesimaFase()))))
     		return true;
     	return false;
    }
    public boolean isCreaIncaricoButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaDipendente() ||
     	   (visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero()) ||
       		visita.isVisitaAnnullata() || !visita.isSettimaFase())
       		return true;
    	return false;
    }
    public boolean isApriIncaricoButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaDipendente() ||
     		(visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero()) || visita.isVisitaAnnullata() || 
        	(!visita.isOttavaFase() && (!visita.isNonaFase()||
        			(visita.getObbligazioneScadenzario()!=null && visita.getObbligazioneScadenzario().getObbligazione()!=null &&
        			 visita.getObbligazioneScadenzario().getObbligazione().isTemporaneo()))))
       		return true;
    	return false;
    }
    public boolean isStampaAutorizzazionePartenzaButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaAnnullata() || 
     		(visita.isVisitaDipendente() && !visita.isTerzaFase() && !visita.isQuartaFase()) ||
     		(visita.isVisitaUniversitario() && !visita.isQuintaFase() && !visita.isSestaFase()) ||
     		((visita.isVisitaStraniero() && !visita.isVisitaPagataAdEnteStraniero()) && !visita.isQuintaFase() && !visita.isSestaFase()) || 
     		((visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero()) && !visita.isTerzaFase() && !visita.isQuartaFase()))
     		return true;
    	return false;
    }
    public boolean isCreaObbligazioneButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaAnnullata() || 
     		((visita.isVisitaUniversitario() || visita.isVisitaDipendente() || (visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero())) && visita.getTipo_obbligazione()==null) ||
        	((visita.isVisitaUniversitario() || (visita.isVisitaStraniero() && !visita.isVisitaPagataAdEnteStraniero())) && 
        		(!visita.isNonaFase()||(visita.getObbligazioneScadenzario()!=null && visita.getObbligazioneScadenzario().getObbligazione()!=null &&
       			 visita.getObbligazioneScadenzario().getObbligazione().isTemporaneo()))) ||
 		    ((visita.isVisitaDipendente() || (visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero())) && 
        		(!visita.isQuintaFase()||(visita.getObbligazioneScadenzario()!=null && visita.getObbligazioneScadenzario().getPg_obbligazione()!=null &&
       			  visita.getObbligazioneScadenzario().getObbligazione().isTemporaneo()))))
       		return true;
    	return false;
    }
    public boolean isStampaProvvObbligazioneButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaAnnullata() || visita.isAccordoPagataAdEnteStraniero() ||
    	    (visita.isVisitaStraniero() &&  !visita.isVisitaPagataAdEnteStraniero() && !visita.getFlPagamentoFineVisita() && visita.getCurrentFase()>=Blt_visiteBulk.FASE_PRIMA) ||
    		(visita.isVisitaDipendente() && !visita.isSestaFase() && !visita.isSettimaFase()) ||
    	    (visita.isVisitaUniversitario() && !visita.isDecimaFase() && !visita.isUndicesimaFase()) ||
    	    (visita.isVisitaStraniero()  && visita.getFlPagamentoFineVisita() && !visita.isDecimaFase() && !visita.isUndicesimaFase()) ||
    	    ((visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero() && !visita.isSestaFase()) && 
    	    (visita.isVisitaStraniero() && visita.isVisitaPagataAdEnteStraniero() && !visita.isSettimaFase())) 
    	    
    	    )
    	    
    		return true;
    	return false;
    }
    public boolean isStampaAnnullaProvvObbligazioneButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
    	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || !visita.isVisitaAnnullata() ||
        	visita.getObbligazioneScadenzario()==null || visita.getObbligazioneScadenzario().getObbligazione()==null ||
    		visita.getObbligazioneScadenzario().getObbligazione().isTemporaneo() ||
    		visita.getNumProtProvvImpegno()==null || visita.getDtProtProvvImpegno()==null ||
    		visita.isInFaseAnnullamento())
    		return true;
    	return false;
    }
    public boolean isStampaPagamentoAnticipoButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaAnnullata() || visita.getPgBancaAnt()==null ||
            visita.isVisitaDipendente() || (!visita.isUndicesimaFase() && !visita.isDodicesimaFase() ))
       		return true;
    	return false;
    }
    public boolean isStampaPagamentoSaldoButtonHidden() {
		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || visita.isVisitaAnnullata() || 
     		visita.isVentesimaFase() ||
     		visita.getImRimbSpese()==null || visita.getImRimbSpese().compareTo(BigDecimal.ZERO)!=1 || visita.getPgBanca()==null ||
            (visita.isVisitaUniversitario() && visita.getCurrentFase()document.write(document.title)");
        stringbuffer.append(" - ");
        switch(getStatus())
        {
        case 1: // '\001'
            stringbuffer.append("Inserimento");
            break;

        case 2: // '\002'
            if (getModel()!=null) {
            	if (((Blt_visiteBulk)getModel()).isVisitaDipendente())
            		stringbuffer.append("Dipendente/Assimilato - ");
            	else if (((Blt_visiteBulk)getModel()).isVisitaUniversitario())
            		stringbuffer.append("Universitario - ");
            	else if (((Blt_visiteBulk)getModel()).isVisitaStraniero())
            		stringbuffer.append("Straniero - ");
            }
        	stringbuffer.append("Modifica");
            break;

        case 0: // '\0'
            stringbuffer.append("Ricerca");
            break;

        case 5: // '\005'
            stringbuffer.append("Visualizza");
            break;
        }
        return stringbuffer.toString();
    }

    public boolean isFasePrecedenteButtonHidden() {
 		Blt_visiteBulk visita = (Blt_visiteBulk)getModel();
     	if (!isAmministratore() || visita==null || visita.isToBeCreated() || visita.getCrudStatus()==OggettoBulk.UNDEFINED || 
     		visita.isPrimaFase())
     		return true;
     	return false;
    }
    
    public Blt_visiteBulk returnToFasePrecedente(ActionContext actioncontext, Blt_visiteBulk visita) {
    	return visita.returnToFasePrecedente();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy