it.cnr.contab.compensi00.bp.CRUDMinicarrieraBP 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.compensi00.bp;
import it.cnr.contab.anagraf00.tabrif.bulk.Tipo_rapportoBulk;
import it.cnr.contab.compensi00.docs.bulk.MinicarrieraBulk;
import it.cnr.contab.compensi00.docs.bulk.Minicarriera_rataBulk;
import it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk;
import it.cnr.contab.compensi00.ejb.MinicarrieraComponentSession;
import it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk;
import it.cnr.contab.doccont00.bp.IDefferedUpdateSaldiBP;
import it.cnr.contab.doccont00.core.bulk.IDefferUpdateSaldi;
import it.cnr.contab.incarichi00.bulk.Incarichi_repertorioBulk;
import it.cnr.contab.reports.bp.OfflineReportPrintBP;
import it.cnr.contab.reports.bulk.Print_spooler_paramBulk;
import it.cnr.jada.UserContext;
import it.cnr.jada.action.ActionContext;
import it.cnr.jada.action.BusinessProcessException;
import it.cnr.jada.action.Config;
import it.cnr.jada.util.action.AbstractPrintBP;
/**
* Insert the type's description here.
* Creation date: (21/02/2002 16.12.44)
*
* @author: Roberto Fantino
*/
public class CRUDMinicarrieraBP
extends it.cnr.jada.util.action.SimpleCRUDBP
implements IDefferedUpdateSaldiBP {
public final static String SAVE_POINT_NAME = "MINICARRIERA_SP";
private final MinicarrieraRataCRUDController rateCRUDController = new MinicarrieraRataCRUDController(
"rateCRUDController",
Minicarriera_rataBulk.class,
"minicarriera_rate",
this);
private it.cnr.contab.doccont00.core.bulk.OptionRequestParameter userConfirm = null;
/**
* CRUDCompensoBP constructor comment.
*/
public CRUDMinicarrieraBP() {
super();
}
/**
* CRUDCompensoBP constructor comment.
*
* @param function java.lang.String
*/
public CRUDMinicarrieraBP(String function) {
super(function + "Tr");
}
/**
* Reimplementato per mandare in stato view il controller in caso di modello in
* stato 'non editabile' (vedi bulk)
*/
public void basicEdit(it.cnr.jada.action.ActionContext context, it.cnr.jada.bulk.OggettoBulk bulk, boolean doInitializeForEdit) throws it.cnr.jada.action.BusinessProcessException {
super.basicEdit(context, bulk, doInitializeForEdit);
if (getStatus() != VIEW) {
MinicarrieraBulk carriera = (MinicarrieraBulk) bulk;
if (carriera != null && !carriera.isEditable()) {
setStatus(VIEW);
setMessage("Minicarriera in stato \"" + carriera.STATI.get(carriera.getStato()) + "\". Non consentita la modifica.");
}
}
}
/**
* Genera le rate chiamando il metodo relativo sulla component
*/
public void calcolaAliquotaMedia(ActionContext context)
throws BusinessProcessException {
try {
MinicarrieraComponentSession comp = (MinicarrieraComponentSession) createComponentSession();
MinicarrieraBulk carriera = comp.calcolaAliquotaMedia(context.getUserContext(), (MinicarrieraBulk) getModel());
carriera.setAliquotaCalcolata(true);
setModel(context, carriera);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
/**
* Chiama il metodo sulla component 'completa percipiente' e mette il controller
* in stato edit sul modello clone
*/
public void completaPercipiente(
ActionContext context,
MinicarrieraBulk carriera,
V_terzo_per_compensoBulk vTerzo) throws BusinessProcessException {
try {
MinicarrieraComponentSession component = (MinicarrieraComponentSession) createComponentSession();
MinicarrieraBulk carrieraClone = component.completaPercipiente(context.getUserContext(), carriera, vTerzo);
setModel(context, carrieraClone);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
/**
* Reimplementato per gestire il passaggio dei parametri dei saldi per il doc contabile
* una volta che l'utente ha deciso di eseguire lo sfondamento di cassa. Vedi action
* metodo 'onCheckDisponibiltaDiCassaFailed'
*/
public void create(it.cnr.jada.action.ActionContext context)
throws it.cnr.jada.action.BusinessProcessException {
try {
getModel().setToBeCreated();
setModel(
context,
((MinicarrieraComponentSession) createComponentSession()).creaConBulk(
context.getUserContext(),
getModel(),
getUserConfirm()));
setUserConfirm(null);
} catch (Throwable e) {
throw handleException(e);
}
}
/**
* Ricerca i conti disponibili e imposta nel modello il primo elemento trovato
*/
public void findListaBanche(ActionContext context) throws BusinessProcessException {
try {
MinicarrieraBulk carriera = (MinicarrieraBulk) getModel();
if (carriera.getModalita_pagamento() != null) {
MinicarrieraComponentSession component = (MinicarrieraComponentSession) createComponentSession();
java.util.List coll = component.findListaBanche(context.getUserContext(), carriera);
// Assegno di default la prima banca tra quelle selezionate
if (coll == null || coll.isEmpty())
carriera.setBanca(null);
else
carriera.setBanca((it.cnr.contab.anagraf00.core.bulk.BancaBulk) new java.util.Vector(coll).firstElement());
} else
carriera.setBanca(null);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
/**
* Ricerca i tipi di trattamento validi ed imposta nel modello il primo elemento
* trovato
*/
public void findTipiRapporto(ActionContext context) throws BusinessProcessException {
try {
MinicarrieraBulk carriera = (MinicarrieraBulk) getModel();
if (carriera.getTerzo() != null) {
MinicarrieraComponentSession component = (MinicarrieraComponentSession) createComponentSession();
java.util.Collection coll = component.findTipiRapporto(context.getUserContext(), carriera);
carriera.setTipiRapporto(coll);
if (coll == null || coll.isEmpty()) {
carriera.setTipo_rapporto(null);
throw new it.cnr.jada.comp.ApplicationException("Non esistono Tipi Rapporto validi associati al percipiente selezionato");
}
} else
carriera.setTipo_rapporto(null);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
/**
* Ricerca i tipi di trattamento validi ed imposta nel modello il primo elemento
* trovato
*/
public void findTipiTrattamento(ActionContext context) throws BusinessProcessException {
try {
MinicarrieraBulk carriera = (MinicarrieraBulk) getModel();
if (carriera.getTipo_rapporto() != null) {
MinicarrieraComponentSession component = (MinicarrieraComponentSession) createComponentSession();
java.util.Collection coll = component.findTipiTrattamento(context.getUserContext(), carriera);
carriera.setTipiTrattamento(coll);
carriera.setTipo_trattamento(null);
// Assegno di default il primo trattamento trovato
if (coll == null || coll.isEmpty()) {
throw new it.cnr.jada.comp.ApplicationException("Non esistono Tipi Trattamento associati al Tipo di Rapporto selezionato");
}
//else
//carriera.setTipo_trattamento((it.cnr.contab.compensi00.tabrif.bulk.Tipo_trattamentoBulk)new java.util.Vector(coll).firstElement());
} else
carriera.setTipo_trattamento(null);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
public void findTipiPrestazioneCompenso(ActionContext context) throws BusinessProcessException {
try {
MinicarrieraBulk carriera = (MinicarrieraBulk) getModel();
if (carriera.getTipo_rapporto() != null) {
MinicarrieraComponentSession component = (MinicarrieraComponentSession) createComponentSession();
java.util.Collection coll = component.findTipiPrestazioneCompenso(context.getUserContext(), carriera);
carriera.setTipiPrestazioneCompenso(coll);
if (coll == null || coll.isEmpty()) {
carriera.setTipoPrestazioneCompenso(null);
throw new it.cnr.jada.comp.ApplicationException("Non esistono Tipi di prestazione associati al Tipo di Rapporto selezionato");
}
} else
carriera.setTipoPrestazioneCompenso(null);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
/**
* Genera le rate chiamando il metodo relativo sulla component
*/
public void generaRate(ActionContext context)
throws BusinessProcessException {
try {
MinicarrieraComponentSession comp = (MinicarrieraComponentSession) createComponentSession();
MinicarrieraBulk carriera = comp.generaRate(context.getUserContext(), (MinicarrieraBulk) getModel(), isEditing());
setModel(context, carriera);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
/**
* Restituisce il modello responsabile dell'aggiornamento dei saldi
*/
public IDefferUpdateSaldi getDefferedUpdateSaldiBulk() {
if (getParent() != null && getParent() instanceof IDefferedUpdateSaldiBP)
return getDefferedUpdateSaldiParentBP().getDefferedUpdateSaldiBulk();
return (IDefferUpdateSaldi) getModel();
}
/**
* Restituisce il business process del modello responsabile dell'aggiornamento dei saldi
*/
public IDefferedUpdateSaldiBP getDefferedUpdateSaldiParentBP() {
if (getParent() != null && getParent() instanceof IDefferedUpdateSaldiBP)
return ((IDefferedUpdateSaldiBP) getParent()).getDefferedUpdateSaldiParentBP();
return this;
}
/**
* Restituisce il controller delle rate
*/
public final MinicarrieraRataCRUDController getRateCRUDController() {
return rateCRUDController;
}
/**
* Attributo dei dati relativi alla scelta dell'utente di proseguire con loù
* sfondamento di cassa
*/
public it.cnr.contab.doccont00.core.bulk.OptionRequestParameter getUserConfirm() {
return userConfirm;
}
/**
* Insert the method's description here.
* Creation date: (5/29/2002 12:59:29 PM)
*
* @param newUserConfirm it.cnr.contab.doccont00.core.bulk.OptionRequestParameter
*/
public void setUserConfirm(it.cnr.contab.doccont00.core.bulk.OptionRequestParameter newUserConfirm) {
userConfirm = newUserConfirm;
}
/**
* Inizializza il controller e imposta i tab sulla prima pagina
*/
protected void init(Config config, ActionContext context) throws BusinessProcessException {
super.init(config, context);
resetTabs(context);
}
protected void initializePrintBP(ActionContext context, AbstractPrintBP bp) {
OfflineReportPrintBP printbp = (OfflineReportPrintBP) bp;
printbp.setReportName("/docamm/docamm/minicarriera_bds.jasper");
MinicarrieraBulk carriera = (MinicarrieraBulk) getModel();
Print_spooler_paramBulk param;
param = new Print_spooler_paramBulk();
param.setNomeParam("cds");
param.setValoreParam(carriera.getCd_cds());
param.setParamType("java.lang.String");
printbp.addToPrintSpoolerParam(param);
param = new Print_spooler_paramBulk();
param.setNomeParam("uo");
param.setValoreParam(carriera.getCd_unita_organizzativa());
param.setParamType("java.lang.String");
printbp.addToPrintSpoolerParam(param);
param = new Print_spooler_paramBulk();
param.setNomeParam("esercizio");
param.setValoreParam(carriera.getEsercizio().toString());
param.setParamType("java.lang.Integer");
printbp.addToPrintSpoolerParam(param);
param = new Print_spooler_paramBulk();
param.setNomeParam("pg");
param.setValoreParam(carriera.getPg_minicarriera().toString());
param.setParamType("java.lang.Long");
printbp.addToPrintSpoolerParam(param);
param = new Print_spooler_paramBulk();
param.setNomeParam("esercizio_stm");
param.setValoreParam(it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()).toString());
param.setParamType("java.lang.Integer");
printbp.addToPrintSpoolerParam(param);
}
public boolean isPrintButtonHidden() {
return getPrintbp() == null ||
isDirty() ||
isBringBack() ||
(!isViewing() && !isEditing());
}
/**
* Imposta il tab sulla pagina di default
*/
public void resetTabs(ActionContext context) {
setTab("tab", "tabMinicarriera");
setTab("subtab", "tabMinicarrieraPercipientePagamenti");
}
/**
* Insert the method's description here.
* Creation date: (25/02/2002 12.56.44)
*
* @param userContext it.cnr.jada.UserContext
* @param compenso it.cnr.contab.compensi00.docs.bulk.CompensoBulk
* @param aTerzo it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk
* @return it.cnr.contab.compensi00.docs.bulk.CompensoBulk
*/
public void ripristinaSelezioneTipoRapporto() {
MinicarrieraBulk carriera = (MinicarrieraBulk) getModel();
Tipo_rapportoBulk tipoRapporto = carriera.getTipo_rapporto();
// ripristino la selezione del Tipo Rapporto
if (tipoRapporto != null) {
for (java.util.Iterator i = carriera.getTipiRapporto().iterator(); i.hasNext(); ) {
Tipo_rapportoBulk tipoRapp = (Tipo_rapportoBulk) i.next();
if (tipoRapp.getCd_tipo_rapporto().equals(tipoRapporto.getCd_tipo_rapporto()))
carriera.setTipo_rapporto(tipoRapp);
}
}
}
/**
* Insert the method's description here.
* Creation date: (25/02/2002 12.56.44)
*
* @param userContext it.cnr.jada.UserContext
* @param compenso it.cnr.contab.compensi00.docs.bulk.CompensoBulk
* @param aTerzo it.cnr.contab.compensi00.docs.bulk.V_terzo_per_compensoBulk
* @return it.cnr.contab.compensi00.docs.bulk.CompensoBulk
*/
public void ripristinaSelezioneTipoTrattamento() {
MinicarrieraBulk carriera = (MinicarrieraBulk) getModel();
Tipo_trattamentoBulk tipoTrattamento = carriera.getTipo_trattamento();
if (tipoTrattamento == null && carriera.getCd_trattamento() != null) {
//Caso in cui sto rinnovando o ripristinando una minicarriera
tipoTrattamento = new Tipo_trattamentoBulk();
tipoTrattamento.setCd_trattamento(carriera.getCd_trattamento());
}
// ripristino la selezione del Tipo Trattamento
if (tipoTrattamento != null) {
for (java.util.Iterator i = carriera.getTipiTrattamento().iterator(); i.hasNext(); ) {
Tipo_trattamentoBulk tratt = (Tipo_trattamentoBulk) i.next();
if (tratt.getCd_trattamento().equals(tipoTrattamento.getCd_trattamento()))
carriera.setTipo_trattamento(tratt);
}
}
}
/**
* Reimplementato per gestire il passaggio dei parametri dei saldi per il doc contabile
* una volta che l'utente ha deciso di eseguire lo sfondamento di cassa. Vedi action
* metodo 'onCheckDisponibiltaDiCassaFailed'
*/
public void update(ActionContext context)
throws it.cnr.jada.action.BusinessProcessException {
try {
getModel().setToBeUpdated();
setModel(
context,
((MinicarrieraComponentSession) createComponentSession()).modificaConBulk(
context.getUserContext(),
getModel(),
getUserConfirm()));
setUserConfirm(null);
} catch (Throwable e) {
throw handleException(e);
}
}
/**
* Imposta il tab sulla pagina di default
*/
public int validaPercipiente(ActionContext context, boolean checkValidita)
throws BusinessProcessException {
if (checkValidita)
try {
MinicarrieraComponentSession session = (MinicarrieraComponentSession) createComponentSession();
return session.validaPercipiente(
context.getUserContext(),
(MinicarrieraBulk) getModel());
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
return V_terzo_per_compensoBulk.TUTTO_BENE;
}
public boolean isTerzoCervellone(UserContext userContext, MinicarrieraBulk carriera) throws BusinessProcessException {
try {
MinicarrieraComponentSession sess = (MinicarrieraComponentSession) createComponentSession();
return sess.isTerzoCervellone(userContext, carriera);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
public boolean isGestitiIncarichi(UserContext userContext) throws BusinessProcessException {
try {
MinicarrieraComponentSession sess = (MinicarrieraComponentSession) createComponentSession();
return sess.isGestitiIncarichi(userContext);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
public void completaIncarico(ActionContext context, MinicarrieraBulk carriera, Incarichi_repertorioBulk incarico) throws BusinessProcessException {
try {
MinicarrieraComponentSession component = (MinicarrieraComponentSession) createComponentSession();
MinicarrieraBulk carrieraClone = component.completaIncarico(context.getUserContext(), carriera, incarico);
setModel(context, carrieraClone);
} catch (it.cnr.jada.comp.ComponentException ex) {
throw handleException(ex);
} catch (java.rmi.RemoteException ex) {
throw handleException(ex);
}
}
/*
public boolean isGestitePrestazioni(UserContext userContext) throws BusinessProcessException {
try{
MinicarrieraComponentSession sess = (MinicarrieraComponentSession)createComponentSession();
return sess.isGestitePrestazioni(userContext);
}catch(it.cnr.jada.comp.ComponentException ex){
throw handleException(ex);
}catch(java.rmi.RemoteException ex){
throw handleException(ex);
}
}
*/
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy