use of it.cnr.jada.util.RemoteIterator in project sigla-main by consiglionazionaledellericerche.
the class FatturaPassivaComponent method selectBeniFor.
public RemoteIterator selectBeniFor(UserContext userContext, Fattura_passivaBulk fattura) throws ComponentException {
SQLBuilder sql = getHome(userContext, V_ass_inv_bene_fatturaBulk.class).createSQLBuilder();
sql.addSQLClause("AND", "esercizio_fatt_pass", SQLBuilder.EQUALS, fattura.getEsercizio());
sql.addSQLClause("AND", "cd_cds_fatt_pass", SQLBuilder.EQUALS, fattura.getCd_cds());
sql.addSQLClause("AND", "cd_uo_fatt_pass", SQLBuilder.EQUALS, fattura.getCd_unita_organizzativa());
sql.addSQLClause("AND", "pg_fattura_passiva", SQLBuilder.EQUALS, fattura.getPg_fattura_passiva());
sql.addSQLClause("AND", "cd_tipo_documento_amm", SQLBuilder.ISNULL, null);
it.cnr.jada.util.RemoteIterator ri = iterator(userContext, sql, V_ass_inv_bene_fatturaBulk.class, null);
return ri;
}
use of it.cnr.jada.util.RemoteIterator in project sigla-main by consiglionazionaledellericerche.
the class FatturaAttivaSingolaComponent method creaConBulk.
/**
* Validazione documento.
* PreCondition:
* Viene richiesta la creazione di un documento e lo stesso non ha superato il metodo 'validaFattura'.
* PostCondition:
* Non viene consentita la registrazione della fattura.
* Tutti i controlli superati.
* PreCondition:
* Viene richiesta la creazione di un documento e lo stesso ha superato il metodo 'validaFattura'.
* PostCondition:
* Viene consentita la registrazione del documento.
*/
// ^^@@
public OggettoBulk creaConBulk(UserContext userContext, OggettoBulk bulk, OptionRequestParameter status) throws ComponentException {
Fattura_attivaBulk fattura = (Fattura_attivaBulk) bulk;
// effettua il controllo di validazione
fattura = (Fattura_attivaBulk) calcoloConsuntivi(userContext, fattura);
assegnaProgressivo(userContext, fattura);
try {
java.util.Calendar gc = java.util.Calendar.getInstance();
gc.setTime(getHome(userContext, fattura).getServerTimestamp());
// controlla che la data di registrazione non sia successiva alla data di sistema
if (fattura.getDt_registrazione() != null && fattura.getDt_registrazione().after(new java.sql.Timestamp(gc.getTime().getTime())))
throw new it.cnr.jada.comp.ApplicationException("Attenzione: la data di registrazione non puo' essere successiva alla data attuale");
else {
// controlla che la data di registrazione sia successiava all'ultima data di registrazione inserita
java.sql.Timestamp ultimaRegistrazione = ((Fattura_attivaHome) getHome(userContext, Fattura_attivaBulk.class)).findForMaxDataRegistrazione(userContext, fattura);
if (ultimaRegistrazione != null && fattura.getDt_registrazione().before(ultimaRegistrazione))
throw new it.cnr.jada.comp.ApplicationException("La data di registrazione non e' valida: deve essere successiva all'ultima data di registrazione inserita (relativa al tipo sezionale)!");
}
} catch (PersistencyException ex) {
throw handleException(fattura, ex);
}
completaDatiPerFatturazioneElettronica(userContext, fattura);
if (fattura instanceof Fattura_attiva_IBulk) {
if (hasFatturaAttivaARowToBeInventoried(userContext, fattura)) {
verificaEsistenzaEdAperturaInventario(userContext, fattura);
if (fattura.hasCompetenzaCOGEInAnnoPrecedente())
throw new it.cnr.jada.comp.ApplicationException("Attenzione: per le date competenza indicate non è possibile inventariare i beni.");
if (hasFatturaAttivaARowNotInventoried(userContext, fattura))
throw new it.cnr.jada.comp.ApplicationException("Attenzione: è necessario inventariare tutti i dettagli.");
}
}
validaFattura(userContext, fattura);
// Salvo temporaneamente l'hash map dei saldi
PrimaryKeyHashMap aTempDiffSaldi = new PrimaryKeyHashMap();
if (fattura.getDefferredSaldi() != null)
aTempDiffSaldi = (PrimaryKeyHashMap) fattura.getDefferredSaldi().clone();
manageDocumentiContabiliCancellati(userContext, fattura, status);
aggiornaAccertamenti(userContext, fattura, status);
if (fattura instanceof Nota_di_credito_attivaBulk) {
Nota_di_credito_attivaBulk ndc = (Nota_di_credito_attivaBulk) fattura;
aggiornaRigheFatturaAttivaDiOrigine(userContext, ndc);
aggiornaObbligazioni(userContext, ndc, status);
}
if (fattura instanceof Nota_di_debito_attivaBulk) {
Nota_di_debito_attivaBulk ndd = (Nota_di_debito_attivaBulk) fattura;
aggiornaRigheFatturaAttivaDiOrigine(userContext, ndd);
for (Iterator i = ndd.getFattura_attiva_dettColl().iterator(); i.hasNext(); ) {
Fattura_attiva_rigaIBulk rigaFA = ((Nota_di_debito_attiva_rigaBulk) i.next()).getRiga_fattura_associata();
Fattura_attiva_IBulk fatturaOriginaria = rigaFA.getFattura_attivaI();
RemoteIterator ri = findNotaDiCreditoFor(userContext, fatturaOriginaria);
try {
if (ri != null && ri.countElements() > 0) {
while (ri.hasMoreElements()) {
Nota_di_credito_attivaBulk notaDiCredito = (Nota_di_credito_attivaBulk) ri.nextElement();
notaDiCredito = (Nota_di_credito_attivaBulk) findByPrimaryKey(userContext, notaDiCredito);
if (notaDiCredito != null && (notaDiCredito.isFatturaElettronicaScartata() || notaDiCredito.isFatturaElettronicaRifiutata()) && notaDiCredito.getIm_totale_fattura().compareTo(ndd.getIm_totale_fattura()) == 0) {
impostaDocumentoDaNonInviare(ndd);
}
}
}
} catch (RemoteException e) {
e.printStackTrace();
throw new it.cnr.jada.comp.ApplicationException("Errore nel recupero della nota di credito");
}
break;
}
}
prepareScarichiInventario(userContext, fattura);
fattura = (Fattura_attivaBulk) super.creaConBulk(userContext, fattura);
aggiornaScarichiInventario(userContext, fattura);
String messaggio = aggiornaAssociazioniInventario(userContext, fattura);
// Restore dell'hash map dei saldi
if (fattura.getDefferredSaldi() != null)
fattura.getDefferredSaldi().putAll(aTempDiffSaldi);
aggiornaCogeCoanDocAmm(userContext, fattura);
aggiornaDataEsigibilitaIVA(userContext, fattura, "C");
try {
if (!verificaStatoEsercizio(userContext, new EsercizioBulk(fattura.getCd_cds(), ((it.cnr.contab.utenze00.bp.CNRUserContext) userContext).getEsercizio())))
throw new it.cnr.jada.comp.ApplicationException("Impossibile salvare un documento per un esercizio non aperto!");
} catch (it.cnr.jada.comp.ApplicationException e) {
throw handleException(bulk, e);
}
controllaQuadraturaInventario(userContext, fattura);
if (messaggio != null)
return asMTU(fattura, messaggio);
return fattura;
}
use of it.cnr.jada.util.RemoteIterator in project sigla-main by consiglionazionaledellericerche.
the class MovimentiMagComponentSessionBean method preparaQueryBolleScaricoDaVisualizzare.
public RemoteIterator preparaQueryBolleScaricoDaVisualizzare(UserContext userContext, List<BollaScaricoMagBulk> bolle) throws ComponentException, javax.ejb.EJBException {
pre_component_invocation(userContext, componentObj);
try {
RemoteIterator result = ((MovimentiMagComponent) componentObj).preparaQueryBolleScaricoDaVisualizzare(userContext, bolle);
component_invocation_succes(userContext, componentObj);
return result;
} catch (it.cnr.jada.comp.NoRollbackException e) {
component_invocation_succes(userContext, componentObj);
throw e;
} catch (ComponentException e) {
component_invocation_failure(userContext, componentObj);
throw e;
} catch (RuntimeException e) {
throw uncaughtRuntimeException(userContext, componentObj, e);
} catch (Error e) {
throw uncaughtError(userContext, componentObj, e);
}
}
use of it.cnr.jada.util.RemoteIterator in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaAction method basicDoRicercaEvasioneOrdine.
/**
* Prepara e apre la ricerca per l'evasione dell'ordine
*/
private Forward basicDoRicercaEvasioneOrdine(ActionContext context, Fattura_passivaBulk fatturaPassiva, List<Fattura_passiva_rigaBulk> models, boolean manually) {
CRUDFatturaPassivaBP bp = (CRUDFatturaPassivaBP) context.getBusinessProcess();
return Optional.ofNullable(models).filter(list -> list.size() == 1 && manually).map((List<Fattura_passiva_rigaBulk> list) -> {
try {
final RemoteIterator contabilizzaRigaIterator = bp.find(context, new CompoundFindClause(), new EvasioneOrdineRigaBulk(), models.get(0), "contabilizzaRiga");
return Optional.ofNullable(contabilizzaRigaIterator).map(remoteIterator -> {
try {
return remoteIterator.countElements();
} catch (RemoteException e) {
throw new DetailedRuntimeException(e);
}
}).filter(elements -> elements != 0).map(integer -> {
try {
ContabilizzaOrdineBP nbp = (ContabilizzaOrdineBP) context.createBusinessProcess("ContabilizzaOrdineBP", new Object[] { "MRSWTh" });
nbp.setFattura_passiva_rigaBulk(models.get(0));
nbp.setMultiSelection(true);
nbp.setIterator(context, contabilizzaRigaIterator);
context.addHookForward("seleziona", this, "doContabilizzaOrdine");
return (Forward) context.addBusinessProcess(nbp);
} catch (BusinessProcessException | RemoteException e) {
throw new DetailedRuntimeException(e);
}
}).orElseGet(() -> {
bp.setMessage("Non ci sono dati per i criteri impostati!");
try {
contabilizzaRigaIterator.close();
} catch (RemoteException e) {
throw new DetailedRuntimeException(e);
}
return context.findDefaultForward();
});
} catch (Throwable e) {
return handleException(context, e);
}
}).orElseGet(() -> {
if (manually) {
bp.setMessage(FormBP.WARNING_MESSAGE, "Per procedere, bisogna selezionare un unico dettaglio da contabilizzare!");
} else {
final Map<Boolean, Long> result = models.stream().map(fattura_passiva_rigaBulk -> {
try {
return bp.associaOrdineRigaFattura(context, fattura_passiva_rigaBulk);
} catch (BusinessProcessException e) {
throw new DetailedRuntimeException(e);
}
}).collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
final Long righeContabilizzate = Optional.ofNullable(result.get(true)).orElse(Long.valueOf(0));
if (righeContabilizzate.intValue() == models.size()) {
bp.setMessage(FormBP.INFO_MESSAGE, "Tutte le righe selezionate sono state contabilizzate.");
} else {
bp.setMessage(FormBP.ERROR_MESSAGE, "Sono state contabilizzate " + righeContabilizzate + " righe su " + models.size() + "! Procedere alla conatbilizzazione manuale.");
}
}
return context.findDefaultForward();
});
}
use of it.cnr.jada.util.RemoteIterator in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaElettronicaAction method doCerca.
@Override
public Forward doCerca(ActionContext actioncontext) throws RemoteException, InstantiationException, RemoveException {
try {
CRUDFatturaPassivaElettronicaBP fatturaPassivaElettronicaBP = (CRUDFatturaPassivaElettronicaBP) actioncontext.getBusinessProcess();
DocumentoEleTestataBulk bulk = (DocumentoEleTestataBulk) fatturaPassivaElettronicaBP.getModel();
fillModel(actioncontext);
RemoteIterator remoteiterator = fatturaPassivaElettronicaBP.find(actioncontext, null, bulk);
if (remoteiterator == null || remoteiterator.countElements() == 0) {
EJBCommonServices.closeRemoteIterator(actioncontext, remoteiterator);
fatturaPassivaElettronicaBP.setMessage("La ricerca non ha fornito alcun risultato.");
return actioncontext.findDefaultForward();
}
if (remoteiterator.countElements() == 1) {
OggettoBulk oggettobulk1 = (OggettoBulk) remoteiterator.nextElement();
EJBCommonServices.closeRemoteIterator(actioncontext, remoteiterator);
fatturaPassivaElettronicaBP.setMessage(FormBP.INFO_MESSAGE, "La ricerca ha fornito un solo risultato.");
return doRiportaSelezione(actioncontext, oggettobulk1);
} else {
fatturaPassivaElettronicaBP.setModel(actioncontext, bulk);
SelezionatoreListaBP selezionatorelistabp = (SelezionatoreListaBP) actioncontext.createBusinessProcess("SelezionatoreFatturaElettronicaBP");
selezionatorelistabp.setModel(actioncontext, bulk);
selezionatorelistabp.setIterator(actioncontext, remoteiterator);
selezionatorelistabp.setBulkInfo(fatturaPassivaElettronicaBP.getSearchBulkInfo());
selezionatorelistabp.setColumns(getBusinessProcess(actioncontext).getSearchResultColumns());
actioncontext.addHookForward("seleziona", this, "doRiportaSelezione");
return actioncontext.addBusinessProcess(selezionatorelistabp);
}
} catch (Exception e) {
return handleException(actioncontext, e);
}
}
Aggregations