use of it.cnr.contab.config00.contratto.bulk.ContrattoHome in project sigla-main by consiglionazionaledellericerche.
the class OrdineAcqComponent method retrieveContratto.
private ContrattoBulk retrieveContratto(UserContext usercontext, OrdineAcqBulk ordine) throws ComponentException, PersistencyException {
ContrattoHome home = (ContrattoHome) getHome(usercontext, ContrattoBulk.class);
ContrattoBulk bulk = (ContrattoBulk) home.findByPrimaryKey(new ContrattoBulk(ordine.getEsercizioContratto(), ordine.getStato(), ordine.getPgContratto()));
return bulk;
}
use of it.cnr.contab.config00.contratto.bulk.ContrattoHome in project sigla-main by consiglionazionaledellericerche.
the class ObbligazioneComponent method verificaCoperturaContratto.
public void verificaCoperturaContratto(UserContext aUC, ObbligazioneBulk obbligazione, int flag) throws ComponentException {
// Controllo che l'obbligazione non abbia sfondato il contratto
if (obbligazione.isCheckDisponibilitaContrattoEseguito())
return;
if (obbligazione.getContratto() != null && obbligazione.getContratto().getPg_contratto() != null) {
try {
ContrattoHome contrattoHome = (ContrattoHome) getHome(aUC, ContrattoBulk.class);
SQLBuilder sql = contrattoHome.calcolaTotObbligazioni(aUC, obbligazione.getContratto());
BigDecimal totale = null;
try {
java.sql.ResultSet rs = null;
LoggableStatement ps = null;
try {
ps = sql.prepareStatement(getConnection(aUC));
try {
rs = ps.executeQuery();
if (rs.next())
totale = rs.getBigDecimal(1);
} catch (java.sql.SQLException e) {
throw handleSQLException(e);
} finally {
if (rs != null)
try {
rs.close();
} catch (java.sql.SQLException e) {
}
;
}
} finally {
if (ps != null)
try {
ps.close();
} catch (java.sql.SQLException e) {
}
;
}
} catch (java.sql.SQLException ex) {
throw handleException(ex);
}
if (flag == INSERIMENTO)
totale = totale.add(obbligazione.getIm_obbligazione());
if (totale != null) {
if (totale.compareTo(obbligazione.getContratto().getIm_contratto_passivo()) > 0) {
throw handleException(new CheckDisponibilitaContrattoFailed("La somma degli impegni associati supera l'importo definito nel contratto."));
}
}
} catch (IntrospectionException e1) {
throw new it.cnr.jada.comp.ComponentException(e1);
} catch (PersistencyException e1) {
throw new it.cnr.jada.comp.ComponentException(e1);
}
}
}
use of it.cnr.contab.config00.contratto.bulk.ContrattoHome in project sigla-main by consiglionazionaledellericerche.
the class ObbligazioneComponent method validaContratto.
/**
* @param userContext
* @param obbligazione
* @param contratto
* @param clauses
* @return
* @throws ComponentException
* @throws it.cnr.jada.persistency.PersistencyException
*/
public void validaContratto(UserContext userContext, ObbligazioneBulk obbligazione, ContrattoBulk contratto, CompoundFindClause clauses) throws ComponentException, it.cnr.jada.persistency.PersistencyException {
SQLBuilder sql = selectContrattoByClause(userContext, obbligazione, contratto, clauses);
sql.addSQLClause("AND", "ESERCIZIO", SQLBuilder.EQUALS, contratto.getEsercizio());
sql.addSQLClause("AND", "STATO", SQLBuilder.EQUALS, contratto.getStato());
sql.addSQLClause("AND", "PG_CONTRATTO", SQLBuilder.EQUALS, contratto.getPg_contratto());
ContrattoHome home = (ContrattoHome) getHome(userContext, ContrattoBulk.class);
it.cnr.jada.persistency.Broker broker = home.createBroker(sql);
if (!broker.next())
throw new ApplicationException("Contratto non valido!");
}
use of it.cnr.contab.config00.contratto.bulk.ContrattoHome in project sigla-main by consiglionazionaledellericerche.
the class FatturaElettronicaPassivaComponent method completaDocumento.
@SuppressWarnings("unchecked")
public void completaDocumento(UserContext usercontext, DocumentoEleTrasmissioneBulk documentoEleTrasmissioneBulk) throws ComponentException {
try {
AnagraficoHome anagraficoHome = (AnagraficoHome) getHome(usercontext, AnagraficoBulk.class);
TerzoHome terzoHome = (TerzoHome) getHome(usercontext, TerzoBulk.class);
Rif_modalita_pagamentoHome rifModPagHome = (Rif_modalita_pagamentoHome) getHome(usercontext, Rif_modalita_pagamentoBulk.class);
Modalita_pagamentoHome modPagHome = (Modalita_pagamentoHome) getHome(usercontext, Modalita_pagamentoBulk.class);
Voce_ivaHome voceIvaHome = (Voce_ivaHome) getHome(usercontext, Voce_ivaBulk.class);
List<String> anomalieTrasmissione = new ArrayList<String>();
SQLBuilder sql = terzoHome.createSQLBuilder();
sql.addClause(FindClause.AND, "codiceUnivocoUfficioIpa", SQLBuilder.EQUALS, documentoEleTrasmissioneBulk.getCodiceDestinatario());
sql.addSQLClause("AND", "DT_FINE_RAPPORTO", sql.ISNULL, null);
List<TerzoBulk> terzoUOS = terzoHome.fetchAll(sql);
if (terzoUOS != null && !terzoUOS.isEmpty()) {
documentoEleTrasmissioneBulk.setUnitaOrganizzativa(terzoUOS.get(0).getUnita_organizzativa());
documentoEleTrasmissioneBulk.setCommittente(terzoUOS.get(0));
} else {
TerzoBulk terzoEnte = terzoHome.findTerzoEnte();
documentoEleTrasmissioneBulk.setUnitaOrganizzativa(terzoEnte.getUnita_organizzativa());
documentoEleTrasmissioneBulk.setCommittente(terzoEnte);
}
/**
* Invio mail di notifica Ricezione
*/
try {
String subject = "[SIGLA] Notifica ricezione fattura passiva con Identificativo SdI:" + documentoEleTrasmissioneBulk.getIdentificativoSdi();
subject += " UO: " + documentoEleTrasmissioneBulk.getUnitaOrganizzativa().getCd_unita_organizzativa();
String text = "E' pervenuta la fattura dal trasmittente: <b>" + documentoEleTrasmissioneBulk.getIdCodice() + "</b><br>" + "Prestatore: " + documentoEleTrasmissioneBulk.getDenominzionePrestatore() + "<br>" + "Il documento è presente nell'area temporanea di SIGLA.";
String addressTO = null;
Utente_indirizzi_mailHome utente_indirizzi_mailHome = (Utente_indirizzi_mailHome) getHome(usercontext, Utente_indirizzi_mailBulk.class);
for (java.util.Iterator<Utente_indirizzi_mailBulk> i = utente_indirizzi_mailHome.findUtenteNotificaRicezioneFatturaElettronica(documentoEleTrasmissioneBulk.getUnitaOrganizzativa()).iterator(); i.hasNext(); ) {
Utente_indirizzi_mailBulk utente_indirizzi = (Utente_indirizzi_mailBulk) i.next();
if (addressTO == null)
addressTO = new String();
else
addressTO = addressTO + ",";
addressTO = addressTO + utente_indirizzi.getIndirizzo_mail();
}
if (addressTO != null) {
SendMail.sendMail(subject, text, InternetAddress.parse(addressTO));
}
} catch (Exception _ex) {
}
if (documentoEleTrasmissioneBulk.getPrestatoreCodicefiscale() != null || documentoEleTrasmissioneBulk.getPrestatoreCodice() != null) {
final List<String> cigs = documentoEleTrasmissioneBulk.getDocEleTestataColl().stream().map(DocumentoEleTestataBulk::getDocEleAcquistoColl).flatMap(documentoEleAcquistoBulks -> documentoEleAcquistoBulks.stream()).map(DocumentoEleAcquistoBulk::getAcquistoCig).filter(s -> Optional.ofNullable(s).isPresent()).collect(Collectors.toList());
if (!cigs.isEmpty()) {
ContrattoHome contrattoHome = (ContrattoHome) getHome(usercontext, ContrattoBulk.class);
for (String cig : cigs) {
final Optional<ContrattoBulk> optionalContrattoBulk = contrattoHome.findByCIG(usercontext, cig).stream().findAny();
if (optionalContrattoBulk.isPresent()) {
final TerzoBulk figura_giuridica_esterna = optionalContrattoBulk.get().getFigura_giuridica_esterna();
if (Optional.ofNullable(documentoEleTrasmissioneBulk.getPrestatoreCodicefiscale()).filter(s -> s.equalsIgnoreCase(Optional.ofNullable(figura_giuridica_esterna.getCodice_fiscale_anagrafico()).orElse(""))).isPresent() || (Optional.ofNullable(documentoEleTrasmissioneBulk.getPrestatoreCodice()).filter(s -> s.equalsIgnoreCase(Optional.ofNullable(figura_giuridica_esterna.getPartita_iva_anagrafico()).orElse(""))).isPresent() && !Optional.ofNullable(figura_giuridica_esterna).flatMap(terzoBulk -> Optional.ofNullable(terzoBulk.getAnagrafico())).flatMap(anagraficoBulk -> Optional.ofNullable(anagraficoBulk.getTi_entita_giuridica())).map(s -> s.equalsIgnoreCase(AnagraficoBulk.GIURIDICA)).orElse(Boolean.TRUE))) {
documentoEleTrasmissioneBulk.setPrestatore(figura_giuridica_esterna);
documentoEleTrasmissioneBulk.setPrestatoreAnag(figura_giuridica_esterna.getAnagrafico());
}
}
}
}
if (!Optional.ofNullable(documentoEleTrasmissioneBulk).flatMap(documentoEleTrasmissioneBulk1 -> Optional.ofNullable(documentoEleTrasmissioneBulk.getPrestatore())).flatMap(terzoBulk -> Optional.ofNullable(terzoBulk.getCd_terzo())).isPresent()) {
List<AnagraficoBulk> anagraficoBulks = null;
anagraficoBulks = anagraficoHome.findByCodiceFiscaleOrPartitaIVA(documentoEleTrasmissioneBulk.getPrestatoreCodicefiscale(), documentoEleTrasmissioneBulk.getPrestatoreCodice());
if (anagraficoBulks != null && !anagraficoBulks.isEmpty()) {
if (anagraficoBulks.size() == 1) {
AnagraficoBulk anag = anagraficoBulks.get(0);
documentoEleTrasmissioneBulk.setPrestatoreAnag(anag);
List<TerzoBulk> terzi = terzoHome.findTerzi(anagraficoBulks.get(0));
if (terzi != null && !terzi.isEmpty() && terzi.size() == 1) {
documentoEleTrasmissioneBulk.setPrestatore(terzi.get(0));
}
} else {
anomalieTrasmissione.add("Esistono più di una riga in anagrafica per il CF:" + documentoEleTrasmissioneBulk.getPrestatoreCodicefiscale() + " o la partita IVA: " + documentoEleTrasmissioneBulk.getPrestatoreCodice());
}
}
}
if (documentoEleTrasmissioneBulk.getPrestatoreCodice() != null) {
List<AnagraficoBulk> list = anagraficoHome.findByCodiceFiscaleOrPartitaIVA(null, documentoEleTrasmissioneBulk.getPrestatoreCodice());
if (list != null && list.size() == 1) {
AnagraficoBulk anagraficoBulk = list.get(0);
if (anagraficoBulk.isGruppoIVA()) {
documentoEleTrasmissioneBulk.setPrestatoreAnag(anagraficoBulk);
documentoEleTrasmissioneBulk.setPrestatore(null);
if (documentoEleTrasmissioneBulk.getPrestatoreCodicefiscale() != null) {
List<AnagraficoBulk> lista = anagraficoHome.findByCodiceFiscaleOrPartitaIVA(documentoEleTrasmissioneBulk.getPrestatoreCodicefiscale(), null);
if (lista != null && lista.size() == 1) {
AnagraficoBulk anagraficoPerTerzo = lista.get(0);
if (documentoEleTrasmissioneBulk.getDataRicezione().compareTo(anagraficoBulk.getDt_canc()) <= 0 && documentoEleTrasmissioneBulk.getDataRicezione().compareTo(anagraficoBulk.getDtIniValGruppoIva()) > 0) {
List<TerzoBulk> listaTerzi = terzoHome.findTerzi(anagraficoPerTerzo);
if (listaTerzi.size() == 0) {
documentoEleTrasmissioneBulk.setPrestatore(listaTerzi.get(0));
}
}
}
}
}
}
}
}
if (documentoEleTrasmissioneBulk.getRappresentanteCodicefiscale() != null || documentoEleTrasmissioneBulk.getRappresentanteCodice() != null) {
List<AnagraficoBulk> anagraficoBulks = anagraficoHome.findByCodiceFiscaleOrPartitaIVA(documentoEleTrasmissioneBulk.getRappresentanteCodicefiscale(), documentoEleTrasmissioneBulk.getRappresentanteCodice());
if (anagraficoBulks != null && !anagraficoBulks.isEmpty()) {
if (anagraficoBulks.size() == 1) {
documentoEleTrasmissioneBulk.setRappresentanteAnag(anagraficoBulks.get(0));
List<TerzoBulk> terzi = terzoHome.findTerzi(anagraficoBulks.get(0));
if (terzi != null && !terzi.isEmpty() && terzi.size() == 1) {
documentoEleTrasmissioneBulk.setRappresentante(terzi.get(0));
}
} else {
anomalieTrasmissione.add("Esistono più di una riga in anagrafica per il CF:" + documentoEleTrasmissioneBulk.getRappresentanteCodicefiscale() + " o la partita IVA: " + documentoEleTrasmissioneBulk.getRappresentanteCodice());
}
}
}
if (documentoEleTrasmissioneBulk.getIntermediarioCodicefiscale() != null || documentoEleTrasmissioneBulk.getIntermediarioCodice() != null) {
List<AnagraficoBulk> anagraficoBulks = anagraficoHome.findByCodiceFiscaleOrPartitaIVA(documentoEleTrasmissioneBulk.getIntermediarioCodicefiscale(), documentoEleTrasmissioneBulk.getIntermediarioCodice());
if (anagraficoBulks != null && !anagraficoBulks.isEmpty()) {
if (anagraficoBulks.size() == 1) {
documentoEleTrasmissioneBulk.setIntermediarioAnag(anagraficoBulks.get(0));
List<TerzoBulk> terzi = terzoHome.findTerzi(anagraficoBulks.get(0));
if (terzi != null && !terzi.isEmpty() && terzi.size() == 1) {
documentoEleTrasmissioneBulk.setIntermediario(terzi.get(0));
}
} else {
anomalieTrasmissione.add("Esistono più di una riga in anagrafica per il CF:" + documentoEleTrasmissioneBulk.getIntermediarioCodicefiscale() + " o la partita IVA: " + documentoEleTrasmissioneBulk.getIntermediarioCodice());
}
}
}
if (!anomalieTrasmissione.isEmpty())
documentoEleTrasmissioneBulk.setAnomalieRicezione(StringUtils.join(anomalieTrasmissione.toArray(), " - "));
for (DocumentoEleTestataBulk docTestata : documentoEleTrasmissioneBulk.getDocEleTestataColl()) {
List<String> anomalieTestata = new ArrayList<String>();
if (docTestata.getBeneficiarioModPag() != null) {
SQLBuilder sqlRifModPag = rifModPagHome.createSQLBuilder();
sqlRifModPag.addClause(FindClause.AND, "tipoPagamentoSdi", SQLBuilder.EQUALS, docTestata.getBeneficiarioModPag());
List<Rif_modalita_pagamentoBulk> rifModPags = rifModPagHome.fetchAll(sqlRifModPag);
boolean trovataModPag = Boolean.FALSE;
Integer terzoModPag = null;
if (docTestata.getDocumentoEleTrasmissione().getSoggettoEmittente() != null && docTestata.getDocumentoEleTrasmissione().getSoggettoEmittente().equals(SoggettoEmittenteType.TZ.value())) {
if (docTestata.getDocumentoEleTrasmissione().getIntermediarioCdTerzo() != null)
terzoModPag = docTestata.getDocumentoEleTrasmissione().getIntermediarioCdTerzo();
else if (docTestata.getDocumentoEleTrasmissione().getRappresentanteCdTerzo() != null)
terzoModPag = docTestata.getDocumentoEleTrasmissione().getRappresentanteCdTerzo();
else
terzoModPag = docTestata.getDocumentoEleTrasmissione().getPrestatoreCdTerzo();
} else {
terzoModPag = docTestata.getDocumentoEleTrasmissione().getPrestatoreCdTerzo();
}
if (terzoModPag != null) {
SQLBuilder sqlModPag = modPagHome.createSQLBuilder();
sqlModPag.addSQLClause(FindClause.AND, "CD_TERZO", SQLBuilder.EQUALS, terzoModPag);
sqlModPag.openParenthesis(FindClause.AND);
for (Rif_modalita_pagamentoBulk rif_modalita_pagamentoBulk : rifModPags) {
sqlModPag.addSQLClause(FindClause.OR, "CD_MODALITA_PAG", SQLBuilder.EQUALS, rif_modalita_pagamentoBulk.getCd_modalita_pag());
}
sqlModPag.closeParenthesis();
List<Modalita_pagamentoBulk> modPags = modPagHome.fetchAll(sqlModPag);
if (modPags != null) {
for (Modalita_pagamentoBulk modalita_pagamentoBulk : modPags) {
trovataModPag = Boolean.TRUE;
docTestata.setModalitaPagamento(modalita_pagamentoBulk);
break;
}
}
} else {
for (Rif_modalita_pagamentoBulk rif_modalita_pagamentoBulk : rifModPags) {
Modalita_pagamentoBulk modalitaPagamento = (Modalita_pagamentoBulk) modPagHome.findByPrimaryKey(new Modalita_pagamentoBulk(rif_modalita_pagamentoBulk.getCd_modalita_pag(), docTestata.getDocumentoEleTrasmissione().getPrestatoreCdTerzo()));
if (modalitaPagamento != null) {
trovataModPag = Boolean.TRUE;
docTestata.setModalitaPagamento(modalitaPagamento);
break;
}
}
}
if (!trovataModPag) {
anomalieTestata.add("Modalità di pagamento non trovata");
}
}
if (!anomalieTestata.isEmpty())
docTestata.setAnomalie(StringUtils.join(anomalieTestata.toArray(), " - "));
docTestata.setStatoDocumento(StatoDocumentoEleEnum.AGGIORNATO.name());
docTestata.setToBeUpdated();
for (DocumentoEleIvaBulk documentoEleIvaBulk : docTestata.getDocEleIVAColl()) {
List<String> anomalieIVA = new ArrayList<String>();
SQLBuilder sqlVoceIva = voceIvaHome.createSQLBuilder();
sqlVoceIva.addClause(FindClause.AND, "percentuale", SQLBuilder.EQUALS, documentoEleIvaBulk.getAliquotaIva());
sqlVoceIva.addSQLClause(FindClause.AND, "NATURA_OPER_NON_IMP_SDI", SQLBuilder.EQUALS, documentoEleIvaBulk.getNatura());
List<Voce_ivaBulk> results = voceIvaHome.fetchAll(sqlVoceIva);
if (results.isEmpty())
anomalieIVA.add("Codice Iva non trovato!");
if (results.size() > 1)
anomalieIVA.add("Esistonio piu codici Iva associabili alla riga!");
if (results.size() == 1)
documentoEleIvaBulk.setVoceIva(results.get(0));
if (!anomalieIVA.isEmpty())
documentoEleIvaBulk.setAnomalie(StringUtils.join(anomalieIVA.toArray(), " - "));
documentoEleIvaBulk.setToBeUpdated();
}
}
documentoEleTrasmissioneBulk.setToBeUpdated();
modificaConBulk(usercontext, documentoEleTrasmissioneBulk);
} catch (Throwable throwable) {
throw handleException(throwable);
}
}
use of it.cnr.contab.config00.contratto.bulk.ContrattoHome in project sigla-main by consiglionazionaledellericerche.
the class AccertamentoComponent method validaContratto.
/**
* @param userContext
* @param accertamento
* @param contratto
* @param clauses
* @return
* @throws ComponentException
* @throws it.cnr.jada.persistency.PersistencyException
*/
public void validaContratto(UserContext userContext, AccertamentoBulk accertamento, ContrattoBulk contratto, CompoundFindClause clauses) throws ComponentException, it.cnr.jada.persistency.PersistencyException {
SQLBuilder sql = selectContrattoByClause(userContext, accertamento, contratto, clauses);
sql.addSQLClause("AND", "ESERCIZIO", SQLBuilder.EQUALS, contratto.getEsercizio());
sql.addSQLClause("AND", "STATO", SQLBuilder.EQUALS, contratto.getStato());
sql.addSQLClause("AND", "PG_CONTRATTO", SQLBuilder.EQUALS, contratto.getPg_contratto());
ContrattoHome home = (ContrattoHome) getHome(userContext, ContrattoBulk.class);
it.cnr.jada.persistency.Broker broker = home.createBroker(sql);
if (!broker.next())
throw new ApplicationException("Contratto non valido!");
}
Aggregations