use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDDocumentoGenericoAttivoBP method sdoppiaDettaglioInAutomatico.
public void sdoppiaDettaglioInAutomatico(ActionContext context) throws ValidationException, BusinessProcessException {
try {
it.cnr.contab.doccont00.ejb.AccertamentoAbstractComponentSession h = it.cnr.contab.doccont00.bp.CRUDVirtualAccertamentoBP.getVirtualComponentSession(context, true);
DocumentoGenericoComponentSession session = (DocumentoGenericoComponentSession) createComponentSession();
Documento_genericoBulk documento = (Documento_genericoBulk) getModel();
Documento_generico_rigaBulk dettaglioSelezionato = (Documento_generico_rigaBulk) getDettaglio().getModel();
Accertamento_scadenzarioBulk scadenzaNuova = null;
if (dettaglioSelezionato == null)
return;
if (documento.getStato_cofi() != null && documento.getStato_cofi().equals(Documento_genericoBulk.STATO_PAGATO))
setMessage("Non è possibile sdoppiare righe in un documento pagato");
if (dettaglioSelezionato.getIm_riga() == null) {
setMessage("Non è possibile sdoppiare righe in cui l'importo di origine non è valorizzato");
return;
}
if (dettaglioSelezionato.getIm_riga_sdoppia() == null || dettaglioSelezionato.getIm_riga_sdoppia().equals(Utility.ZERO) || dettaglioSelezionato.getIm_riga_sdoppia().compareTo(dettaglioSelezionato.getIm_riga()) != -1) {
setMessage("L'importo nuovo della riga da sdoppiare deve essere positivo ed inferiore " + "all'importo originario del riga stessa");
return;
}
Accertamento_scadenzarioBulk scadenzaVecchia = dettaglioSelezionato.getAccertamento_scadenziario();
java.math.BigDecimal newImportoRigaVecchia = dettaglioSelezionato.getIm_riga_sdoppia();
java.math.BigDecimal newImportoRigaNuova = dettaglioSelezionato.getIm_riga().subtract(dettaglioSelezionato.getIm_riga_sdoppia());
if (dettaglioSelezionato.getAccertamento_scadenziario() != null) {
/*
* L'importo della scadenza vecchia sarà pari al valore iniziale diminuito del valore originario del
* dettaglio e aumentato del valore nuovo.
* Ciò al fine di gestire il caso di utenti che collegano più dettagli di documento alla stessa scadenza
*/
scadenzaNuova = (Accertamento_scadenzarioBulk) h.sdoppiaScadenzaInAutomatico(context.getUserContext(), scadenzaVecchia, scadenzaVecchia.getIm_scadenza().subtract(Utility.nvl(dettaglioSelezionato.getIm_riga())).add(Utility.nvl(dettaglioSelezionato.getIm_riga_sdoppia())));
// ricarico l'accertamento e recupero i riferimenti alle scadenze
AccertamentoBulk accertamento = (AccertamentoBulk) h.inizializzaBulkPerModifica(context.getUserContext(), scadenzaNuova.getAccertamento());
if (!accertamento.getAccertamento_scadenzarioColl().containsByPrimaryKey(scadenzaVecchia) || !accertamento.getAccertamento_scadenzarioColl().containsByPrimaryKey(scadenzaNuova))
throw new ValidationException("Errore nello sdoppiamento della scadenza dell'accertamento.");
scadenzaVecchia = accertamento.getAccertamento_scadenzarioColl().get(accertamento.getAccertamento_scadenzarioColl().indexOfByPrimaryKey(scadenzaVecchia));
scadenzaNuova = accertamento.getAccertamento_scadenzarioColl().get(accertamento.getAccertamento_scadenzarioColl().indexOfByPrimaryKey(scadenzaNuova));
}
// creo la nuova riga di dettaglio e la associo al documento
Documento_generico_rigaBulk nuovoDettaglio = new Documento_generico_rigaBulk();
getDettaglio().addDetail(nuovoDettaglio);
nuovoDettaglio = copyByRigaDocumento(context, nuovoDettaglio, dettaglioSelezionato);
// Aggiorno la vecchia riga di dettaglio ed in particolare l'importo della riga da sdoppiare
// del doc amministrativo
dettaglioSelezionato.setIm_riga(newImportoRigaVecchia);
dettaglioSelezionato.setIm_riga_divisa(newImportoRigaVecchia);
dettaglioSelezionato.setToBeUpdated();
if (scadenzaVecchia != null) {
dettaglioSelezionato.setAccertamento_scadenziario(scadenzaVecchia);
documento.addToDefferredSaldi(scadenzaVecchia.getAccertamento(), scadenzaVecchia.getAccertamento().getSaldiInfo());
}
if (scadenzaNuova != null) {
BulkList selectedModels = new BulkList();
selectedModels.add(nuovoDettaglio);
documento = session.contabilizzaDettagliSelezionati(context.getUserContext(), documento, selectedModels, scadenzaNuova);
documento.addToDefferredSaldi(scadenzaNuova.getAccertamento(), scadenzaNuova.getAccertamento().getSaldiInfo());
}
documento = session.rebuildDocumento(context.getUserContext(), documento);
getAccertamentiController().getSelection().clear();
getAccertamentiController().setModelIndex(context, -1);
getAccertamentiController().setModelIndex(context, it.cnr.jada.bulk.BulkCollections.indexOfByPrimaryKey(getAccertamentiController().getDetails(), dettaglioSelezionato));
documento.setDetailDoubled(true);
setModel(context, documento);
} catch (Exception e) {
throw handleException(e);
}
}
use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDDocumentoGenericoAttivoBP method riportaAvanti.
public void riportaAvanti(ActionContext context) throws ValidationException, BusinessProcessException {
try {
DocumentoGenericoComponentSession session = (DocumentoGenericoComponentSession) createComponentSession();
Documento_genericoBulk docCarried = (Documento_genericoBulk) session.riportaAvanti(context.getUserContext(), (IDocumentoAmministrativoBulk) getModel(), getUserConfirm());
setModel(context, docCarried);
} catch (Exception e) {
throw handleException(e);
} finally {
setUserConfirm(null);
}
}
use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDDocumentoGenericoAttivoBP method initializeModelForGenericSearch.
public it.cnr.jada.ejb.CRUDComponentSession initializeModelForGenericSearch(it.cnr.jada.util.action.BulkBP bp, it.cnr.jada.action.ActionContext context) throws BusinessProcessException {
DocumentoGenericoComponentSession session = (DocumentoGenericoComponentSession) createComponentSession();
Filtro_ricerca_doc_ammVBulk filtro = (Filtro_ricerca_doc_ammVBulk) bp.getModel();
Documento_genericoBulk dg = (Documento_genericoBulk) filtro.getInstance();
try {
Documento_genericoBulk clause = (Documento_genericoBulk) dg.clone();
clause.setTi_entrate_spese(Documento_genericoBulk.ENTRATE);
java.util.Collection tipiDocumentoEntrata = session.findTipi_doc_for_search(context.getUserContext(), clause);
dg.setTipi_doc_for_search(tipiDocumentoEntrata);
} catch (Throwable t) {
throw new BusinessProcessException(t.getMessage(), t);
}
return session;
}
use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDDocumentoGenericoPassivoBP method initializeModelForGenericSearch.
public it.cnr.jada.ejb.CRUDComponentSession initializeModelForGenericSearch(it.cnr.jada.util.action.BulkBP bp, it.cnr.jada.action.ActionContext context) throws BusinessProcessException {
DocumentoGenericoComponentSession session = (DocumentoGenericoComponentSession) createComponentSession();
Filtro_ricerca_doc_ammVBulk filtro = (Filtro_ricerca_doc_ammVBulk) bp.getModel();
Documento_genericoBulk dg = (Documento_genericoBulk) filtro.getInstance();
try {
Documento_genericoBulk clause = (Documento_genericoBulk) dg.clone();
clause.setTi_entrate_spese(Documento_genericoBulk.ENTRATE);
java.util.Collection tipiDocumentoEntrata = session.findTipi_doc_for_search(context.getUserContext(), clause);
dg.setTipi_doc_for_search(tipiDocumentoEntrata);
} catch (Throwable t) {
throw new BusinessProcessException(t.getMessage(), t);
}
return session;
}
use of it.cnr.contab.docamm00.docs.bulk.Documento_genericoBulk in project sigla-main by consiglionazionaledellericerche.
the class ReversaleComponent method annullaReversaleDiTrasferimento.
/**
* annullamento
* PreCondition:
* E' stata generata la richiesta di annullare una Reversale di Trasferimento
* PostCondition:
* Viene richiesta alla Component che gestisce il Documento Generico l'annullamento della
* reversale di Trasferimento (metodo annullaReversale) e di eventuali documenti
* generici associati alla reversale (metodo docGenerico_annullaDocumentoGenerico).
*
* @param userContext lo <code>UserContext</code> che ha generato la richiesta
* @param reversale <code>ReversaleBulk</code> la reversale di trasferimento da annullare
*/
public void annullaReversaleDiTrasferimento(UserContext userContext, ReversaleBulk reversale) throws ComponentException {
try {
/* REVERSALE */
annullaReversale(userContext, reversale);
/* DOC GENERICO */
Reversale_rigaBulk rRiga = (Reversale_rigaBulk) reversale.getReversale_rigaColl().get(0);
Documento_genericoBulk docGenerico = new Documento_genericoBulk(rRiga.getCd_cds(), rRiga.getCd_tipo_documento_amm(), rRiga.getCd_uo_doc_amm(), rRiga.getEsercizio_doc_amm(), rRiga.getPg_doc_amm());
DocumentoGenericoComponentSession docSession = createDocumentoGenericoComponentSession();
docGenerico = (Documento_genericoBulk) docSession.inizializzaBulkPerModifica(userContext, docGenerico);
/*????? annulla documento contabile */
// docSession.eliminaConBulk( userContext, docGenerico );
docGenerico_annullaDocumentoGenerico(userContext, docGenerico);
/* ACR_SISTEMA */
Documento_generico_rigaBulk dRiga;
AccertamentoCdsBulk accertamento;
AccertamentoComponentSession acrSession = createAccertamentoComponentSession();
for (Iterator i = docGenerico.getDocumento_generico_dettColl().iterator(); i.hasNext(); ) {
dRiga = (Documento_generico_rigaBulk) i.next();
accertamento = new AccertamentoCdsBulk(dRiga.getAccertamento_scadenziario().getCd_cds(), dRiga.getAccertamento_scadenziario().getEsercizio(), dRiga.getAccertamento_scadenziario().getEsercizio_originale(), dRiga.getAccertamento_scadenziario().getPg_accertamento());
accertamento = (AccertamentoCdsBulk) acrSession.inizializzaBulkPerModifica(userContext, accertamento);
acrSession.annullaAccertamento(userContext, accertamento);
// acrSession.eliminaConBulk( userContext, accertamento );
}
} catch (Exception e) {
throw handleException(e);
}
}
Aggregations