use of it.cnr.contab.docamm00.docs.bulk.Fattura_passivaBulk in project sigla-main by consiglionazionaledellericerche.
the class ScritturaPartitaDoppiaComponent method proposeTestataPrimaNotaDocumento.
private List<TestataPrimaNota> proposeTestataPrimaNotaDocumento(UserContext userContext, IDocumentoAmministrativoBulk docamm) throws ComponentException {
try {
List<TestataPrimaNota> testataPrimaNotaList = new ArrayList<>();
// Le fatture generate da compenso non creano scritture di prima nota in quanto create direttamente dal compenso stesso
if (Optional.of(docamm).filter(Fattura_passivaBulk.class::isInstance).map(Fattura_passivaBulk.class::cast).map(Fattura_passivaBulk::isGenerataDaCompenso).orElse(Boolean.FALSE))
return null;
final boolean isCommercialeWithAutofattura = this.hasAutofattura(userContext, docamm);
final boolean registraIva = this.registraIvaCoge(docamm) || isCommercialeWithAutofattura;
List<IDocumentoAmministrativoRigaBulk> righeDocamm = docamm.getChildren();
Map<Integer, Map<Timestamp, Map<Timestamp, List<IDocumentoAmministrativoRigaBulk>>>> mapTerzo = righeDocamm.stream().collect(Collectors.groupingBy(IDocumentoAmministrativoRigaBulk::getCd_terzo, Collectors.groupingBy(IDocumentoAmministrativoRigaBulk::getDt_da_competenza_coge, Collectors.groupingBy(IDocumentoAmministrativoRigaBulk::getDt_a_competenza_coge))));
mapTerzo.keySet().stream().forEach(aCdTerzo -> {
mapTerzo.get(aCdTerzo).keySet().forEach(aDtDaCompCoge -> {
mapTerzo.get(aCdTerzo).get(aDtDaCompCoge).keySet().forEach(aDtACompCoge -> {
List<IDocumentoAmministrativoRigaBulk> righeDocammTerzo = mapTerzo.get(aCdTerzo).get(aDtDaCompCoge).get(aDtACompCoge);
TestataPrimaNota testataPrimaNota = new TestataPrimaNota(aCdTerzo, aDtDaCompCoge, aDtACompCoge);
testataPrimaNotaList.add(testataPrimaNota);
Map<Integer, Map<String, Map<String, Map<String, List<IDocumentoAmministrativoRigaBulk>>>>> mapVoce = righeDocammTerzo.stream().collect(Collectors.groupingBy(rigaDoc -> rigaDoc.getScadenzaDocumentoContabile().getFather().getEsercizio(), Collectors.groupingBy(rigaDoc2 -> rigaDoc2.getScadenzaDocumentoContabile().getFather().getTi_appartenenza(), Collectors.groupingBy(rigaDoc3 -> rigaDoc3.getScadenzaDocumentoContabile().getFather().getTi_gestione(), Collectors.groupingBy(rigaDoc4 -> rigaDoc4.getScadenzaDocumentoContabile().getFather().getCd_elemento_voce())))));
mapVoce.keySet().stream().forEach(aEseVoce -> {
mapVoce.get(aEseVoce).keySet().forEach(aTiAppartenenza -> {
mapVoce.get(aEseVoce).get(aTiAppartenenza).keySet().forEach(aTiGestione -> {
mapVoce.get(aEseVoce).get(aTiAppartenenza).get(aTiGestione).keySet().forEach(aCdVoce -> {
try {
List<IDocumentoAmministrativoRigaBulk> righeDocammVoce = mapVoce.get(aEseVoce).get(aTiAppartenenza).get(aTiGestione).get(aCdVoce);
BigDecimal imImponibile = righeDocammVoce.stream().map(IDocumentoAmministrativoRigaBulk::getIm_imponibile).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal imIva = righeDocammVoce.stream().map(iDocumentoAmministrativoRigaBulk -> Optional.ofNullable(iDocumentoAmministrativoRigaBulk.getIm_iva()).orElse(BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add);
// Registrazione IVA
if (registraIva) {
if (isCommercialeWithAutofattura) {
Pair<Voce_epBulk, Voce_epBulk> pairContoIva = this.findPairAutofatturaIva(userContext, righeDocammVoce.stream().findAny().get());
testataPrimaNota.openDettaglioIva(docamm, pairContoIva.getFirst().getCd_voce_ep(), imIva);
testataPrimaNota.closeDettaglioIva(docamm, pairContoIva.getSecond().getCd_voce_ep(), imIva);
} else {
Pair<Voce_epBulk, Voce_epBulk> pairContoIva = this.findPairIva(userContext, righeDocammVoce.stream().findAny().get());
testataPrimaNota.openDettaglioIva(docamm, pairContoIva.getFirst().getCd_voce_ep(), imIva);
testataPrimaNota.openDettaglioCostoRicavo(docamm, pairContoIva.getSecond().getCd_voce_ep(), imIva);
}
}
// Registrazione conto COSTO
BigDecimal imCosto = registraIva ? imImponibile : imImponibile.add(imIva);
Pair<Voce_epBulk, Voce_epBulk> pairContoCosto = this.findPairCosto(userContext, righeDocammVoce.stream().findAny().get());
testataPrimaNota.openDettaglioCostoRicavo(docamm, pairContoCosto.getFirst().getCd_voce_ep(), imCosto);
testataPrimaNota.openDettaglioPatrimoniale(docamm, pairContoCosto.getSecond().getCd_voce_ep(), imCosto, true);
} catch (ComponentException | PersistencyException | RemoteException e) {
throw new ApplicationRuntimeException(e);
}
});
});
});
});
});
});
});
return testataPrimaNotaList;
} catch (Exception e) {
throw handleException(e);
}
}
use of it.cnr.contab.docamm00.docs.bulk.Fattura_passivaBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaElettronicaBP method completaFatturaPassiva.
public OggettoBulk completaFatturaPassiva(ActionContext context, Fattura_passivaBulk fatturaPassivaBulk, CRUDFatturaPassivaBP nbp, Fattura_passivaBulk fatturaPassivaDiRiferimento) throws BusinessProcessException {
try {
CRUDFatturaPassivaAction action = new CRUDFatturaPassivaAction();
FatturaPassivaComponentSession comp = (FatturaPassivaComponentSession) nbp.createComponentSession();
DocumentoEleTestataBulk documentoEleTestata = (DocumentoEleTestataBulk) getModel();
fatturaPassivaBulk.setDocumentoEleTestata(documentoEleTestata);
fatturaPassivaBulk = comp.caricaAllegatiBulk(context.getUserContext(), fatturaPassivaBulk);
fatturaPassivaBulk.setTi_fattura(documentoEleTestata.getTipoDocumentoSIGLA());
fatturaPassivaBulk.setNr_fattura_fornitore(documentoEleTestata.getNumeroDocumento());
fatturaPassivaBulk.setDt_fattura_fornitore(documentoEleTestata.getDataDocumento());
// TODO
fatturaPassivaBulk.setEsercizio_fattura_fornitore(CNRUserContext.getEsercizio(context.getUserContext()));
fatturaPassivaBulk.setData_protocollo(documentoEleTestata.getDocumentoEleTrasmissione().getDataRicezione());
Calendar date = Calendar.getInstance();
date.setTimeInMillis(documentoEleTestata.getDataDocumento().getTime());
date.add(Calendar.MONTH, 1);
fatturaPassivaBulk.setDs_fattura_passiva(documentoEleTestata.getCausale());
fatturaPassivaBulk.setFl_intra_ue(Boolean.FALSE);
fatturaPassivaBulk.setFl_extra_ue(Boolean.FALSE);
fatturaPassivaBulk.setFl_san_marino_senza_iva(Boolean.FALSE);
fatturaPassivaBulk.setFl_fattura_compenso(existsTributi(documentoEleTestata));
// Il flag viene impostato a true se documento splitPayment con iva != 0
fatturaPassivaBulk.setFl_split_payment(documentoEleTestata.isDocumentoSplitPayment() && documentoEleTestata.getDocEleIVAColl() != null && !documentoEleTestata.getDocEleIVAColl().isEmpty() && documentoEleTestata.getDocEleIVAColl().stream().map(x -> x.getImposta()).reduce((x, y) -> x.add(y)).get().compareTo(BigDecimal.ZERO) != 0);
// if (fatturaPassivaBulk.getFl_split_payment()) {
java.util.Vector sezionali = comp.estraeSezionali(context.getUserContext(), fatturaPassivaBulk);
fatturaPassivaBulk.setSezionali(sezionali);
if (sezionali != null && !sezionali.isEmpty())
fatturaPassivaBulk.setTipo_sezionale((Tipo_sezionaleBulk) sezionali.firstElement());
else
fatturaPassivaBulk.setTipo_sezionale(null);
// }
// TODO eliminata su richiesta di Patrizia fatturaPassivaBulk.setDt_scadenza(new java.sql.Timestamp(date.getTime().getTime()));
GregorianCalendar gcDataMinima = new GregorianCalendar(), gcDataMassima = new GregorianCalendar();
gcDataMinima.setTime(calcolaDataMinimaCompetenza(documentoEleTestata));
gcDataMassima.setTime(calcolaDataMassimaCompetenza(documentoEleTestata));
if (!fatturaPassivaBulk.getFl_fattura_compenso() && gcDataMinima.get(Calendar.YEAR) < gcDataMassima.get(Calendar.YEAR))
gcDataMinima.setTime(DateUtils.firstDateOfTheYear(gcDataMassima.get(Calendar.YEAR)));
fatturaPassivaBulk.setDt_da_competenza_coge(new Timestamp(gcDataMinima.getTime().getTime()));
fatturaPassivaBulk.setDt_a_competenza_coge(new Timestamp(gcDataMassima.getTime().getTime()));
if (fatturaPassivaBulk.getTi_fattura().equalsIgnoreCase(Fattura_passivaBulk.TIPO_NOTA_DI_CREDITO)) {
fatturaPassivaBulk.setIm_totale_fattura(documentoEleTestata.getImportoDocumento().abs());
fatturaPassivaBulk.setIm_importo_totale_fattura_fornitore_euro(documentoEleTestata.getImportoDocumento().abs());
} else {
fatturaPassivaBulk.setIm_totale_fattura(documentoEleTestata.getImportoDocumento());
fatturaPassivaBulk.setIm_importo_totale_fattura_fornitore_euro(documentoEleTestata.getImportoDocumento());
}
fatturaPassivaBulk = comp.valorizzaInfoDocEle(context.getUserContext(), fatturaPassivaBulk);
nbp.setModel(context, fatturaPassivaBulk);
action.doCalcolaTotaleFatturaFornitoreInEur(context);
fatturaPassivaBulk.setPartita_iva(documentoEleTestata.getDocumentoEleTrasmissione().getPrestatoreCodice());
action.doBringBackSearchFornitore(context, fatturaPassivaBulk, documentoEleTestata.getDocumentoEleTrasmissione().getPrestatore());
fatturaPassivaBulk = (Fattura_passivaBulk) nbp.getModel();
if (documentoEleTestata.getModalitaPagamento() != null) {
fatturaPassivaBulk.setModalita_pagamento(documentoEleTestata.getModalitaPagamento().getRif_modalita_pagamento());
action.doOnModalitaPagamentoChange(context);
}
fatturaPassivaBulk = (Fattura_passivaBulk) nbp.getModel();
if (fatturaPassivaDiRiferimento == null) {
FatturaPassivaRigaCRUDController dettaglioController = nbp.getDettaglio();
for (DocumentoEleLineaBulk documentoEleLinea : documentoEleTestata.getDocEleLineaColl()) {
Fattura_passiva_rigaBulk rigaFattura = documentoEleTestata.getInstanceRiga();
int i = dettaglioController.addDetail(rigaFattura);
dettaglioController.setDirty(true);
dettaglioController.setModelIndex(context, i);
rigaFattura.setBene_servizio(documentoEleLinea.getBeneServizio());
if (documentoEleLinea.getLineaDescrizione().length() > 199)
rigaFattura.setDs_riga_fattura(documentoEleLinea.getLineaDescrizione().substring(0, 199));
else
rigaFattura.setDs_riga_fattura(documentoEleLinea.getLineaDescrizione());
rigaFattura.setVoce_iva(recuperaCodiceIVA(documentoEleTestata, documentoEleLinea));
rigaFattura.setQuantita(documentoEleLinea.getLineaQuantita());
action.doOnQuantitaChange(context);
rigaFattura.setPrezzo_unitario(documentoEleLinea.getLineaPrezzounitario());
action.doCalcolaTotaliDiRiga(context);
if (documentoEleTestata.getModalitaPagamento() != null)
rigaFattura.setModalita_pagamento(documentoEleTestata.getModalitaPagamento().getRif_modalita_pagamento());
// TODO eliminata su richiesta di Patrizia fatturaPassivaBulk.setDt_scadenza(new java.sql.Timestamp(date.getTime().getTime()));
GregorianCalendar gcDataMinimaRiga = new GregorianCalendar(), gcDataMassimaRiga = new GregorianCalendar();
gcDataMinimaRiga.setTime(documentoEleLinea.getInizioDatacompetenza() == null ? gcDataMinima.getTime() : documentoEleLinea.getInizioDatacompetenza());
gcDataMassimaRiga.setTime(documentoEleLinea.getFineDatacompetenza() == null ? gcDataMassima.getTime() : documentoEleLinea.getFineDatacompetenza());
if (fatturaPassivaBulk.getFl_fattura_compenso()) {
rigaFattura.setDt_da_competenza_coge(new Timestamp(gcDataMinimaRiga.getTime().getTime()));
rigaFattura.setDt_a_competenza_coge(new Timestamp(gcDataMassimaRiga.getTime().getTime()));
} else {
if (gcDataMinimaRiga.get(Calendar.YEAR) < gcDataMinima.get(Calendar.YEAR))
gcDataMinimaRiga = gcDataMinima;
if (gcDataMassimaRiga.get(Calendar.YEAR) < gcDataMinima.get(Calendar.YEAR))
gcDataMassimaRiga = gcDataMinima;
rigaFattura.setDt_da_competenza_coge(new Timestamp(gcDataMinimaRiga.getTime().getTime()));
rigaFattura.setDt_a_competenza_coge(new Timestamp(gcDataMassimaRiga.getTime().getTime()));
}
}
}
nbp.initializeModelForEditAllegati(context, fatturaPassivaBulk);
return fatturaPassivaBulk;
} catch (RemoteException e) {
throw handleException(e);
} catch (ComponentException e) {
throw handleException(e);
}
}
use of it.cnr.contab.docamm00.docs.bulk.Fattura_passivaBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaIBP method writeFormInputDoc1210.
public void writeFormInputDoc1210(javax.servlet.jsp.JspWriter out, String name) throws java.io.IOException {
Fattura_passivaBulk fp = (Fattura_passivaBulk) getModel();
boolean isReadonly = isInputReadonly();
if (!isAnnoDiCompetenza() && fp.COMPLETAMENTE_RIPORTATO.equals(fp.getRiportataInScrivania())) {
isReadonly = super.isInputReadonlyDoc1210() || isDeleting() || isModelVoided() || // || (!isAnnoDiCompetenza() && isEditing())
(fp != null && ((fp.isPagata() || fp.isCongelata()) && !isSearching()));
}
// if (fp == null || !fp.COMPLETAMENTE_RIPORTATO.equalsIgnoreCase(fp.getRiportata()))
// getBulkInfo().writeFormInput(out,fp,null,name,isInputReadonly(),null,null,getInputPrefix(),getStatus(),getFieldValidationMap());
// else {
// getBulkInfo().writeFormInput(out,fp,null,name,isInputReadonlyDoc1210(),null,null,getInputPrefix(),getStatus(),getFieldValidationMap());
// }
getBulkInfo().writeFormInput(out, fp, null, name, isReadonly, null, null, getInputPrefix(), getStatus(), getFieldValidationMap(), this.getParentRoot().isBootstrap());
}
use of it.cnr.contab.docamm00.docs.bulk.Fattura_passivaBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaBP method sdoppiaDettaglioInAutomatico.
public void sdoppiaDettaglioInAutomatico(ActionContext context) throws ValidationException, BusinessProcessException {
try {
it.cnr.contab.doccont00.ejb.ObbligazioneAbstractComponentSession h = it.cnr.contab.doccont00.bp.CRUDVirtualObbligazioneBP.getVirtualComponentSession(context, true);
FatturaPassivaComponentSession session = (FatturaPassivaComponentSession) createComponentSession();
Fattura_passivaBulk documento = (Fattura_passivaBulk) getModel();
Fattura_passiva_rigaIBulk dettaglioSelezionato = (Fattura_passiva_rigaIBulk) getDettaglio().getModel();
Obbligazione_scadenzarioBulk scadenzaNuova = null;
if (dettaglioSelezionato == null)
return;
if (documento.getStato_cofi() != null && documento.getStato_cofi().equals(documento.STATO_PAGATO))
setMessage("Non è possibile sdoppiare righe in un documento pagato.");
if (dettaglioSelezionato.getIm_riga_sdoppia() == null || dettaglioSelezionato.getIm_riga_sdoppia().equals(Utility.ZERO) || dettaglioSelezionato.getIm_riga_sdoppia().compareTo(dettaglioSelezionato.getSaldo()) != -1) {
setMessage("Il nuovo importo della riga da sdoppiare deve essere positivo ed inferiore " + "al saldo originario.");
return;
}
Obbligazione_scadenzarioBulk scadenzaVecchia = dettaglioSelezionato.getObbligazione_scadenziario();
BigDecimal newImportoRigaVecchia = dettaglioSelezionato.getIm_riga_sdoppia().add(dettaglioSelezionato.getIm_diponibile_nc().subtract(dettaglioSelezionato.getSaldo()));
BigDecimal newImportoRigaNuova = dettaglioSelezionato.getSaldo().subtract(dettaglioSelezionato.getIm_riga_sdoppia());
BigDecimal newPrezzoRigaVecchia = newImportoRigaVecchia.divide(documento.getCambio(), 2, BigDecimal.ROUND_HALF_UP).divide(dettaglioSelezionato.getQuantita().multiply(dettaglioSelezionato.getVoce_iva().getPercentuale().divide(new BigDecimal(100)).add(new java.math.BigDecimal(1))), 2, BigDecimal.ROUND_HALF_UP);
BigDecimal newPrezzoRigaNuova = dettaglioSelezionato.getPrezzo_unitario().subtract(newPrezzoRigaVecchia);
BigDecimal oldImportoIvaVecchia = BigDecimal.ZERO;
BigDecimal tot_imp = BigDecimal.ZERO;
if (dettaglioSelezionato.getVoce_iva().getFl_autofattura() || documento.quadraturaInDeroga()) {
oldImportoIvaVecchia = dettaglioSelezionato.getIm_iva();
tot_imp = newPrezzoRigaVecchia.multiply(documento.getCambio()).multiply(dettaglioSelezionato.getQuantita()).setScale(2, BigDecimal.ROUND_HALF_UP);
} else
tot_imp = dettaglioSelezionato.getIm_riga_sdoppia();
if (dettaglioSelezionato.getObbligazione_scadenziario() != null) {
scadenzaNuova = (Obbligazione_scadenzarioBulk) h.sdoppiaScadenzaInAutomatico(context.getUserContext(), scadenzaVecchia, scadenzaVecchia.getIm_scadenza().subtract(dettaglioSelezionato.getSaldo().subtract(oldImportoIvaVecchia)).add(tot_imp));
// ricarico obbligazione e recupero i riferimenti alle scadenze
ObbligazioneBulk obbligazione = (ObbligazioneBulk) h.inizializzaBulkPerModifica(context.getUserContext(), scadenzaNuova.getObbligazione());
if (!obbligazione.getObbligazione_scadenzarioColl().containsByPrimaryKey(scadenzaVecchia) || !obbligazione.getObbligazione_scadenzarioColl().containsByPrimaryKey(scadenzaNuova))
throw new ValidationException("Errore nello sdoppiamento della scadenza dell'impegno.");
scadenzaVecchia = (Obbligazione_scadenzarioBulk) obbligazione.getObbligazione_scadenzarioColl().get(obbligazione.getObbligazione_scadenzarioColl().indexOfByPrimaryKey(scadenzaVecchia));
scadenzaNuova = (Obbligazione_scadenzarioBulk) obbligazione.getObbligazione_scadenzarioColl().get(obbligazione.getObbligazione_scadenzarioColl().indexOfByPrimaryKey(scadenzaNuova));
}
// creo la nuova riga di dettaglio e la associo al documento
Fattura_passiva_rigaIBulk nuovoDettaglio = new Fattura_passiva_rigaIBulk();
getDettaglio().addDetail(nuovoDettaglio);
nuovoDettaglio = copyByRigaDocumento(context, nuovoDettaglio, dettaglioSelezionato);
nuovoDettaglio.setQuantita(dettaglioSelezionato.getQuantita());
nuovoDettaglio.setPrezzo_unitario(newPrezzoRigaNuova);
nuovoDettaglio.calcolaCampiDiRiga();
// setto im_diponibile prime per la verifica e dopo
nuovoDettaglio.setIm_diponibile_nc(nuovoDettaglio.getSaldo());
if (nuovoDettaglio.getIm_diponibile_nc().compareTo(newImportoRigaNuova) != 0) {
nuovoDettaglio.setIm_iva(nuovoDettaglio.getIm_iva().add(newImportoRigaNuova.subtract(nuovoDettaglio.getIm_diponibile_nc())));
nuovoDettaglio.setIm_totale_divisa(newImportoRigaNuova.subtract(nuovoDettaglio.getIm_iva()));
nuovoDettaglio.setFl_iva_forzata(Boolean.TRUE);
nuovoDettaglio.calcolaCampiDiRiga();
}
nuovoDettaglio.setIm_diponibile_nc(nuovoDettaglio.getSaldo());
// Aggiorno la vecchia riga di dettaglio ed in particolare l'importo
// della riga da sdoppiare
// del doc amministrativo
BigDecimal oldImpTotaleDivisa = dettaglioSelezionato.getIm_totale_divisa();
dettaglioSelezionato.setPrezzo_unitario(newPrezzoRigaVecchia);
dettaglioSelezionato.calcolaCampiDiRiga();
// setto im_diponibile prime per la verifica e dopo
dettaglioSelezionato.setIm_diponibile_nc(dettaglioSelezionato.getSaldo());
if (dettaglioSelezionato.getIm_diponibile_nc().compareTo(newImportoRigaVecchia) != 0) {
dettaglioSelezionato.setIm_iva(dettaglioSelezionato.getIm_iva().add(newImportoRigaVecchia.subtract(dettaglioSelezionato.getIm_diponibile_nc())));
dettaglioSelezionato.setIm_totale_divisa(newImportoRigaVecchia.subtract(dettaglioSelezionato.getIm_iva()));
dettaglioSelezionato.setFl_iva_forzata(Boolean.TRUE);
dettaglioSelezionato.calcolaCampiDiRiga();
}
dettaglioSelezionato.setIm_diponibile_nc(dettaglioSelezionato.getSaldo());
dettaglioSelezionato.setToBeUpdated();
if (scadenzaVecchia != null) {
for (Iterator i = documento.getFattura_passiva_dettColl().iterator(); i.hasNext(); ) {
Fattura_passiva_rigaIBulk riga = (Fattura_passiva_rigaIBulk) i.next();
if (riga.getObbligazione_scadenziario() != null && riga.getObbligazione_scadenziario().equalsByPrimaryKey(scadenzaVecchia)) {
riga.setObbligazione_scadenziario(scadenzaVecchia);
documento.addToDefferredSaldi(scadenzaVecchia.getObbligazione(), scadenzaVecchia.getObbligazione().getSaldiInfo());
}
}
}
if (scadenzaNuova != null) {
BulkList selectedModels = new BulkList();
selectedModels.add(nuovoDettaglio);
documento = session.contabilizzaDettagliSelezionati(context.getUserContext(), documento, selectedModels, scadenzaNuova);
documento.addToFattura_passiva_obbligazioniHash(scadenzaNuova, nuovoDettaglio);
documento.addToDefferredSaldi(scadenzaNuova.getObbligazione(), scadenzaNuova.getObbligazione().getSaldiInfo());
// Sdoppia associazione inventario in automatico
if (nuovoDettaglio.isInventariato()) {
// r.p. Prendo il progressivo dalla fattura_passivaBulk
// perchè viene aggiornato
BuonoCaricoScaricoComponentSession r = (it.cnr.contab.inventario01.ejb.BuonoCaricoScaricoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRINVENTARIO01_EJB_BuonoCaricoScaricoComponentSession", it.cnr.contab.inventario01.ejb.BuonoCaricoScaricoComponentSession.class);
Ass_inv_bene_fatturaBulk newAss = r.sdoppiaAssociazioneFor(context.getUserContext(), (Fattura_passiva_rigaBulk) dettaglioSelezionato, (Fattura_passiva_rigaBulk) nuovoDettaglio);
documento.addToAssociazioniInventarioHash(newAss, nuovoDettaglio);
}
}
documento = (Fattura_passivaBulk) session.rebuildDocumento(context.getUserContext(), documento);
getObbligazioniController().getSelection().clear();
getObbligazioniController().setModelIndex(context, -1);
getObbligazioniController().setModelIndex(context, it.cnr.jada.bulk.BulkCollections.indexOfByPrimaryKey(getObbligazioniController().getDetails(), dettaglioSelezionato));
documento.setDetailDoubled(true);
setModel(context, documento);
} catch (Exception e) {
throw handleException(e);
}
}
use of it.cnr.contab.docamm00.docs.bulk.Fattura_passivaBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaBP method initializeModelForEdit.
public OggettoBulk initializeModelForEdit(ActionContext context, OggettoBulk bulk) throws BusinessProcessException {
try {
if (bulk != null) {
Fattura_passivaBulk fp = (Fattura_passivaBulk) bulk;
fp.setDettagliCancellati(new java.util.Vector());
fp.setDocumentiContabiliCancellati(new java.util.Vector());
}
FatturaPassivaComponentSession h = (FatturaPassivaComponentSession) createComponentSession();
if (isEditing()) {
if (h.hasFatturaPassivaARowNotInventoried(context.getUserContext(), (Fattura_passivaBulk) getModel())) {
setErrorMessage("Attenzione: sebbene il salvataggio sia stato effettuato correttamente, si ricorda che alcuni beni devono ancora essere inventariati!");
} else if (getDettaglio().isInventoriedChildDeleted()) {
getDettaglio().setInventoriedChildDeleted(false);
setErrorMessage("Attenzione: sebbene il salvataggio sia stato effettuato correttamente, si ricorda che sono stati eliminati beni inventariati. Provvedere all'aggiornamento dell'inventario!");
}
}
return super.initializeModelForEdit(context, bulk);
} catch (Throwable e) {
throw new it.cnr.jada.action.BusinessProcessException(e);
}
}
Aggregations