it.cnr.contab.pdg00.action.ContabilizzazioneFlussoStipendialeMensileAction 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.pdg00.action;
import it.cnr.contab.doccont00.core.bulk.*;
import it.cnr.contab.doccont00.bp.*;
import it.cnr.contab.docamm00.bp.*;
import it.cnr.contab.docamm00.docs.bulk.*;
import it.cnr.contab.compensi00.bp.*;
import it.cnr.contab.compensi00.docs.bulk.*;
import it.cnr.contab.pdg00.bp.*;
import it.cnr.contab.pdg00.cdip.bulk.*;
import it.cnr.contab.config00.sto.bulk.*;
import it.cnr.contab.config00.latt.bulk.*;
import it.cnr.jada.action.*;
import it.cnr.jada.util.action.*;
public class ContabilizzazioneFlussoStipendialeMensileAction extends it.cnr.jada.util.action.SelezionatoreListaAction {
public ContabilizzazioneFlussoStipendialeMensileAction() {
super();
}
public Forward doApriCompenso(ActionContext context) throws BusinessProcessException {
ContabilizzazioneFlussoStipendialeMensileBP bp = (ContabilizzazioneFlussoStipendialeMensileBP)context.getBusinessProcess();
Stipendi_cofiBulk stipendi_cofi = (Stipendi_cofiBulk)bp.getFocusedElement();
if (stipendi_cofi == null) {
bp.setMessage("E' necessario selezionare una mensilità.");
return context.findDefaultForward();
}
if (stipendi_cofi.getCd_cds_comp() == null ||
stipendi_cofi.getCd_uo_comp() == null ||
stipendi_cofi.getEsercizio_comp() == null ||
stipendi_cofi.getPg_comp() == null) {
bp.setMessage("E' necessario selezionare una mensilità già liquidata.");
return context.findDefaultForward();
}
CompensoBulk compenso = new CompensoBulk(
stipendi_cofi.getCd_cds_comp(),
stipendi_cofi.getCd_uo_comp(),
stipendi_cofi.getEsercizio_comp(),
stipendi_cofi.getPg_comp());
CRUDCompensoBP compBP = CRUDCompensoBP.getBusinessProcessFor(context, compenso, "VRSWTh");
compBP.edit(context,compenso);
return context.addBusinessProcess(compBP);
}
public Forward doApriDocumentoGenerico(ActionContext context) throws BusinessProcessException {
ContabilizzazioneFlussoStipendialeMensileBP bp = (ContabilizzazioneFlussoStipendialeMensileBP)context.getBusinessProcess();
Stipendi_cofiBulk stipendi_cofi = (Stipendi_cofiBulk)bp.getFocusedElement();
if (stipendi_cofi == null) {
bp.setMessage("E' necessario selezionare una mensilità.");
return context.findDefaultForward();
}
if (stipendi_cofi.getCd_cds_doc_gen() == null ||
stipendi_cofi.getCd_uo_doc_gen() == null ||
stipendi_cofi.getEsercizio_doc_gen() == null ||
stipendi_cofi.getCd_tipo_doc_gen() == null ||
stipendi_cofi.getPg_doc_gen() == null) {
bp.setMessage("E' necessario selezionare una mensilità già liquidata.");
return context.findDefaultForward();
}
CRUDDocumentoGenericoPassivoBP newbp = (CRUDDocumentoGenericoPassivoBP)context.createBusinessProcess("CRUDGenericoPassivoBP",new Object[] { "VRSWTh" });
newbp.edit(context,new Documento_generico_passivoBulk(
stipendi_cofi.getCd_cds_doc_gen(),
stipendi_cofi.getCd_tipo_doc_gen(),
stipendi_cofi.getCd_uo_doc_gen(),
stipendi_cofi.getEsercizio_doc_gen(),
stipendi_cofi.getPg_doc_gen()));
return context.addBusinessProcess(newbp);
}
public Forward doApriMandato(ActionContext context) throws BusinessProcessException {
ContabilizzazioneFlussoStipendialeMensileBP bp = (ContabilizzazioneFlussoStipendialeMensileBP)context.getBusinessProcess();
Stipendi_cofiBulk stipendi_cofi = (Stipendi_cofiBulk)bp.getFocusedElement();
if (stipendi_cofi == null) {
bp.setMessage("E' necessario selezionare una mensilità.");
return context.findDefaultForward();
}
if (stipendi_cofi.getCd_cds_mandato() == null ||
stipendi_cofi.getCd_uo_doc_gen() == null ||
stipendi_cofi.getEsercizio_mandato() == null ||
stipendi_cofi.getPg_mandato() == null) {
bp.setMessage("E' necessario selezionare una mensilità già liquidata.");
return context.findDefaultForward();
}
CRUDMandatoBP newbp = (CRUDMandatoBP)context.createBusinessProcess("CRUDMandatoBP",new Object[] { "VRSWTh" });
newbp.edit(context,new MandatoIBulk(
stipendi_cofi.getCd_cds_mandato(),
stipendi_cofi.getEsercizio_mandato(),
stipendi_cofi.getPg_mandato()));
return context.addBusinessProcess(newbp);
}
public Forward doBringBack(ActionContext context) throws BusinessProcessException {
// Reimplementato per impedire che la selezione di un elemento provochi
// la chiusura del bp (come da default in SelezionatoreListaAction
return context.findDefaultForward();
}
/**
* Avvia la la contabilizzazione dei flussi stipendiali mensili
* sul mese selezionato.
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
* @throws BusinessProcessException
*/
public Forward doContabilizzaFlussoStipendialeMensile(ActionContext context) throws BusinessProcessException {
ContabilizzazioneFlussoStipendialeMensileBP bp = (ContabilizzazioneFlussoStipendialeMensileBP)context.getBusinessProcess();
bp.saveSelection(context);
Stipendi_cofiBulk stipendi_cofi = (Stipendi_cofiBulk)bp.getFocusedElement();
if (stipendi_cofi != null)
try {
bp.createComponentSession().contabilizzaFlussoStipendialeMensile(context.getUserContext(),stipendi_cofi.getMese().intValue());
bp.refresh(context);
} catch(Throwable e) {
return handleException(context,e);
}
else
setErrorMessage(context,"Per poter effettuare la contabilizzazione è necessario selezionare un mese.");
return context.findDefaultForward();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy