use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDDocumentoGenericoAction method basicDoRicercaObbligazione.
private Forward basicDoRicercaObbligazione(ActionContext context, Documento_genericoBulk doc, java.util.List models) {
try {
// controlla che gli importi dei dettagli siano diversi da 0
// e che sia stato selezionato il terzo per i dettagli selezionati
Documento_generico_rigaBulk riga = null;
boolean diversi = false;
Integer cd_terzo = null;
// controlla se sono diversi i terzi
if (models != null)
for (java.util.Iterator i = models.iterator(); i.hasNext(); ) {
riga = (Documento_generico_rigaBulk) i.next();
if (riga.getTerzo().getCd_terzo() == null)
throw new it.cnr.jada.comp.ApplicationException("Non è possibile contabilizzare poiché su un dettaglio\ns non è stato selezionato alcun terzo");
if (cd_terzo == null)
cd_terzo = riga.getTerzo().getCd_terzo();
if (riga.getIm_imponibile() == null || riga.getIm_imponibile().compareTo(new java.math.BigDecimal(0)) == 0)
throw new it.cnr.jada.comp.ApplicationException("Non è possibile contabilizzare poiché un dettaglio\nselezionato ha un importo pari a 0");
if (!diversi && ((!riga.getTerzo().getCd_terzo().equals(cd_terzo))))
diversi = true;
}
// imposta il filtro per la ricerca
Filtro_ricerca_obbligazioniVBulk filtro = new Filtro_ricerca_obbligazioniVBulk();
CRUDDocumentoGenericoPassivoBP bp = (CRUDDocumentoGenericoPassivoBP) context.getBusinessProcess();
// imposta il tipo documento
if (doc.getTipo_documento() != null)
filtro.setTipo_documento(doc.getTipo_documento());
// passivo per l'ente
filtro.setPassivo_ente(doc.isPassivo_ente());
// data scadenza
filtro.setData_scadenziario(doc.getDt_scadenza());
// calcola il totale dei dettagli selezionati
if (models != null) {
if (!diversi) {
filtro.setFornitore(((Documento_generico_rigaBulk) models.get(0)).getTerzo());
} else {
TerzoBulk nuovoTerzo = new TerzoBulk();
nuovoTerzo.setAnagrafico(new AnagraficoBulk());
filtro.setFornitore(nuovoTerzo);
}
filtro.setIm_importo(calcolaTotaleSelezionati(models));
}
// unità organizzativa e unità organizzativa di origine
filtro.setCd_unita_organizzativa(doc.getCd_unita_organizzativa());
filtro.setCd_uo_origine(doc.getCd_uo_origine());
// competenza coge
filtro.setHasDocumentoCompetenzaCOGEInAnnoPrecedente(doc.hasCompetenzaCOGEInAnnoPrecedente());
filtro.setHasDocumentoCompetenzaCOGESoloInAnnoCorrente(!doc.hasCompetenzaCOGEInAnnoPrecedente() && Documento_genericoBulk.getDateCalendar(doc.getDt_a_competenza_coge()).get(java.util.Calendar.YEAR) == doc.getEsercizio().intValue());
filtro.setCompetenzaCOGESuEnte(doc.isFlagEnte());
// imposta i flag per l'importo e la scadenza
if (models == null || models.isEmpty())
filtro.setFl_importo(Boolean.FALSE);
if (filtro.getData_scadenziario() == null)
filtro.setFl_data_scadenziario(Boolean.FALSE);
// richiama il filtro RicercaAccertamentiBP
it.cnr.jada.util.action.BulkBP robp = (it.cnr.jada.util.action.BulkBP) context.getUserInfo().createBusinessProcess(context, "RicercaObbligazioniBP");
robp.setModel(context, filtro);
// imposta il bringback su doContabilizzaAccertamenti
context.addHookForward("bringback", this, "doContabilizzaObbligazioni");
HookForward hook = (HookForward) context.findForward("bringback");
return context.addBusinessProcess(robp);
} catch (Throwable e) {
return handleException(context, e);
}
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class DistintaCassiereComponent method generaFlussoSiopeplus.
public StorageObject generaFlussoSiopeplus(UserContext userContext, Distinta_cassiereBulk distinta) throws ComponentException, RemoteException {
try {
final DocumentiContabiliService documentiContabiliService = SpringUtil.getBean("documentiContabiliService", DocumentiContabiliService.class);
DateTimeFormatter formatterTime = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
JAXBContext jc = JAXBContext.newInstance("it.siopeplus");
// creo i file del flusso
// Testata
final ObjectFactory objectFactory = new ObjectFactory();
it.siopeplus.FlussoOrdinativi currentFlusso = objectFactory.createFlussoOrdinativi();
Configurazione_cnrComponentSession sess = (Configurazione_cnrComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRCONFIG00_EJB_Configurazione_cnrComponentSession");
String codiceAbi = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_ABI_BT)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_ABI_BT]"));
String codiceA2A = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_A2A)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_A2A]"));
String codiceEnte = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_ENTE)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_ENTE]"));
String codiceEnteBT = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_ENTE_BT)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_ENTE_BT]"));
String codiceTramiteBT = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_TRAMITE_BT)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_TRAMITE_BT]"));
String codiceIstatEnte = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_ISTAT_ENTE)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_ISTAT_ENTE]"));
final CtTestataFlusso testataFlusso = objectFactory.createCtTestataFlusso();
testataFlusso.setCodiceABIBT(codiceAbi);
testataFlusso.setRiferimentoEnte(codiceA2A);
testataFlusso.setIdentificativoFlusso(distinta.getIdentificativoFlusso());
testataFlusso.setDataOraCreazioneFlusso(DatatypeFactory.newInstance().newXMLGregorianCalendar(formatterTime.format(it.cnr.jada.util.ejb.EJBCommonServices.getServerTimestamp().toLocalDateTime())));
testataFlusso.setCodiceEnte(codiceEnte);
testataFlusso.setCodiceEnteBT(codiceEnteBT);
testataFlusso.setCodiceTramiteEnte(codiceA2A);
testataFlusso.setCodiceTramiteBT(codiceTramiteBT);
AnagraficoComponentSession component = (AnagraficoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRANAGRAF00_EJB_AnagraficoComponentSession");
AnagraficoBulk uoEnte = component.getAnagraficoEnte(userContext);
testataFlusso.setDescrizioneEnte(uoEnte.getRagione_sociale());
testataFlusso.setCodiceIstatEnte(codiceIstatEnte);
testataFlusso.setCodiceFiscaleEnte(uoEnte.getCodice_fiscale());
currentFlusso.getContent().add(objectFactory.createTestataFlusso(testataFlusso));
currentFlusso.getContent().add(objectFactory.createEsercizio(CNRUserContext.getEsercizio(userContext)));
List dettagliRev = dettagliDistinta(userContext, distinta, it.cnr.contab.doccont00.core.bulk.Numerazione_doc_contBulk.TIPO_REV);
// Elaboriamo prima le reversali
Reversale currentReversale = null;
for (Iterator i = dettagliRev.iterator(); i.hasNext(); ) {
V_mandato_reversaleBulk bulk = (V_mandato_reversaleBulk) i.next();
currentFlusso.getContent().add(objectFactory.createReversale(creaReversaleFlussoSiopeplus(userContext, bulk)));
}
List dettagliMan = dettagliDistinta(userContext, distinta, it.cnr.contab.doccont00.core.bulk.Numerazione_doc_contBulk.TIPO_MAN);
// Mandati
Mandato currentMandato = null;
for (Iterator i = dettagliMan.iterator(); i.hasNext(); ) {
V_mandato_reversaleBulk bulk = (V_mandato_reversaleBulk) i.next();
currentFlusso.getContent().add(objectFactory.createMandato(creaMandatoFlussoSiopeplus(userContext, bulk)));
}
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
Marshaller jaxbMarshaller = jc.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.FALSE);
jaxbMarshaller.marshal(currentFlusso, byteArrayOutputStream);
// FIX per firma xml
String out = new String(byteArrayOutputStream.toByteArray(), StandardCharsets.UTF_8);
out = out.replace("</flusso_ordinativi>", "\n</flusso_ordinativi>");
StorageFile storageFile = new StorageFile(out.getBytes(StandardCharsets.UTF_8), MimeTypes.XML.mimetype(), distinta.getFileNameXML());
final StorageObject storageObject = documentiContabiliService.getStorageObjectBykey(documentiContabiliService.restoreSimpleDocument(storageFile, new ByteArrayInputStream(storageFile.getBytes()), storageFile.getContentType(), storageFile.getFileName(), distinta.getStorePath(), true).getKey());
final BigInteger dimension = storageObject.<BigInteger>getPropertyValue(StoragePropertyNames.CONTENT_STREAM_LENGTH.value()).divide(BigInteger.valueOf(1024));
if (dimension.add(BigInteger.valueOf(7)).compareTo(DistintaCassiereComponentSession.MAX_OPI_DIMENSION) > 0) {
throw new ApplicationMessageFormatException("La dimensione del flusso {0}kbytes supera la dimensione massima consentita {1}kbytes!", dimension.add(BigInteger.valueOf(7)), DistintaCassiereComponentSession.MAX_OPI_DIMENSION);
}
return storageObject;
} catch (Exception e) {
throw handleException(e);
}
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class ConsDocammAnagFitBP method init.
protected void init(Config config, ActionContext context) throws BusinessProcessException {
VDocAmmAnagManrevBulk bulk = new VDocAmmAnagManrevBulk();
bulk.setAnagrafico(new AnagraficoBulk());
setModel(context, bulk);
super.init(config, context);
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class Reversale_rigaHome method findCodiciCollegabiliSIOPE.
/**
* Recupera tutti i dati nella tabella CODICI_SIOPE associabili alla riga reversale in uso.
*
* @param riga La riga di reversale in uso.
*
* @return java.util.Collection Collezione di oggetti <code>Codici_siopeBulk</code>
*/
public java.util.Collection findCodiciCollegabiliSIOPE(UserContext userContext, Reversale_rigaBulk riga) throws PersistencyException {
String uoEnte = riga.getReversale().getCd_uo_ente();
if (uoEnte == null) {
PersistentHome uoEnteHome = getHomeCache().getHome(Unita_organizzativa_enteBulk.class);
List result = uoEnteHome.fetchAll(uoEnteHome.createSQLBuilder());
uoEnte = ((Unita_organizzativaBulk) result.get(0)).getCd_unita_organizzativa();
}
if (uoEnte != null && riga.getReversale().getCd_unita_organizzativa() != null && !uoEnte.equals(riga.getReversale().getCd_unita_organizzativa()) && riga.getReversale().isTrasferimento()) {
try {
it.cnr.contab.config00.bulk.Configurazione_cnrBulk config = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(userContext, riga.getEsercizio(), null, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.PK_CODICE_SIOPE_DEFAULT, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.SK_REVERSALE_TRASFERIMENTO);
if (config.getVal01() == null)
return null;
else {
PersistentHome codice_siopeHome = getHomeCache().getHome(Codici_siopeBulk.class);
SQLBuilder sql = codice_siopeHome.createSQLBuilder();
sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, riga.getEsercizio());
sql.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, Elemento_voceHome.GESTIONE_ENTRATE);
sql.addClause("AND", "cd_siope", SQLBuilder.EQUALS, config.getVal01());
return codice_siopeHome.fetchAll(sql);
}
} catch (Exception e) {
return null;
}
} else if (uoEnte != null && uoEnte.equals(CNRUserContext.getCd_unita_organizzativa(userContext)) && !uoEnte.equals(riga.getReversale().getCd_uo_origine()) && riga.getReversale().isSiopeDaCompletare() && !riga.getTipoAssociazioneSiope().equals(Reversale_rigaBulk.SIOPE_TOTALMENTE_ASSOCIATO)) {
PersistentHome codice_siopeHome = getHomeCache().getHome(Codici_siopeBulk.class);
SQLBuilder sql = codice_siopeHome.createSQLBuilder();
sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, riga.getEsercizio());
sql.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, Elemento_voceHome.GESTIONE_ENTRATE);
return codice_siopeHome.fetchAll(sql);
} else {
initializeElemento_voce(userContext, riga);
Elemento_voceHome elemento_voceHome = (Elemento_voceHome) getHomeCache().getHome(Elemento_voceBulk.class);
if (riga.getElemento_voce().getFl_check_terzo_siope().booleanValue()) {
TerzoBulk terzo = (TerzoBulk) getHomeCache().getHome(TerzoBulk.class).findByPrimaryKey(new TerzoBulk(riga.getCd_terzo()));
AnagraficoBulk anagrafico = (AnagraficoBulk) getHomeCache().getHome(AnagraficoBulk.class).findByPrimaryKey(new AnagraficoBulk(terzo.getCd_anag()));
return elemento_voceHome.findCodiciCollegatiSIOPE(userContext, riga.getElemento_voce(), anagrafico.getTipologia_istat());
} else
return elemento_voceHome.findCodiciCollegatiSIOPE(userContext, riga.getElemento_voce(), null);
}
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class PendenzaPagopaComponent method generaPosizioneDebitoria.
public PendenzaPagopaBulk generaPosizioneDebitoria(UserContext userContext, IDocumentoAmministrativoBulk documentoAmministrativoBulk, Timestamp dataScadenza, String descrizione, BigDecimal importoScadenza, TerzoBulk terzoBulk) throws ComponentException {
try {
GestionePagopaHome home = (GestionePagopaHome) getHome(userContext, GestionePagopaBulk.class);
Timestamp dataOdierna = DateServices.getDataOdierna();
GestionePagopaBulk gestionePagopaBulk = home.findGestionePagopa(dataOdierna);
if (gestionePagopaBulk != null) {
PendenzaPagopaBulk scadenzaPagopaBulk = new PendenzaPagopaBulk();
Numerazione_doc_ammBulk numerazioneProgressivoUnivoco = new Numerazione_doc_ammBulk();
TipoPendenzaPagopaBulk tipoPendenzaPagopaBulk = getTipoScadenzaPagopaBulk(userContext, gestionePagopaBulk);
String iuv = generaIuv(userContext, documentoAmministrativoBulk, dataOdierna, numerazioneProgressivoUnivoco, tipoPendenzaPagopaBulk);
String codiceAvviso = generaCodiceAvviso(tipoPendenzaPagopaBulk, iuv);
scadenzaPagopaBulk.setCdAvviso(codiceAvviso);
scadenzaPagopaBulk.setCdIuv(iuv);
scadenzaPagopaBulk.setTipoPendenzaPagopa(tipoPendenzaPagopaBulk);
scadenzaPagopaBulk.setEsercizio(numerazioneProgressivoUnivoco.getEsercizio());
scadenzaPagopaBulk.setDtScadenza(dataScadenza);
scadenzaPagopaBulk.setTipoPosizione(PendenzaPagopaBulk.TIPO_POSIZIONE_CREDITORIA);
scadenzaPagopaBulk.setStato(PendenzaPagopaBulk.STATO_VALIDO);
scadenzaPagopaBulk.setUnitaOrganizzativa(new Unita_organizzativaBulk());
scadenzaPagopaBulk.setCdUnitaOrganizzativa(CNRUserContext.getCd_unita_organizzativa(userContext));
scadenzaPagopaBulk.setImportoPendenza(importoScadenza);
scadenzaPagopaBulk.setDescrizione(descrizione);
scadenzaPagopaBulk.setTerzo(terzoBulk);
if (documentoAmministrativoBulk != null) {
scadenzaPagopaBulk.setCdCdsDocAmm(documentoAmministrativoBulk.getCd_cds());
scadenzaPagopaBulk.setCdUoDocAmm(documentoAmministrativoBulk.getCd_uo());
scadenzaPagopaBulk.setCdTipoDocAmm(documentoAmministrativoBulk.getCd_tipo_doc_amm());
scadenzaPagopaBulk.setEsercizioDocAmm(documentoAmministrativoBulk.getEsercizio());
scadenzaPagopaBulk.setPgDocAmm(documentoAmministrativoBulk.getPg_doc_amm());
}
scadenzaPagopaBulk.setToBeCreated();
Pendenza pendenza = new Pendenza();
pendenza.setIdTipoPendenza("PRESTAZIONE");
pendenza.setIdDominio(1);
pendenza.setIdUnitaOperativa(scadenzaPagopaBulk.getCdUnitaOrganizzativa());
pendenza.setCausale(scadenzaPagopaBulk.getDescrizione());
SoggettoPagatore soggettoPagatore = new SoggettoPagatore();
AnagraficoBulk anagraficoBulk = scadenzaPagopaBulk.getTerzo().getAnagrafico();
soggettoPagatore.setTipo(anagraficoBulk.getTi_entita());
soggettoPagatore.setAnagrafica(terzoBulk.getDenominazione_sede());
soggettoPagatore.setIndirizzo(terzoBulk.getVia_sede());
try {
soggettoPagatore.setCap(new Integer(terzoBulk.getCap_comune_sede()));
} catch (NumberFormatException e) {
}
try {
ComuneBulk comuneBulk = (ComuneBulk) getHome(userContext, terzoBulk.getComune_sede()).findByPrimaryKey(terzoBulk.getComune_sede());
soggettoPagatore.setLocalita(comuneBulk.getDs_comune());
soggettoPagatore.setProvincia(comuneBulk.getCd_provincia());
NazioneBulk nazioneBulk = (NazioneBulk) getHome(userContext, comuneBulk.getNazione()).findByPrimaryKey(comuneBulk.getNazione());
soggettoPagatore.setNazione(nazioneBulk.getCd_iso());
} catch (PersistencyException e) {
}
TerzoHome terzoHome = (TerzoHome) getHome(userContext, terzoBulk);
Collection<TelefonoBulk> mails = terzoHome.findTelefoni(terzoBulk, TelefonoBulk.EMAIL);
if (mails != null && mails.isEmpty()) {
soggettoPagatore.setEmail(mails.iterator().next().getRiferimento());
}
Collection<TelefonoBulk> telefoni = terzoHome.findTelefoni(terzoBulk, TelefonoBulk.TEL);
if (telefoni != null && telefoni.isEmpty()) {
soggettoPagatore.setCellulare(telefoni.iterator().next().getRiferimento());
}
soggettoPagatore.setIndirizzo(terzoBulk.getVia_sede());
pendenza.setImporto(importoScadenza);
pendenza.setNumeroAvviso(new Long(codiceAvviso));
pendenza.setAnnoRiferimento(CNRUserContext.getEsercizio(userContext));
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd");
Date data = new Date(dataScadenza.getTime());
pendenza.setDataScadenza(formatter.format(data));
pendenza.setDataNotificaAvviso(formatter.format(new Date(dataOdierna.getTime())));
pendenza.setDataPromemoriaScadenza(pendenza.getDataScadenza());
Voci voci = new Voci();
Entrata entrata = new Entrata();
entrata.setIbanAccredito("AA");
entrata.setIbanAppoggio("AA1");
voci.setEntrata(entrata);
pendenza.setVoci(Arrays.asList(voci));
return scadenzaPagopaBulk;
} else {
throw new it.cnr.jada.comp.ApplicationException("La gestione PagoPA non è indicata per la data odierna");
}
} catch (Throwable t) {
throw handleException(t);
}
}
Aggregations