use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk 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);
}
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDOrdineAcqAction method doFreeSearchFindFornitore.
public Forward doFreeSearchFindFornitore(ActionContext context) {
CRUDOrdineAcqBP bp = (CRUDOrdineAcqBP) context.getBusinessProcess();
TerzoBulk tb = new TerzoBulk();
tb.setAnagrafico(new AnagraficoBulk());
return freeSearch(context, bp.getFormField("fornitore"), tb);
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class CompensoComponent method isSospensioneIrpefOkPerContabil.
public boolean isSospensioneIrpefOkPerContabil(UserContext userContext, CompensoBulk compenso) throws ComponentException {
Timestamp data_da = null;
Timestamp data_a = null;
try {
Configurazione_cnrComponentSession sess = (Configurazione_cnrComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRCONFIG00_EJB_Configurazione_cnrComponentSession");
if (sess.getDt01(userContext, null, null, "SOSPENSIONE_IRPEF", "PERIODO_VALIDITA") == null || sess.getDt02(userContext, null, null, "SOSPENSIONE_IRPEF", "PERIODO_VALIDITA") == null)
throw new ApplicationException("Configurazione CNR: non sono stati impostati i valori per la gestione della Sospensione IRPEF");
data_da = sess.getDt01(userContext, null, null, "SOSPENSIONE_IRPEF", "PERIODO_VALIDITA");
data_a = sess.getDt02(userContext, null, null, "SOSPENSIONE_IRPEF", "PERIODO_VALIDITA");
java.sql.Timestamp data_emis_mand = it.cnr.jada.util.ejb.EJBCommonServices.getServerDate();
// deve essere calcolata la sospensione, altrimenti no
if (compenso.getCd_terzo() != null) {
try {
TerzoHome tHome = (TerzoHome) getHome(userContext, TerzoBulk.class);
TerzoBulk tKey = new TerzoBulk(compenso.getCd_terzo());
TerzoBulk t = (TerzoBulk) tHome.findByPrimaryKey(tKey);
if (t == null) {
return false;
} else {
AnagraficoHome aHome = (AnagraficoHome) getHome(userContext, AnagraficoBulk.class);
AnagraficoBulk aKey = new AnagraficoBulk(t.getCd_anag());
AnagraficoBulk a = (AnagraficoBulk) aHome.findByPrimaryKey(aKey);
if (a == null)
return false;
else {
if (a.getFl_sospensione_irpef() && isPrevistaSospensioneSuTrattCori(compenso) && data_emis_mand.compareTo(data_da) >= 0 && data_emis_mand.compareTo(data_a) <= 0) {
if (isCalcolataSospensione(compenso))
return true;
else
return false;
} else {
if (isNonCalcolataSospensione(compenso))
return true;
else
return false;
}
}
}
} catch (it.cnr.jada.persistency.PersistencyException ex) {
throw handleException(compenso, ex);
}
} else
return false;
} catch (javax.ejb.EJBException e) {
throw handleException(compenso, e);
} catch (java.rmi.RemoteException e) {
throw handleException(compenso, e);
}
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDBonusBP method Estrazione.
public void Estrazione(ActionContext context) throws ComponentException, RemoteException, BusinessProcessException, PersistencyException {
try {
AnagraficoBulk ente = ((Liquid_coriComponentSession) createComponentSession("CNRCORI00_EJB_Liquid_coriComponentSession", Liquid_coriComponentSession.class)).getAnagraficoEnte(context.getUserContext());
BonusComponentSession sess = (BonusComponentSession) createComponentSession();
java.util.List lista = sess.estraiLista(context.getUserContext());
File f = null;
Integer conta_det = 0;
Integer altro = 0;
Integer mod = 1;
String data_formattata = Formatta(new Integer(EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.DAY_OF_MONTH)).toString(), "D", 2, "0").concat(Formatta(new Integer(EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.MONTH) + 1).toString(), "D", 2, "0") + EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.YEAR));
if (lista != null && !lista.isEmpty() && lista.size() != 0)
f = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", "Bonus-" + data_formattata + ".rbs");
else
throw new ApplicationException("Non ci sono dati!");
OutputStream os = (OutputStream) new FileOutputStream(f);
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
if (lista != null && !lista.isEmpty()) {
// Testata - posizionale lunghezza 1900 caratteri
String Codice_Fiscale = ente.getCodice_fiscale();
// Testata parte iniziale Fissa Tipo Record "A"
bw.append("A");
bw.append(Formatta(null, "S", 14, " "));
bw.append(Formatta("RBS09", "S", 5, " "));
// Tipo fornitore
bw.append("01");
bw.append(Formatta(Codice_Fiscale, "S", 16, " "));
bw.append(Formatta(null, "S", 483, " "));
bw.append(Formatta(null, "S", 4, "0"));
bw.append(Formatta(null, "S", 4, "0"));
bw.append(Formatta(null, "S", 100, " "));
bw.append(Formatta(null, "S", 1068, " "));
bw.append(Formatta(null, "S", 200, " "));
bw.append("A");
bw.append("\r\n");
// inizio Record B
for (Iterator i = lista.iterator(); i.hasNext(); ) {
BonusBulk bonus = (BonusBulk) i.next();
bonus = sess.recuperoDati(context.getUserContext(), bonus);
// parte iniziale Fissa Tipo Record "B"
bw.append("B");
bw.append(Formatta(bonus.getCodice_fiscale(), "S", 16, " "));
bw.append(Formatta("1", "D", 8, "0"));
// tipo modello
bw.append("1");
bw.append(Formatta(null, "S", 27, " "));
bw.append(Formatta(null, "S", 20, " "));
bw.append(Formatta(null, "S", 16, " "));
// Flag anomalia a NO
bw.append("0");
// Cognome
bw.append(Formatta(bonus.getCognome(), "S", 24, " "));
// nome
bw.append(Formatta(bonus.getNome(), "S", 20, " "));
// sesso
bw.append(Formatta(bonus.getTerzo().getAnagrafico().getTi_sesso(), "S", 1, " "));
// data nascita
GregorianCalendar dataNascita = new GregorianCalendar();
dataNascita.setTime(new java.util.Date(bonus.getDt_nascita().getTime()));
String data_nasc_form = Formatta(new Integer(dataNascita.get(java.util.Calendar.DAY_OF_MONTH)).toString(), "D", 2, "0").concat(Formatta(new Integer(dataNascita.get(java.util.Calendar.MONTH) + 1).toString(), "D", 2, "0") + dataNascita.get(java.util.Calendar.YEAR));
bw.append(Formatta(data_nasc_form, "S", 8, "0"));
// comune
bw.append(Formatta(bonus.getTerzo().getAnagrafico().getComune_nascita().getDs_comune(), "S", 40, " "));
// provincia se null 'EE'
if (bonus.getTerzo().getAnagrafico().getComune_nascita().getTi_italiano_estero().compareTo(it.cnr.contab.anagraf00.tabter.bulk.ComuneBulk.COMUNE_ITALIANO) == 0)
bw.append(Formatta(bonus.getTerzo().getAnagrafico().getComune_nascita().getCd_provincia(), "S", 2, " "));
else
bw.append(Formatta("EE", "S", 2, " "));
// sost.imp.
bw.append(Formatta(null, "S", 24, " "));
bw.append(Formatta(null, "S", 20, " "));
bw.append(Formatta(ente.getRagione_sociale(), "S", 60, " "));
bw.append(Formatta(Codice_Fiscale, "S", 16, " "));
// flag
if (bonus.getCd_condizione().compareTo("a") == 0)
bw.append("1");
else
bw.append("0");
if (bonus.getCd_condizione().compareTo("b") == 0)
bw.append("1");
else
bw.append("0");
if (bonus.getCd_condizione().compareTo("c") == 0)
bw.append("1");
else
bw.append("0");
if (bonus.getCd_condizione().compareTo("d") == 0)
bw.append("1");
else
bw.append("0");
if (bonus.getCd_condizione().compareTo("e") == 0)
bw.append("1");
else
bw.append("0");
if (bonus.getCd_condizione().compareTo("f") == 0)
bw.append("1");
else
bw.append("0");
if (bonus.getCd_condizione().compareTo("g") == 0)
bw.append("1");
else
bw.append("0");
if (bonus.getEsercizio_imposta().compareTo(new Integer("2007")) == 0) {
// anno 2007
bw.append("1");
// anno 2008
bw.append("0");
} else {
bw.append("0");
// anno 2008
bw.append("1");
}
// iban
bw.append(Formatta(null, "S", 27, " "));
// data richiesta
GregorianCalendar dataRichiesta = new GregorianCalendar();
dataRichiesta.setTime(new java.util.Date(bonus.getDt_richiesta().getTime()));
String data_ric = Formatta(new Integer(dataRichiesta.get(java.util.Calendar.DAY_OF_MONTH)).toString(), "D", 2, "0").concat(Formatta(new Integer(dataRichiesta.get(java.util.Calendar.MONTH) + 1).toString(), "D", 2, "0") + dataRichiesta.get(java.util.Calendar.YEAR));
bw.append(Formatta(data_ric, "S", 8, "0"));
// firma
bw.append("1");
// intermediario
bw.append(Formatta(null, "S", 16, " "));
bw.append(Formatta(null, "S", 5, " "));
bw.append(Formatta(null, "S", 8, "0"));
bw.append("0");
// flag anomalia
bw.append("0");
bw.append(Formatta(null, "S", 1446, " "));
// codice fiscale persona fisica che effettua l'invio
bw.append(Formatta(sess.recuperaCodiceFiscaleInvio(context.getUserContext()), "S", 16, " "));
bw.append(Formatta(null, "S", 20, " "));
bw.append(Formatta(null, "S", 34, " "));
bw.append("A");
bw.append("\r\n");
// fine Record B
java.util.List det = sess.estraiDettagli(context.getUserContext(), bonus);
Integer prog = 0;
mod = 1;
for (Iterator d = det.iterator(); d.hasNext(); ) {
Bonus_nucleo_famBulk dettaglio = (Bonus_nucleo_famBulk) d.next();
if (prog == 5) {
// totali
if (mod == 1) {
bw.append("BS007004");
bw.append(Formatta((bonus.getIm_reddito_nucleo_f().setScale(0, java.math.BigDecimal.ROUND_HALF_UP)).toString(), "D", 16, " "));
bw.append("BS008001");
bw.append(Formatta((bonus.getIm_bonus().setScale(0, java.math.BigDecimal.ROUND_HALF_UP)).toString(), "D", 16, " "));
}
completaRiga(bw, prog, altro, mod);
mod = mod + 1;
bw.append(Formatta(null, "S", 8, " "));
bw.append("A");
bw.append("\r\n");
prog = 0;
altro = 0;
}
prog = prog + 1;
// record tipo c
if (prog == 1) {
conta_det = conta_det + 1;
bw.append("C");
bw.append(Formatta(bonus.getCodice_fiscale(), "S", 16, " "));
// progressivo modulo
bw.append(Formatta(mod.toString(), "D", 8, "0"));
bw.append(Formatta(null, "S", 3, " "));
bw.append(Formatta(null, "S", 25, " "));
bw.append(Formatta(null, "S", 20, " "));
bw.append(Formatta(null, "S", 16, " "));
if (mod == 1) {
bw.append("BS001004");
// ?? arrotondamenti ???
bw.append(Formatta((bonus.getIm_reddito().setScale(0, java.math.BigDecimal.ROUND_HALF_UP)).toString(), "D", 16, " "));
}
}
if (prog == 1 && dettaglio.getTipo_componente_nucleo().compareTo(Bonus_nucleo_famBulk.CONIUGE) == 0) {
bw.append("BS002001");
bw.append(Formatta("1", "D", 16, " "));
bw.append("BS002003");
bw.append(Formatta(dettaglio.getCf_componente_nucleo(), "S", 16, " "));
bw.append("BS002004");
bw.append(Formatta((dettaglio.getIm_reddito_componente().setScale(0, java.math.BigDecimal.ROUND_HALF_UP)).toString(), "D", 16, " "));
} else if (prog == 1 && dettaglio.getTipo_componente_nucleo().compareTo(Bonus_nucleo_famBulk.CONIUGE) != 0) {
prog = prog + 1;
altro = 1;
}
if (prog != 1 || mod != 1) {
if (prog <= 5) {
bw.append("BS00" + (prog + 1) + "001");
bw.append(Formatta(dettaglio.getTipo_componente_nucleo(), "S", 16, " "));
bw.append("BS00" + (prog + 1) + "003");
bw.append(Formatta(dettaglio.getCf_componente_nucleo(), "S", 16, " "));
bw.append("BS00" + (prog + 1) + "004");
bw.append(Formatta((dettaglio.getIm_reddito_componente().setScale(0, java.math.BigDecimal.ROUND_HALF_UP)).toString(), "D", 16, " "));
}
}
// fine record tipo c
}
// totali
if (mod == 1) {
bw.append("BS007004");
bw.append(Formatta((bonus.getIm_reddito_nucleo_f().setScale(0, java.math.BigDecimal.ROUND_HALF_UP)).toString(), "D", 16, " "));
bw.append("BS008001");
bw.append(Formatta((bonus.getIm_bonus().setScale(0, java.math.BigDecimal.ROUND_HALF_UP)).toString(), "D", 16, " "));
}
completaRiga(bw, prog, altro, mod);
bw.append(Formatta(null, "S", 8, " "));
bw.append("A");
bw.append("\r\n");
prog = 0;
altro = 0;
}
// end loop bonus
// record coda
bw.append("Z");
bw.append(Formatta(null, "S", 14, " "));
bw.append(Formatta(new Integer(lista.size()).toString(), "D", 9, "0"));
bw.append(Formatta(conta_det.toString(), "D", 9, "0"));
bw.append(Formatta(null, "S", 1864, " "));
bw.append("A");
bw.append("\r\n");
// fine Coda
bw.flush();
bw.close();
osw.close();
os.close();
// /
setFile("/tmp/" + f.getName());
} else {
bw.flush();
bw.close();
osw.close();
os.close();
throw new ApplicationException("Non ci sono dati!");
}
} catch (FileNotFoundException e) {
throw new ApplicationException("File non trovato!");
} catch (SQLException e) {
throw new ApplicationException("Errore nel recupero dei dati");
} catch (IllegalArgumentException e) {
throw new ApplicationException("Formato file non valido!");
} catch (IOException e) {
throw new ApplicationException("Errore nella scrittura del file!");
}
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaElettronicaAction method doCRUDModalitaPagamento.
public Forward doCRUDModalitaPagamento(ActionContext context) throws FillException, BusinessProcessException {
CRUDFatturaPassivaElettronicaBP fatturaPassivaElettronicaBP = (CRUDFatturaPassivaElettronicaBP) context.getBusinessProcess();
DocumentoEleTestataBulk bulk = (DocumentoEleTestataBulk) fatturaPassivaElettronicaBP.getModel();
AnagraficoBulk anagrafico = null;
TerzoBulk terzo = null;
if (bulk.getDocumentoEleTrasmissione().getSoggettoEmittente() != null && bulk.getDocumentoEleTrasmissione().getSoggettoEmittente().equals(SoggettoEmittenteType.TZ.value())) {
if (bulk.getDocumentoEleTrasmissione().getIntermediarioCdTerzo() != null) {
anagrafico = bulk.getDocumentoEleTrasmissione().getIntermediarioAnag();
terzo = bulk.getDocumentoEleTrasmissione().getIntermediario();
} else if (bulk.getDocumentoEleTrasmissione().getRappresentanteCdTerzo() != null) {
anagrafico = bulk.getDocumentoEleTrasmissione().getRappresentanteAnag();
terzo = bulk.getDocumentoEleTrasmissione().getRappresentante();
} else {
anagrafico = bulk.getDocumentoEleTrasmissione().getPrestatoreAnag();
terzo = bulk.getDocumentoEleTrasmissione().getPrestatore();
}
} else {
anagrafico = bulk.getDocumentoEleTrasmissione().getPrestatoreAnag();
terzo = bulk.getDocumentoEleTrasmissione().getPrestatore();
}
FormField formfield = getFormField(context, "main.modalitaPagamento");
try {
CRUDTerzoBP nbp = (CRUDTerzoBP) context.createBusinessProcess("CRUDTerzoBP", new Object[] { "M", anagrafico });
nbp.basicEdit(context, terzo, true);
nbp.setTab("tab", "tabModalitaPagamento");
context.addHookForward("bringback", this, "doBringBackCRUD");
HookForward hookforward = (HookForward) context.findForward("bringback");
hookforward.addParameter("field", formfield);
nbp.setBringBack(true);
return context.addBusinessProcess(nbp);
} catch (Throwable e) {
return handleException(context, e);
}
}
Aggregations