use of it.cnr.contab.docamm00.tabrif.bulk.Voce_ivaBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDCompensoAction method doBlankSearchFind_voce_iva.
public Forward doBlankSearchFind_voce_iva(ActionContext context, CompensoBulk compenso) {
if (compenso != null) {
CRUDCompensoBP bp = (CRUDCompensoBP) getBusinessProcess(context);
compenso.setVoceIva(new Voce_ivaBulk());
compenso.setStatoCompensoToEseguiCalcolo();
bp.setDirty(true);
}
return context.findDefaultForward();
}
use of it.cnr.contab.docamm00.tabrif.bulk.Voce_ivaBulk in project sigla-main by consiglionazionaledellericerche.
the class OrdineAcqComponent method inizializzaBulkPerModifica.
@Override
public OggettoBulk inizializzaBulkPerModifica(UserContext usercontext, OggettoBulk oggettobulk) throws ComponentException {
OrdineAcqBulk ordine = (OrdineAcqBulk) super.inizializzaBulkPerModifica(usercontext, oggettobulk);
ordine.setUnicoMagazzinoAbilitato(unicoMagazzinoAbilitato(usercontext, ordine));
it.cnr.jada.bulk.BulkHome homeRiga = getHome(usercontext, OrdineAcqRigaBulk.class);
it.cnr.jada.persistency.sql.SQLBuilder sql = homeRiga.createSQLBuilder();
sql.addClause("AND", "numero", sql.EQUALS, ordine.getNumero());
sql.addClause("AND", "cdCds", sql.EQUALS, ordine.getCdCds());
sql.addClause("AND", "cdUnitaOperativa", sql.EQUALS, ordine.getCdUnitaOperativa());
sql.addClause("AND", "esercizio", sql.EQUALS, ordine.getEsercizio());
sql.addClause("AND", "cdNumeratore", sql.EQUALS, ordine.getCdNumeratore());
sql.addOrderBy("cd_cds");
sql.addOrderBy("cd_unita_operativa");
sql.addOrderBy("esercizio");
sql.addOrderBy("cd_numeratore");
sql.addOrderBy("numero");
sql.addOrderBy("riga");
try {
ordine.setRigheOrdineColl(new it.cnr.jada.bulk.BulkList(homeRiga.fetchAll(sql)));
for (java.util.Iterator i = ordine.getRigheOrdineColl().iterator(); i.hasNext(); ) {
OrdineAcqRigaBulk riga = (OrdineAcqRigaBulk) i.next();
// if (riga.getBeneServizio() != null){
// Bene_servizioBulk bene = recuperoBeneServizio(usercontext, riga.getCdBeneServizio());
// riga.setBeneServizio(bene);
// riga.setTipoConsegnaDefault(bene.getTipoGestione());
// }
// if (riga.getUnitaMisura() != null){
// UnitaMisuraHome home = (UnitaMisuraHome)getHome(usercontext, UnitaMisuraBulk.class);
// UnitaMisuraBulk um = (UnitaMisuraBulk)home.findByPrimaryKey(new UnitaMisuraBulk(riga.getCdUnitaMisura()));
// riga.setUnitaMisura(um);
// }
// if (riga.getVoceIva() != null){
// Voce_ivaHome home = (Voce_ivaHome)getHome(usercontext, Voce_ivaBulk.class);
// Voce_ivaBulk voce = (Voce_ivaBulk)home.findByPrimaryKey(new Voce_ivaBulk(riga.getCdVoceIva()));
// riga.setVoceIva(voce);
// }
it.cnr.jada.bulk.BulkHome homeConsegna = getHome(usercontext, OrdineAcqConsegnaBulk.class);
it.cnr.jada.persistency.sql.SQLBuilder sqlConsegna = homeConsegna.createSQLBuilder();
sqlConsegna.addClause("AND", "numero", sql.EQUALS, ordine.getNumero());
sqlConsegna.addClause("AND", "cdCds", sql.EQUALS, ordine.getCdCds());
sqlConsegna.addClause("AND", "cdUnitaOperativa", sql.EQUALS, ordine.getCdUnitaOperativa());
sqlConsegna.addClause("AND", "esercizio", sql.EQUALS, ordine.getEsercizio());
sqlConsegna.addClause("AND", "cdNumeratore", sql.EQUALS, ordine.getCdNumeratore());
sqlConsegna.addClause("AND", "riga", sql.EQUALS, riga.getRiga());
sqlConsegna.addOrderBy("consegna");
riga.setRigheConsegnaColl(new it.cnr.jada.bulk.BulkList(homeConsegna.fetchAll(sqlConsegna)));
getHomeCache(usercontext).fetchAll(usercontext);
Obbligazione_scadenzarioBulk scadenzaComune = null;
Boolean esisteScadenzaComune = false;
for (java.util.Iterator c = riga.getRigheConsegnaColl().iterator(); c.hasNext(); ) {
OggettoBulk consbulk = (OggettoBulk) c.next();
OrdineAcqConsegnaBulk cons = (OrdineAcqConsegnaBulk) consbulk;
// }
if (cons.getObbligazioneScadenzario() != null) {
// Obbligazione_scadenzarioBulk scad = retrieveObbligazioneScadenzario(usercontext, cons);
// cons.setObbligazioneScadenzario(scad);
Obbligazione_scadenzarioBulk scad = cons.getObbligazioneScadenzario();
if (scadenzaComune == null || scadenzaComune.equalsByPrimaryKey(scad)) {
esisteScadenzaComune = true;
scadenzaComune = scad;
} else {
esisteScadenzaComune = false;
}
} else {
esisteScadenzaComune = false;
}
if (cons.getUnitaOperativaOrd() != null) {
UnitaOperativaOrdBulk uop = recuperoUopDest(usercontext, cons);
cons.setUnitaOperativaOrd(uop);
}
}
impostaCampiDspRiga(riga);
if (esisteScadenzaComune) {
riga.setDspObbligazioneScadenzario(scadenzaComune);
}
}
} catch (PersistencyException e) {
throw handleException(e);
}
// impostaTotaliOrdine(ordine);
rebuildObbligazioni(usercontext, ordine);
return inizializzaOrdine(usercontext, (OggettoBulk) ordine, false);
}
use of it.cnr.contab.docamm00.tabrif.bulk.Voce_ivaBulk in project sigla-main by consiglionazionaledellericerche.
the class FatturaOrdineBulk method calcolaRettifiche.
public void calcolaRettifiche() {
final BigDecimal prezzoUnitario = Optional.ofNullable(getPrezzoUnitarioRett()).orElseGet(() -> getOrdineAcqConsegna().getOrdineAcqRiga().getPrezzoUnitario());
final BigDecimal percentualeIva = Optional.ofNullable(getVoceIva()).filter(voce_ivaBulk -> Optional.ofNullable(voce_ivaBulk.getPercentuale()).isPresent()).map(voce_ivaBulk -> voce_ivaBulk.getPercentuale()).orElseGet(() -> getOrdineAcqConsegna().getOrdineAcqRiga().getVoce_iva().getPercentuale());
setImImponibile(prezzoUnitario.multiply(getOrdineAcqConsegna().getQuantita()).setScale(2, RoundingMode.HALF_UP));
setImIva(getImImponibile().multiply(percentualeIva).divide(BigDecimal.TEN.multiply(BigDecimal.TEN)).setScale(2, RoundingMode.HALF_UP));
setImTotaleConsegna(getImImponibile().add(getImIva()));
}
use of it.cnr.contab.docamm00.tabrif.bulk.Voce_ivaBulk in project sigla-main by consiglionazionaledellericerche.
the class FatturaAttivaSingolaComponent method validaRiga.
/**
* validazione bene.
* PreCondition:
* Il bene relativo alla riga fattura in via di variazione risulta di tipo soggetto ad inventario.
* PostCondition:
* Viene inviato un messaggio all'utente "Questo bene è soggetto ad inventario".
* NOTA: Vanno dettagliate le condizioni di inventario non appena disponibile il relativo use case
* tutti i controli superati
* PreCondition:
* Nessun errore rilevato.
* PostCondition:
* Viene consentita la registrazione riga.
* validazione modifica imponibile, iva, totale, aliquota (G2)
* PreCondition:
* Sono stati modificati i campi imponibile, iva, totale, aliquiota (G2) in fattura in stato B or C
* PostCondition:
* Viene inviato un messaggio "Attenzione: questa modifica non è permessa"
* validazione modifica dettaglio pagato.
* PreCondition:
* E' stato modificato un dettaglio in stato P.
* PostCondition:
* Viene inviato un messaggio:"Attenzione non si può eliminare un dettaglio già pagato".
* validazione modifica dettaglio di fattura già pagata.
* PreCondition:
* E' stato modificato un dettaglio di fattura in stato P.
* PostCondition:
* Viene inviato un messaggio:"Attenzione non si può modificare un dettaglio in una fattura già pagata".
*/
// ^^@@
public void validaRiga(UserContext aUC, Fattura_attiva_rigaBulk fatturaRiga) throws ComponentException {
if (fatturaRiga.getBene_servizio() == null || fatturaRiga.getBene_servizio().getCrudStatus() == OggettoBulk.UNDEFINED)
throw new it.cnr.jada.comp.ApplicationException("Inserire un bene/servizio per la riga.");
if (fatturaRiga.getDs_riga_fattura() == null)
throw new it.cnr.jada.comp.ApplicationException("Inserire una descrizione per la riga.");
if (fatturaRiga.getQuantita() == null || fatturaRiga.getQuantita().intValue() <= 0)
throw new it.cnr.jada.comp.ApplicationException("La quantità specificata nel dettaglio NON è valida.");
try {
VoceIvaComponentSession h = (VoceIvaComponentSession) EJBCommonServices.createEJB("CNRDOCAMM00_EJB_VoceIvaComponentSession", VoceIvaComponentSession.class);
Voce_ivaBulk def = h.caricaVoceIvaDefault(aUC);
if (def != null && def.getCd_voce_iva() != null)
if (fatturaRiga.getVoce_iva().getCd_voce_iva().compareTo(def.getCd_voce_iva()) == 0)
throw new it.cnr.jada.comp.ApplicationException("Codice iva non valido");
} catch (java.rmi.RemoteException e) {
throw handleException(e);
}
try {
fatturaRiga.validaDateCompetenza();
} catch (it.cnr.jada.bulk.ValidationException e) {
throw new it.cnr.jada.comp.ApplicationException(e.getMessage());
}
if (fatturaRiga.getFattura_attiva().getTi_causale_emissione().equals(fatturaRiga.getFattura_attiva().TARIFFARIO) && (fatturaRiga.getTariffario() == null || fatturaRiga.getTariffario().getCd_tariffario() == null || fatturaRiga.getTariffario().getCrudStatus() == OggettoBulk.UNDEFINED))
throw new it.cnr.jada.comp.ApplicationException("Selezionare un tariffario!");
if (fatturaRiga.getAccertamento_scadenzario() != null && !fatturaRiga.getAccertamento_scadenzario().getAccertamento().getCd_terzo().equals(fatturaRiga.getFattura_attiva().getCliente().getCd_terzo()) && !fatturaRiga.getAccertamento_scadenzario().getAccertamento().getDebitore().getAnagrafico().getTi_entita().equals(AnagraficoBulk.DIVERSI))
throw new it.cnr.jada.comp.ApplicationException("Attenzione! Il cliente selezionato non corrisponde al cliente dell'accertamento " + ((fatturaRiga.getDs_riga_fattura() != null) ? "sul dettaglio " + fatturaRiga.getDs_riga_fattura() : "su un dettaglio"));
Elemento_voceBulk voce = recuperoVoce(aUC, fatturaRiga.getAccertamento_scadenzario());
if (fatturaRiga.getPg_trovato() != null && ((fatturaRiga.getAccertamento_scadenzario() == null) || (fatturaRiga.getAccertamento_scadenzario() != null && isInibitaIndicazioneTrovato(voce))))
fatturaRiga.setPg_trovato(null);
if (fatturaRiga.getAccertamento_scadenzario() != null && isObbligatoriaIndicazioneTrovato(voce) && fatturaRiga.getPg_trovato() == null)
throw new it.cnr.jada.comp.ApplicationException("Attenzione! Non è stato inserito il Brevetto/Trovato mentre la voce di bilancio utilizzata per la contabilizzazione del dettaglio collegato ne prevede l'indicazione obbligatoria");
// nei periodi del sezionale impostato sulla riga
if (fatturaRiga.getFattura_attiva().getTi_causale_emissione().equals(fatturaRiga.getFattura_attiva().TARIFFARIO) && fatturaRiga.getFattura_attiva().getDt_registrazione() != null && fatturaRiga.getTariffario() != null && (fatturaRiga.getTariffario().getDt_ini_validita().after(fatturaRiga.getFattura_attiva().getDt_registrazione()) || fatturaRiga.getTariffario().getDt_fine_validita().before(fatturaRiga.getFattura_attiva().getDt_registrazione())))
throw new it.cnr.jada.comp.ApplicationException("Attenzione! Per la data di registrazione impostata il tariffario selezionato " + ((fatturaRiga.getDs_riga_fattura() != null) ? "sul dettaglio " + fatturaRiga.getDs_riga_fattura() : "su un dettaglio") + "non è valido");
// }
if (fatturaRiga instanceof Nota_di_credito_attiva_rigaBulk && fatturaRiga.getFattura_attiva() != null && !fatturaRiga.getFattura_attiva().isIvaRecuperabile() && fatturaRiga.getVoce_iva() != null && !fatturaRiga.getVoce_iva().getFl_iva_non_recuperabile())
throw new it.cnr.jada.comp.ApplicationException("Attenzione! Il codice iva " + ((fatturaRiga.getDs_riga_fattura() != null) ? "sul dettaglio " + fatturaRiga.getDs_riga_fattura() : "su un dettaglio") + " non è valido");
if (Optional.ofNullable(fatturaRiga).flatMap(fattura_attiva_rigaBulk -> Optional.ofNullable(fattura_attiva_rigaBulk.getVoce_iva())).flatMap(voce_ivaBulk -> Optional.ofNullable(voce_ivaBulk.getFl_obb_dichiarazione_intento())).orElse(Boolean.FALSE))
verificaEsistenzaDichiarazioneIntento(aUC, fatturaRiga);
if (!RemoveAccent.isOk(fatturaRiga.getDs_riga_fattura())) {
throw new ApplicationException("La descrizione contienere caratteri speciali non supportati.");
}
}
use of it.cnr.contab.docamm00.tabrif.bulk.Voce_ivaBulk 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;
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);
}
}
Aggregations