use of it.cnr.contab.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk 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.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaAction method doRemoveFromCRUDMain_Dettaglio.
/**
* Gestisce il comando di aggiunta di un nuovo dettaglio su un CRUDController
* figlio del ricevente
*/
public Forward doRemoveFromCRUDMain_Dettaglio(ActionContext context) {
try {
CRUDFatturaPassivaBP bp = (CRUDFatturaPassivaBP) getBusinessProcess(context);
Fattura_passivaBulk fp = (Fattura_passivaBulk) bp.getModel();
java.util.Vector dettagliInventariatiEliminati = new java.util.Vector();
for (it.cnr.jada.util.action.SelectionIterator i = bp.getDettaglio().getSelection().iterator(); i.hasNext(); ) {
Fattura_passiva_rigaBulk dett = (Fattura_passiva_rigaBulk) bp.getDettaglio().getDetails().get(i.nextIndex());
if (Optional.ofNullable(dett).filter(fattura_passiva_rigaBulk -> fattura_passiva_rigaBulk.isInventariato()).flatMap(fattura_passiva_rigaBulk -> Optional.ofNullable(fattura_passiva_rigaBulk.getBene_servizio())).map(bene_servizioBulk -> Optional.ofNullable(bene_servizioBulk.getFl_gestione_inventario()).orElse(Boolean.FALSE) && Optional.ofNullable(bene_servizioBulk.getCrudStatus()).orElse(-1) != it.cnr.jada.bulk.OggettoBulk.UNDEFINED).orElse(Boolean.FALSE)) {
dettagliInventariatiEliminati.add(dett);
}
}
bp.getDettaglio().remove(context);
if (dettagliInventariatiEliminati.size() != 0) {
for (java.util.Iterator i = dettagliInventariatiEliminati.iterator(); i.hasNext(); ) {
Fattura_passiva_rigaBulk dett = (Fattura_passiva_rigaBulk) i.next();
AssociazioniInventarioTable associazioni = fp.getAssociazioniInventarioHash();
if (associazioni != null && !associazioni.isEmpty() && dett instanceof Fattura_passiva_rigaIBulk) {
Ass_inv_bene_fatturaBulk ass = fp.getAssociationWithInventarioFor(dett);
if (ass != null && !ass.isPerAumentoValore()) {
Fattura_passiva_rigaIBulk dettaglio = (Fattura_passiva_rigaIBulk) dett;
FatturaPassivaComponentSession h = (FatturaPassivaComponentSession) bp.createComponentSession();
h.rimuoviDaAssociazioniInventario(context.getUserContext(), dettaglio, ass);
fp.removeFromAssociazioniInventarioHash(ass, dettaglio);
} else if (ass != null && ass.isPerAumentoValore()) {
BuonoCaricoScaricoComponentSession buono_session = (BuonoCaricoScaricoComponentSession) bp.createComponentSession("CNRINVENTARIO01_EJB_BuonoCaricoScaricoComponentSession", BuonoCaricoScaricoComponentSession.class);
Buono_carico_scaricoBulk buono = ass.getTest_buono();
buono.setToBeDeleted();
buono_session.eliminaConBulk(context.getUserContext(), buono);
for (java.util.Iterator iter = fp.getFattura_passiva_dettColl().iterator(); iter.hasNext(); ) {
Fattura_passiva_rigaBulk riga = (Fattura_passiva_rigaBulk) iter.next();
if (riga.isInventariato() && !fp.getHa_beniColl())
riga.setInventariato(false);
}
Fattura_passiva_rigaIBulk dettaglio = (Fattura_passiva_rigaIBulk) dett;
FatturaPassivaComponentSession h = (FatturaPassivaComponentSession) bp.createComponentSession();
h.rimuoviDaAssociazioniInventario(context.getUserContext(), dettaglio, ass);
fp.removeFromAssociazioniInventarioHash(ass, dettaglio);
}
} else if (associazioni != null && !associazioni.isEmpty() && dett instanceof Nota_di_credito_rigaBulk) {
Ass_inv_bene_fatturaBulk ass = fp.getAssociationWithInventarioFor(dett);
if (ass != null && !ass.isPerAumentoValore()) {
Nota_di_credito_rigaBulk dettaglio = (Nota_di_credito_rigaBulk) dett;
FatturaPassivaComponentSession h = (FatturaPassivaComponentSession) bp.createComponentSession();
h.rimuoviDaAssociazioniInventario(context.getUserContext(), ass);
fp.removeFromAssociazioniInventarioHash(ass, dettaglio);
}
} else if (associazioni != null && !associazioni.isEmpty() && dett instanceof Nota_di_debito_rigaBulk) {
Ass_inv_bene_fatturaBulk ass = fp.getAssociationWithInventarioFor(dett);
if (ass != null && !ass.isPerAumentoValore()) {
Nota_di_debito_rigaBulk dettaglio = (Nota_di_debito_rigaBulk) dett;
FatturaPassivaComponentSession h = (FatturaPassivaComponentSession) bp.createComponentSession();
h.rimuoviDaAssociazioniInventario(context.getUserContext(), ass);
fp.removeFromAssociazioniInventarioHash(ass, dettaglio);
} else if (ass != null && ass.isPerAumentoValore()) {
BuonoCaricoScaricoComponentSession buono_session = (BuonoCaricoScaricoComponentSession) bp.createComponentSession("CNRINVENTARIO01_EJB_BuonoCaricoScaricoComponentSession", BuonoCaricoScaricoComponentSession.class);
Buono_carico_scaricoBulk buono = ass.getTest_buono();
buono.setToBeDeleted();
buono_session.eliminaConBulk(context.getUserContext(), buono);
for (java.util.Iterator iter = fp.getFattura_passiva_dettColl().iterator(); iter.hasNext(); ) {
Nota_di_debito_rigaBulk riga = (Nota_di_debito_rigaBulk) iter.next();
if (riga.isInventariato() && !fp.getHa_beniColl())
riga.setInventariato(false);
}
Nota_di_debito_rigaBulk dettaglio = (Nota_di_debito_rigaBulk) dett;
FatturaPassivaComponentSession h = (FatturaPassivaComponentSession) bp.createComponentSession();
h.rimuoviDaAssociazioniInventario(context.getUserContext(), ass);
fp.removeFromAssociazioniInventarioHash(ass, dettaglio);
}
} else {
CarichiInventarioTable carichi = fp.getCarichiInventarioHash();
if (carichi != null && !carichi.isEmpty()) {
BuonoCaricoScaricoComponentSession h = (BuonoCaricoScaricoComponentSession) bp.createComponentSession("CNRINVENTARIO01_EJB_BuonoCaricoScaricoComponentSession", BuonoCaricoScaricoComponentSession.class);
for (java.util.Enumeration e = ((CarichiInventarioTable) carichi.clone()).keys(); e.hasMoreElements(); ) {
Buono_carico_scaricoBulk buono = (Buono_carico_scaricoBulk) e.nextElement();
buono.setToBeDeleted();
h.eliminaConBulk(context.getUserContext(), buono);
carichi.remove(buono);
}
for (java.util.Iterator iter = fp.getFattura_passiva_dettColl().iterator(); iter.hasNext(); ) {
Fattura_passiva_rigaBulk riga = (Fattura_passiva_rigaBulk) iter.next();
if (riga.isInventariato() && !fp.getHa_beniColl())
riga.setInventariato(false);
}
} else
bp.getDettaglio().setInventoriedChildDeleted(true);
}
}
}
return context.findDefaultForward();
} catch (Throwable e) {
return handleException(context, e);
}
}
use of it.cnr.contab.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaAction method doBringBackAssociaInventario.
/**
* Aggiunge, una volta terminata l'operazione di associazione, tale elenco nel
* modello
*
* @param context L'ActionContext della richiesta
* @return Il Forward alla pagina di risposta
*/
public Forward doBringBackAssociaInventario(ActionContext context) {
try {
HookForward hook = (HookForward) context.getCaller();
Ass_inv_bene_fatturaBulk ass = (Ass_inv_bene_fatturaBulk) hook.getParameter("bringback");
if (ass != null) {
java.util.List dettagliInventariati = (java.util.List) hook.getParameter("dettagliDaInventariare");
CRUDFatturaPassivaBP bp = (CRUDFatturaPassivaBP) context.getBusinessProcess();
Fattura_passivaBulk fatturaPassiva = (Fattura_passivaBulk) bp.getModel();
for (java.util.Iterator i = dettagliInventariati.iterator(); i.hasNext(); ) {
Fattura_passiva_rigaBulk dettaglio = (Fattura_passiva_rigaBulk) i.next();
if (ass.getPg_riga() == null) {
BuonoCaricoScaricoComponentSession h = (BuonoCaricoScaricoComponentSession) bp.createComponentSession("CNRINVENTARIO01_EJB_BuonoCaricoScaricoComponentSession", BuonoCaricoScaricoComponentSession.class);
ass.setPg_riga(h.findMaxAssociazione(context.getUserContext(), ass));
}
fatturaPassiva.addToAssociazioniInventarioHash(ass, dettaglio);
dettaglio.setInventariato(true);
}
} else {
java.util.List dettagliInventariati = (java.util.List) hook.getParameter("dettagliDaInventariare");
CRUDFatturaPassivaBP bp = (CRUDFatturaPassivaBP) context.getBusinessProcess();
Fattura_passivaBulk fatturaPassiva = (Fattura_passivaBulk) bp.getModel();
for (java.util.Iterator i = dettagliInventariati.iterator(); i.hasNext(); ) {
Fattura_passiva_rigaBulk dettaglio = (Fattura_passiva_rigaBulk) i.next();
if (((FatturaPassivaComponentSession) bp.createComponentSession()).ha_beniColl(context.getUserContext(), dettaglio))
dettaglio.setInventariato(true);
else
dettaglio.setInventariato(false);
}
}
return context.findDefaultForward();
} catch (Exception e) {
return handleException(context, e);
}
}
use of it.cnr.contab.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk in project sigla-main by consiglionazionaledellericerche.
the class BuonoCaricoScaricoComponent method inizializzaBulkPerInserimento.
public OggettoBulk inizializzaBulkPerInserimento(UserContext aUC, OggettoBulk bulk) throws ComponentException {
try {
if (bulk instanceof Buono_carico_scaricoBulk) {
inizializzaTipo(aUC, bulk);
Buono_carico_scaricoBulk buonoCS = (Buono_carico_scaricoBulk) bulk;
buonoCS.setBuono_carico_scarico_dettColl(new SimpleBulkList());
// INIZIALIZZA UO, CDS ED ESERCIZIO LEGGENDOLI DA SCRIVANIA
String cds = it.cnr.contab.utenze00.bp.CNRUserContext.getCd_cds(aUC);
String uo = it.cnr.contab.utenze00.bp.CNRUserContext.getCd_unita_organizzativa(aUC);
buonoCS.setCds_scrivania(cds);
buonoCS.setUo_scrivania(uo);
buonoCS.setEsercizio(it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(aUC));
buonoCS.setCondizioni(getHome(aUC, Condizione_beneBulk.class).findAll());
intervallo = "0-0";
buonoCS.setInventario(caricaInventario(aUC));
buonoCS.setLocal_transactionID(getLocalTransactionID(aUC, true));
Id_inventarioHome inventarioHome = (Id_inventarioHome) getHome(aUC, Id_inventarioBulk.class);
buonoCS.setConsegnatario(inventarioHome.findConsegnatarioFor(buonoCS.getInventario()));
buonoCS.setDelegato(inventarioHome.findDelegatoFor(buonoCS.getInventario()));
buonoCS.setUo_consegnataria(inventarioHome.findUoRespFor(aUC, buonoCS.getInventario()));
if (buonoCS instanceof Trasferimento_inventarioBulk) {
inizializzaBuonoTrasferimentoPerInserimento(aUC, buonoCS);
}
return buonoCS;
} else {
Ass_inv_bene_fatturaBulk ass = (Ass_inv_bene_fatturaBulk) bulk;
ass.setInventario(caricaInventario(aUC));
return ass;
}
} catch (it.cnr.jada.persistency.PersistencyException pe) {
throw new ComponentException(pe);
} catch (it.cnr.jada.persistency.IntrospectionException ie) {
throw new ComponentException(ie);
}
}
use of it.cnr.contab.inventario00.docs.bulk.Ass_inv_bene_fatturaBulk in project sigla-main by consiglionazionaledellericerche.
the class AssBeneFatturaAction method doOnData_registrazioneChange.
public Forward doOnData_registrazioneChange(ActionContext context) {
try {
AssBeneFatturaBP bp = (AssBeneFatturaBP) context.getBusinessProcess();
if (bp.isPerAumentoValore())
bp.getRigheInventarioDaFattura().removeAll(context);
else if (bp.isPerAumentoValoreDoc())
bp.getRigheInventarioDaDocumento().removeAll(context);
fillModel(context);
Ass_inv_bene_fatturaBulk model = (Ass_inv_bene_fatturaBulk) bp.getModel();
bp.setModel(context, model);
return context.findDefaultForward();
} catch (Throwable t) {
return handleException(context, t);
}
}
Aggregations