it.cnr.contab.config00.action.CRUDLinea_attivitaAction 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.config00.action;
import it.cnr.contab.config00.bp.CRUDWorkpackageBP;
import it.cnr.contab.config00.ejb.Linea_attivitaComponentSession;
import it.cnr.contab.config00.latt.bulk.Insieme_laBulk;
import it.cnr.contab.config00.latt.bulk.WorkpackageBulk;
import it.cnr.contab.config00.sto.bulk.CdrBulk;
import it.cnr.contab.prevent01.bulk.Pdg_programmaBulk;
import it.cnr.contab.progettiric00.core.bulk.ProgettoBulk;
import it.cnr.contab.progettiric00.core.bulk.Progetto_other_fieldBulk;
import it.cnr.jada.action.ActionContext;
import it.cnr.jada.action.Forward;
import it.cnr.jada.action.MessageToUser;
import it.cnr.jada.bulk.BulkInfo;
import it.cnr.jada.bulk.FieldProperty;
/**
*
*/
public class CRUDLinea_attivitaAction extends it.cnr.jada.util.action.CRUDAction {
//Dimensione massima ammessa per il File
private static final long lunghezzaMax = 0x1000000;
public CRUDLinea_attivitaAction() {
super();
}
/**
* Gestisce una richiesta di ricerca del searchtool "centro_responsabilita"
*
* @param context L'ActionContext della richiesta
* @param linea_attivita L'OggettoBulk padre del searchtool
* @param cdr L'OggettoBulk selezionato dall'utente
* @return Il Forward alla pagina di risposta
*/
public Forward doBlankSearchCentro_responsabilita(ActionContext context, WorkpackageBulk linea_attivita) {
try {
linea_attivita.setCentro_responsabilita(new CdrBulk());
linea_attivita.setInsieme_la(null);
linea_attivita.setPdgMissione(null);
CRUDWorkpackageBP bp = (CRUDWorkpackageBP) context.getBusinessProcess();
bp.setModel(context,
((Linea_attivitaComponentSession) bp.createComponentSession()).inizializzaNaturaPerInsieme(
context.getUserContext(),
linea_attivita));
return context.findDefaultForward();
} catch (Throwable e) {
return handleException(context, e);
}
}
/**
* Gestisce una richiesta di azzeramento del searchtool "tipo_linea_attivita"
*
* @param context L'ActionContext della richiesta
* @param linea_attivita L'OggettoBulk padre del searchtool
* @return Il Forward alla pagina di risposta
*/
public it.cnr.jada.action.Forward doBlankSearchTipo_linea_attivita(it.cnr.jada.action.ActionContext context, it.cnr.contab.config00.latt.bulk.WorkpackageBulk linea_attivita) {
linea_attivita.setTipo_linea_attivita(new it.cnr.contab.config00.latt.bulk.Tipo_linea_attivitaBulk());
linea_attivita.setCentro_responsabilita(null);
return context.findDefaultForward();
}
/**
* Gestisce una richiesta di ricerca del searchtool "centro_responsabilita"
*
* @param context L'ActionContext della richiesta
* @param linea_attivita L'OggettoBulk padre del searchtool
* @param cdr L'OggettoBulk selezionato dall'utente
* @return Il Forward alla pagina di risposta
*/
public Forward doBringBackSearchCentro_responsabilita(ActionContext context, WorkpackageBulk linea_attivita, CdrBulk cdr) {
try {
CRUDWorkpackageBP bp = (CRUDWorkpackageBP) context.getBusinessProcess();
if (cdr != null)
if (linea_attivita.getCentro_responsabilita() == null ||
linea_attivita.getCentro_responsabilita().getCrudStatus() != it.cnr.jada.bulk.OggettoBulk.NORMAL ||
!cdr.getCd_centro_responsabilita().equals(linea_attivita.getCd_centro_responsabilita())) {
linea_attivita.setCentro_responsabilita(cdr);
// (11/06/2002 15.14.46) CNRADM
// Modificato per azzerare l'insieme al cambiamento del cdr.
linea_attivita.setInsieme_la(null);
bp.setModel(context,
((Linea_attivitaComponentSession) bp.createComponentSession()).inizializzaNaturaPerInsieme(
context.getUserContext(),
linea_attivita));
}
return context.findDefaultForward();
} catch (Throwable e) {
return handleException(context, e);
}
}
/**
* Gestisce una richiesta di ricerca del searchtool "insieme_la"
*
* @param context L'ActionContext della richiesta
* @param linea_attivita L'OggettoBulk padre del searchtool
* @param insieme_la L'OggettoBulk selezionato dall'utente
* @return Il Forward alla pagina di risposta
*/
public Forward doBringBackSearchInsieme_la(ActionContext context, WorkpackageBulk linea_attivita, Insieme_laBulk insieme_la) {
try {
CRUDWorkpackageBP bp = (CRUDWorkpackageBP) context.getBusinessProcess();
linea_attivita.setInsieme_la(insieme_la);
if (insieme_la != null)
bp.setModel(context,
((Linea_attivitaComponentSession) bp.createComponentSession()).inizializzaNaturaPerInsieme(
context.getUserContext(),
linea_attivita));
return context.findDefaultForward();
} catch (Throwable e) {
return handleException(context, e);
}
}
public Forward doCambiaGestione(ActionContext context) {
try {
fillModel(context);
CRUDWorkpackageBP bp = (CRUDWorkpackageBP) context.getBusinessProcess();
bp.setModel(context,
((Linea_attivitaComponentSession) bp.createComponentSession()).inizializzaNature(
context.getUserContext(),
(WorkpackageBulk) bp.getModel()));
return context.findDefaultForward();
} catch (Throwable e) {
return handleException(context, e);
}
}
/**
* Gestisce una richiesta di ricerca del searchtool "tipo_linea_attivita"
*
* @param context L'ActionContext della richiesta
* @param linea_attivita L'OggettoBulk padre del searchtool
* @param tipo_linea_attivita L'OggettoBulk selezionato dall'utente
* @return Il Forward alla pagina di risposta
*/
public it.cnr.jada.action.Forward doBringBackSearchTipo_linea_attivita(it.cnr.jada.action.ActionContext context, it.cnr.contab.config00.latt.bulk.WorkpackageBulk linea_attivita, it.cnr.contab.config00.latt.bulk.Tipo_linea_attivitaBulk tipo_linea_attivita) {
linea_attivita.setTipo_linea_attivita(tipo_linea_attivita);
linea_attivita.setCentro_responsabilita(null);
// Passo e funzione natura ereditati da tipologia di linea di attività
if (tipo_linea_attivita != null) {
linea_attivita.setFunzione(tipo_linea_attivita.getFunzione());
linea_attivita.setNatura(tipo_linea_attivita.getNatura());
}
return context.findDefaultForward();
}
public Forward doFreeSearchFind_nodo_padre(ActionContext context) {
try {
ProgettoBulk progetto = new ProgettoBulk();
progetto.setProgettopadre(new ProgettoBulk());
return freeSearch(context, getFormField(context, "main.find_nodo_padre"), progetto);
} catch (Throwable e) {
return handleException(context, e);
}
}
public Forward doFreeSearchFind_nodo_padre_2015(ActionContext context) {
try {
CRUDWorkpackageBP bpLinea = (CRUDWorkpackageBP) context.getBusinessProcess();
WorkpackageBulk gae = (WorkpackageBulk) bpLinea.getModel();
if (gae.getProgetto2016() != null && gae.getProgetto2016().getPg_progetto() != null &&
(gae.getPdgProgramma() == null || gae.getPdgProgramma().getCd_programma() == null)) {
setErrorMessage(context, "Attenzione: non risulta valorizzato il programma nonostante la presenza del progetto. Aprire una segnalazione HelpDesk!");
return context.findDefaultForward();
}
ProgettoBulk progetto = new ProgettoBulk();
progetto.setProgettopadre(new ProgettoBulk());
return freeSearch(context, getFormField(context, "main.find_nodo_padre_2015"), progetto);
} catch (Throwable e) {
return handleException(context, e);
}
}
public Forward doFreeSearchFind_nodo_padre_2016(ActionContext context) {
try {
CRUDWorkpackageBP bpLinea = (CRUDWorkpackageBP) context.getBusinessProcess();
WorkpackageBulk gae = (WorkpackageBulk) bpLinea.getModel();
if (gae.getEsercizio_fine() != null && gae.getEsercizio_fine().compareTo(Integer.valueOf(2016)) == -1) {
setErrorMessage(context, "Attenzione: il GAE termina prima dell''anno 2016. Inserimento non possibile!");
return context.findDefaultForward();
}
if (gae.getModulo2015() != null && gae.getModulo2015().getPg_progetto() != null &&
(gae.getPdgProgramma() == null || gae.getPdgProgramma().getCd_programma() == null)) {
setErrorMessage(context, "Attenzione: non risulta valorizzato il programma nonostante la presenza del modulo di attività. Aprire una segnalazione HelpDesk!");
return context.findDefaultForward();
}
ProgettoBulk progetto = new ProgettoBulk();
progetto.setProgettopadre(new ProgettoBulk());
return freeSearch(context, getFormField(context, "main.find_nodo_padre_2016"), progetto);
} catch (Throwable e) {
return handleException(context, e);
}
}
public Forward doSearchFind_nodo_padre_2016(ActionContext context) {
try {
CRUDWorkpackageBP bpLinea = (CRUDWorkpackageBP) context.getBusinessProcess();
WorkpackageBulk gae = (WorkpackageBulk) bpLinea.getModel();
if (gae.getEsercizio_fine() != null && gae.getEsercizio_fine().compareTo(Integer.valueOf(2016)) == -1) {
setErrorMessage(context, "Attenzione: il GAE termina prima dell''anno 2016. Inserimento non possibile!");
return context.findDefaultForward();
}
if (gae.getModulo2015() != null && gae.getModulo2015().getPg_progetto() != null &&
(gae.getPdgProgramma() == null || gae.getPdgProgramma().getCd_programma() == null)) {
setErrorMessage(context, "Attenzione: non risulta valorizzato il programma nonostante la presenza del modulo di attività. Aprire una segnalazione HelpDesk!");
return context.findDefaultForward();
}
return search(context, getFormField(context, "main.find_nodo_padre_2016"), "nuovoPdg");
} catch (Throwable e) {
return handleException(context, e);
}
}
public Forward doSearchFind_nodo_padre_2015(ActionContext context) {
try {
CRUDWorkpackageBP bpLinea = (CRUDWorkpackageBP) context.getBusinessProcess();
WorkpackageBulk gae = (WorkpackageBulk) bpLinea.getModel();
if (gae.getProgetto2016() != null && gae.getProgetto2016().getPg_progetto() != null &&
(gae.getPdgProgramma() == null || gae.getPdgProgramma().getCd_programma() == null)) {
setErrorMessage(context, "Attenzione: non risulta valorizzato il programma nonostante la presenza del progetto. Aprire una segnalazione HelpDesk!");
return context.findDefaultForward();
}
return search(context, getFormField(context, "main.find_nodo_padre_2015"), null);
} catch (Throwable e) {
return handleException(context, e);
}
}
public it.cnr.jada.action.Forward doBlankSearchFind_nodo_padre(it.cnr.jada.action.ActionContext context, it.cnr.contab.config00.latt.bulk.WorkpackageBulk linea_attivita) {
linea_attivita.setProgetto(new ProgettoBulk());
linea_attivita.setPdgProgramma(null);
return context.findDefaultForward();
}
public it.cnr.jada.action.Forward doBlankSearchFind_nodo_padre_2015(it.cnr.jada.action.ActionContext context, it.cnr.contab.config00.latt.bulk.WorkpackageBulk linea_attivita) {
linea_attivita.setModulo2015(new ProgettoBulk());
if (linea_attivita.getProgetto2016() == null || linea_attivita.getProgetto2016().getCd_progetto() == null)
linea_attivita.setPdgProgramma(null);
return context.findDefaultForward();
}
public it.cnr.jada.action.Forward doBlankSearchFind_nodo_padre_2016(it.cnr.jada.action.ActionContext context, it.cnr.contab.config00.latt.bulk.WorkpackageBulk linea_attivita) {
linea_attivita.setProgetto2016(new ProgettoBulk());
if (linea_attivita.getModulo2015() == null || linea_attivita.getModulo2015().getCd_progetto() == null)
linea_attivita.setPdgProgramma(null);
return context.findDefaultForward();
}
/**
* E' stata generata la richiesta di cercare un Progetto che sia padre del Progetto
* che si sta creando.
* Il metodo antepone alla descrizione specificata dall'utente, quella del Progetto selezionato
* come padre.
* In caso di modifica di una Progetto esistente sul DB, il sistema controlla che il Progetto
* selezionato dall'utente non sia la stesso che sta modificando.
*
* @param context il ActionContext che contiene le informazioni relative alla richiesta
* @return forward Forward
**/
public it.cnr.jada.action.Forward doBringBackSearchFind_nodo_padre(ActionContext context, WorkpackageBulk linea, ProgettoBulk progetto) throws java.rmi.RemoteException {
try {
// valore di default nel caso non fose valorizzato
String columnDescription = "Codice Modulo di Attività";
// nome del campo nel file xml
final String propName = "cd_progetto";
FieldProperty property = BulkInfo.getBulkInfo(linea.getClass()).getFieldProperty(propName);
if (property != null)
columnDescription = property.getLabel();
if (progetto != null) {
if (progetto.getLivello() == null || !progetto.getLivello().equals(new Integer("3"))) {
setErrorMessage(context, "Attenzione: il valore immesso in " + columnDescription + " non è valido!");
return context.findDefaultForward();
}
}
linea.setProgetto(progetto);
CRUDWorkpackageBP bp = (CRUDWorkpackageBP) context.getBusinessProcess();
return context.findDefaultForward();
} catch (Throwable e) {
return handleException(context, e);
}
}
public Forward doSearchPdgMissione(ActionContext context) {
WorkpackageBulk linea_attivita = (WorkpackageBulk) getBusinessProcess(context).getModel();
if (linea_attivita == null || linea_attivita.getCentro_responsabilita() == null || linea_attivita.getCentro_responsabilita().getUnita_padre() == null ||
linea_attivita.getCentro_responsabilita().getUnita_padre().getCd_tipo_unita() == null)
throw new MessageToUser("Ricerca Missione non possibile! Centro di Responsabilità non selezionato e/o errore nell'individuazione del tipo di CDR!");
return search(context, getFormField(context, "main.pdgMissione"), null);
}
public it.cnr.jada.action.Forward doBringBackSearchFind_nodo_padre_2015(ActionContext context, WorkpackageBulk linea, ProgettoBulk progetto) throws java.rmi.RemoteException {
try {
// valore di default nel caso non fose valorizzato
String columnDescription = "Codice Modulo di Attività";
// nome del campo nel file xml
final String propName = "cd_modulo2015";
FieldProperty property = BulkInfo.getBulkInfo(linea.getClass()).getFieldProperty(propName);
if (property != null)
columnDescription = property.getLabel();
if (progetto != null) {
if (progetto.getLivello() == null || !progetto.getLivello().equals(new Integer("3"))) {
setErrorMessage(context, "Attenzione: il valore immesso in " + columnDescription + " non è valido!");
return context.findDefaultForward();
}
}
CRUDWorkpackageBP bp = (CRUDWorkpackageBP) context.getBusinessProcess();
if (linea != null && linea.getPdgProgramma() != null && linea.getPdgProgramma().getCd_programma() != null &&
progetto != null && progetto.getProgettopadre() != null && progetto.getProgettopadre().getProgettopadre() != null &&
!linea.getPdgProgramma().getCd_programma().equals(progetto.getProgettopadre().getProgettopadre().getCd_dipartimento())) {
setErrorMessage(context, "Attenzione: il modulo di attivita', appartenente al dipartimento con codice " + progetto.getProgettopadre().getProgettopadre().getCd_dipartimento() +
" non è coerente con il programma indicato sulla GAE!");
return context.findDefaultForward();
} else if (linea != null && (linea.getPdgProgramma() == null || linea.getPdgProgramma().getCd_programma() == null) &&
progetto != null && progetto.getProgettopadre() != null && progetto.getProgettopadre().getProgettopadre() != null &&
progetto.getProgettopadre().getProgettopadre().getCd_dipartimento() != null) {
linea.setPdgProgramma((Pdg_programmaBulk) bp.createComponentSession().findByPrimaryKey(context.getUserContext(), new Pdg_programmaBulk(progetto.getProgettopadre().getProgettopadre().getCd_dipartimento())));
}
linea.setModulo2015(progetto);
return context.findDefaultForward();
} catch (Throwable e) {
return handleException(context, e);
}
}
public it.cnr.jada.action.Forward doBringBackSearchFind_nodo_padre_2016(ActionContext context, WorkpackageBulk linea, ProgettoBulk progetto) throws java.rmi.RemoteException {
try {
// valore di default nel caso non fose valorizzato
String columnDescription = "Codice Progetto";
// nome del campo nel file xml
final String propName = "cd_progetto2016";
FieldProperty property = BulkInfo.getBulkInfo(linea.getClass()).getFieldProperty(propName);
if (property != null)
columnDescription = property.getLabel();
if (progetto != null) {
if (progetto.getLivello() == null || !progetto.getLivello().equals(new Integer("2"))) {
setErrorMessage(context, "Attenzione: il valore immesso in " + columnDescription + " non è valido!");
return context.findDefaultForward();
}
}
CRUDWorkpackageBP bp = (CRUDWorkpackageBP) context.getBusinessProcess();
if (progetto != null) {
progetto.setProgettopadre((ProgettoBulk) bp.createComponentSession().findByPrimaryKey(context.getUserContext(),
new ProgettoBulk(progetto.getEsercizio(), progetto.getPg_progetto_padre(), progetto.getTipo_fase())));
progetto.setOtherField((Progetto_other_fieldBulk) bp.createComponentSession().findByPrimaryKey(context.getUserContext(),
new Progetto_other_fieldBulk(progetto.getPg_progetto())));
}
if (linea != null && linea.getPdgProgramma() != null && linea.getPdgProgramma().getCd_programma() != null &&
progetto != null && progetto.getProgettopadre() != null &&
!linea.getPdgProgramma().getCd_programma().equals(progetto.getProgettopadre().getCd_programma())) {
setErrorMessage(context, "Attenzione: il progetto, appartenente al dipartimento con codice " + progetto.getProgettopadre().getCd_dipartimento() +
" non è coerente con il programma indicato sulla GAE!");
return context.findDefaultForward();
} else if (linea != null && (linea.getPdgProgramma() == null || linea.getPdgProgramma().getCd_programma() == null) &&
progetto != null && progetto.getProgettopadre() != null && progetto.getProgettopadre().getPdgProgramma() != null) {
linea.setPdgProgramma((Pdg_programmaBulk) bp.createComponentSession().findByPrimaryKey(context.getUserContext(), progetto.getProgettopadre().getPdgProgramma()));
}
linea.setProgetto2016(progetto);
return context.findDefaultForward();
} catch (Throwable e) {
return handleException(context, e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy