use of it.cnr.contab.anagraf00.core.bulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDCompensoAction method doCreaObbligazione.
public Forward doCreaObbligazione(ActionContext context) {
try {
fillModel(context);
CRUDCompensoBP bp = (CRUDCompensoBP) getBusinessProcess(context);
CompensoBulk compenso = (CompensoBulk) bp.getModel();
context.addHookForward("bringback", this, "doBringBackOpenObbligazioniWindow");
context.addHookForward("close", this, "doBringBackOpenObbligazioniWindow");
it.cnr.contab.doccont00.bp.CRUDObbligazioneBP obbligazioneBP = (it.cnr.contab.doccont00.bp.CRUDObbligazioneBP) context.getUserInfo().createBusinessProcess(context, "CRUDObbligazioneBP", new Object[] { "MRSWTh" });
obbligazioneBP.reset(context);
ObbligazioneBulk obbligazione = (ObbligazioneBulk) obbligazioneBP.getModel();
obbligazione.setStato_obbligazione(ObbligazioneOrdBulk.STATO_OBB_DEFINITIVO);
obbligazione.setCreditore(compenso.getTerzo() != null ? compenso.getTerzo() : new it.cnr.contab.anagraf00.core.bulk.TerzoBulk());
obbligazione.setDs_obbligazione("Impegno per compenso");
obbligazione.setDt_registrazione(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate());
obbligazione.setFl_calcolo_automatico(Boolean.TRUE);
obbligazione.setIm_obbligazione(compenso.getImportoObbligazione());
obbligazione.setRiportato("N");
Obbligazione_scadenzarioBulk scadenza = new Obbligazione_scadenzarioBulk(obbligazione);
obbligazione.addToObbligazione_scadenzarioColl(scadenza);
scadenza.setDs_scadenza("Scadenza per compenso");
scadenza.setDt_scadenza(new java.sql.Timestamp(System.currentTimeMillis()));
scadenza.setIm_scadenza(compenso.getImportoObbligazione());
scadenza.setUser(obbligazione.getUser());
scadenza.setToBeCreated();
return context.addBusinessProcess(obbligazioneBP);
} catch (Throwable ex) {
return handleException(context, ex);
}
}
use of it.cnr.contab.anagraf00.core.bulk in project sigla-main by consiglionazionaledellericerche.
the class Movimento_cogeBulk method initializeForSearch.
/**
* Inizializza il ricevente per la visualizzazione in un <code>FormController</code>
* in stato <code>SEARCH</code>.
* Questo metodo viene invocato automaticamente da un
* <code>it.cnr.jada.util.action.CRUDBP</code> quando viene inizializzato
* per la ricerca di un OggettoBulk.
*/
public OggettoBulk initializeForSearch(it.cnr.jada.util.action.CRUDBP bp, it.cnr.jada.action.ActionContext context) {
setEsercizio(((it.cnr.contab.utenze00.bp.CNRUserContext) context.getUserContext()).getEsercizio());
setCd_cds(((it.cnr.contab.utenze00.bp.CNRUserContext) context.getUserContext()).getCd_cds());
getScrittura().setUo(it.cnr.contab.utenze00.bulk.CNRUserInfo.getUnita_organizzativa(context));
getScrittura().setTerzo(new it.cnr.contab.anagraf00.core.bulk.TerzoBulk());
return this;
}
use of it.cnr.contab.anagraf00.core.bulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaElettronicaBP method rifiutaFatturaConPEC.
public void rifiutaFatturaConPEC(ActionContext context, DocumentoEleTestataBulk bulk, RifiutaFatturaBulk rifiutaFatturaBulk) throws BusinessProcessException {
try {
if (isDirty()) {
save(context);
bulk = (DocumentoEleTestataBulk) createComponentSession().inizializzaBulkPerModifica(context.getUserContext(), bulk);
}
TerzoBulk prestatore = Optional.ofNullable(bulk.getDocumentoEleTrasmissione().getPrestatore()).orElseThrow(() -> new ApplicationException("Valorizzare il terzo cedente/prestatore"));
TerzoBulk terzoPerUnitaOrganizzativa = ((it.cnr.contab.anagraf00.ejb.TerzoComponentSession) createComponentSession("CNRANAGRAF00_EJB_TerzoComponentSession")).cercaTerzoPerUnitaOrganizzativa(context.getUserContext(), bulk.getDocumentoEleTrasmissione().getUnitaOrganizzativa());
Numerazione_baseComponentSession numerazione = (Numerazione_baseComponentSession) EJBCommonServices.createEJB("CNRCONFIG00_TABNUM_EJB_Numerazione_baseComponentSession");
boolean isNota = bulk.getTipoDocumento().equalsIgnoreCase(TipoDocumentoType.TD_04.value());
Format dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Print_spoolerBulk print = new Print_spoolerBulk();
print.setPgStampa(UUID.randomUUID().getLeastSignificantBits());
print.setFlEmail(false);
print.setReport("/docamm/docamm/rifiuto_fattura_elettronica.jasper");
print.setNomeFile("Comunicazione di non registrabilità del ".concat(LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy"))).concat(".pdf"));
print.setUtcr(context.getUserContext().getUser());
print.addParam("title", Optional.ofNullable(rifiutaFatturaBulk.getMessageText()).filter(s -> !isNota).map(s -> "Richiesta storno Documento Elettronico").orElseGet(() -> "Rifiuto Documento Elettronico"), String.class);
print.addParam("message", rifiutaFatturaBulk.getMessage(), String.class);
print.addParam("note", rifiutaFatturaBulk.getNote(), String.class);
print.addParam("is_nota", isNota, Boolean.class);
print.addParam("codice_uo", bulk.getDocumentoEleTrasmissione().getUnitaOrganizzativa().getCd_unita_organizzativa(), String.class);
print.addParam("descrizione_uo", bulk.getDocumentoEleTrasmissione().getUnitaOrganizzativa().getDs_unita_organizzativa(), String.class);
print.addParam("codice_cuu", terzoPerUnitaOrganizzativa.getCodiceUnivocoUfficioIpa(), String.class);
print.addParam("denominazione_sede", prestatore.getDenominazione_sede(), String.class);
print.addParam("pec", rifiutaFatturaBulk.getEmailPEC(), String.class);
print.addParam("tipo_documento", DocumentoEleTestataBulk.tiTipoDocumentoKeys.get(bulk.getTipoDocumento()), String.class);
print.addParam("identificativo_sdi", bulk.getIdentificativoSdi(), Long.class);
print.addParam("numero_documento", bulk.getNumeroDocumento(), String.class);
print.addParam("data_documento", bulk.getDataDocumento(), Date.class, dateFormat);
print.addParam("data_ricezione", bulk.getDocumentoEleTrasmissione().getDataRicezione(), Date.class, dateFormat);
Report report = SpringUtil.getBean("printService", PrintService.class).executeReport(context.getUserContext(), print);
LocalDateTime now = LocalDateTime.now();
int esercizio = now.getYear();
Long numProtocollo = numerazione.creaNuovoProgressivo(context.getUserContext(), esercizio, "RIFIUTO_FATTURA_PEC", "NUM_PROTOCOLLO", CNRUserContext.getUser(context.getUserContext()));
AllegatoNonRegistrabilitaBulk allegatoNonRegistrabilitaBulk = new AllegatoNonRegistrabilitaBulk();
allegatoNonRegistrabilitaBulk.setNome(report.getName());
allegatoNonRegistrabilitaBulk.setUtenteSIGLA(CNRUserContext.getUser(context.getUserContext()));
allegatoNonRegistrabilitaBulk.setAnnoProtocollo(esercizio);
allegatoNonRegistrabilitaBulk.setNumeroProtocollo(Utility.lpad(numProtocollo, 6, '0'));
allegatoNonRegistrabilitaBulk.setDataProtocollo(Date.from(now.toInstant(ZoneOffset.UTC)));
allegatoNonRegistrabilitaBulk.setTitolo("Allegato inviato al seguente indirizzo email: " + rifiutaFatturaBulk.getEmailPEC());
final StorageObject storageObject = SpringUtil.getBean("storeService", StoreService.class).restoreSimpleDocument(allegatoNonRegistrabilitaBulk, report.getInputStream(), report.getContentType(), report.getName(), Optional.ofNullable(getStorePath(bulk, false)).orElseThrow(() -> new ApplicationException("Path sul documentale non trovato, contattare il supporto Help Desk!")), false);
FatturaPassivaElettronicaService fatturaPassivaElettronicaService = SpringUtil.getBean("fatturaPassivaElettronicaService", FatturaPassivaElettronicaService.class);
fatturaPassivaElettronicaService.inviaPECFornitore(context.getUserContext(), new ByteArrayDataSource(storeService.getResource(storageObject.getKey()), MimeTypes.PDF.mimetype()), report.getName(), rifiutaFatturaBulk.getEmailPEC(), Optional.ofNullable(rifiutaFatturaBulk.getMessageText()).filter(s -> !isNota).map(s -> "Richiesta Storno documento elettronico ricevuto IdentificativoSdI: ").orElseGet(() -> "Rifiuto documento elettronico ricevuto IdentificativoSdI: ").concat(bulk.getIdentificativoSdi().toString()), Optional.ofNullable(rifiutaFatturaBulk.getMessageText()).filter(s -> !isNota).map(s -> "Richiesta Storno documento elettronico ricevuto. ").orElseGet(() -> "Rifiuto documento elettronico ricevuto. ").concat("Informazioni del rifiuto e riferimenti del documento in allegato." + "\n\nNota: questa è un'e-mail generata automaticamente e non avremo la possibilità di " + "leggere eventuali e-mail di risposta. Non rispondere a questo messaggio."));
bulk.setFlIrregistrabile("S");
if (isNota) {
bulk.setStatoDocumento(StatoDocumentoEleEnum.RIFIUTATA_CON_PEC.name());
} else {
bulk.setStatoDocumento(StatoDocumentoEleEnum.DA_STORNARE.name());
}
bulk.setToBeUpdated();
OggettoBulk oggettoBulk = getComponentSession().modificaConBulk(context.getUserContext(), bulk);
if (!Optional.ofNullable(getEMailPEC(context)).isPresent()) {
TelefonoBulk telefonoBulk = new TelefonoBulk();
telefonoBulk.setTerzo(prestatore);
telefonoBulk.setRiferimento(rifiutaFatturaBulk.getEmailPEC());
telefonoBulk.setTi_riferimento(TelefonoBulk.PEC);
telefonoBulk.setFattElettronica(Boolean.TRUE);
telefonoBulk.setToBeCreated();
getComponentSession().creaConBulk(context.getUserContext(), telefonoBulk);
}
setMessage("Comunicazione inviata correttamente.");
edit(context, oggettoBulk);
} catch (ComponentException | IOException | EmailException | BusyResourceException | ValidationException e) {
throw handleException(e);
}
}
use of it.cnr.contab.anagraf00.core.bulk in project sigla-main by consiglionazionaledellericerche.
the class FatturaPassivaComponent method completaFornitore.
// ^^@@
/**
* Normale.
* PreCondition:
* Vengono richiesti i dati relativi al fornitore della fattura passiva
* PostCondition:
* vengono trasmessi i dati relativi al fornitore.
*/
// ^^@@
public Fattura_passivaBulk completaFornitore(it.cnr.jada.UserContext uc, Fattura_passivaBulk fattura_passiva, it.cnr.contab.anagraf00.core.bulk.TerzoBulk fornitoreTrovato) throws ComponentException {
try {
if (fattura_passiva != null) {
if (fattura_passiva.isEstera()) {
if (fattura_passiva.getFl_extra_ue() != null && fattura_passiva.getFl_extra_ue().booleanValue() && !it.cnr.contab.anagraf00.tabter.bulk.NazioneBulk.EXTRA_CEE.equalsIgnoreCase(fornitoreTrovato.getAnagrafico().getTi_italiano_estero()))
throw new it.cnr.jada.comp.ApplicationException("La fattura è estera. La nazionalità del fornitore deve appartenere ad uno Stato extra UE.");
if (fattura_passiva.getFl_intra_ue() != null && fattura_passiva.getFl_intra_ue().booleanValue() && !it.cnr.contab.anagraf00.tabter.bulk.NazioneBulk.CEE.equalsIgnoreCase(fornitoreTrovato.getAnagrafico().getTi_italiano_estero()))
throw new it.cnr.jada.comp.ApplicationException("La fattura è estera. La nazionalità del fornitore deve appartenere ad uno Stato intra UE.");
AnagraficoComponentSession sess = (AnagraficoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class);
if (fattura_passiva.getFl_intra_ue() != null && fattura_passiva.getFl_intra_ue().booleanValue() && !sess.verificaStrutturaPiva(uc, fornitoreTrovato.getAnagrafico()))
throw new it.cnr.jada.comp.ApplicationException("Verificare la partita Iva del fornitore non corrisponde al modello della sua nazionalità.");
}
fattura_passiva.setFornitore(fornitoreTrovato);
fattura_passiva.setNome(fornitoreTrovato.getAnagrafico().getNome());
fattura_passiva.setCognome(fornitoreTrovato.getAnagrafico().getCognome());
fattura_passiva.setRagione_sociale(fornitoreTrovato.getAnagrafico().getRagione_sociale());
fattura_passiva.setCodice_fiscale(fornitoreTrovato.getAnagrafico().getCodice_fiscale());
if (fattura_passiva.getPartita_iva() != null) {
it.cnr.contab.anagraf00.core.bulk.AnagraficoHome home = (it.cnr.contab.anagraf00.core.bulk.AnagraficoHome) getHome(uc, AnagraficoBulk.class);
Collection coll = home.findGruppiIvaAssociati(fornitoreTrovato.getAnagrafico());
Boolean trovato = false;
if (coll != null && !coll.isEmpty()) {
for (java.util.Iterator i = coll.iterator(); i.hasNext(); ) {
AssGruppoIvaAnagBulk assGruppoIvaAnagBulk = (AssGruppoIvaAnagBulk) i.next();
AnagraficoBulk anagraficoBulk = (AnagraficoBulk) home.findByPrimaryKey(assGruppoIvaAnagBulk.getAnagraficoGruppoIva());
if (anagraficoBulk != null && anagraficoBulk.isGruppoIVA() && fattura_passiva.getDt_fattura_fornitore().compareTo(anagraficoBulk.getDtIniValGruppoIva()) > 0 && fattura_passiva.getDt_fattura_fornitore().compareTo(anagraficoBulk.getDt_canc()) < 0 && anagraficoBulk.getPartita_iva().compareTo(fattura_passiva.getPartita_iva()) == 0) {
trovato = true;
}
}
}
if (!trovato) {
fattura_passiva.setPartita_iva(fornitoreTrovato.getAnagrafico().getPartita_iva());
}
} else {
fattura_passiva.setPartita_iva(fornitoreTrovato.getAnagrafico().getPartita_iva());
}
it.cnr.contab.anagraf00.core.bulk.TerzoHome home = (it.cnr.contab.anagraf00.core.bulk.TerzoHome) getHome(uc, fornitoreTrovato);
try {
fattura_passiva.setTermini(findTermini(uc, fattura_passiva));
fattura_passiva.setModalita(findModalita(uc, fattura_passiva));
fattura_passiva.setTermini_pagamento(null);
fattura_passiva.setModalita_pagamento(null);
fattura_passiva.setBanca(null);
fattura_passiva.setBanche(null);
fattura_passiva.setCessionario(null);
} catch (it.cnr.jada.persistency.PersistencyException e) {
throw handleException(e);
} catch (it.cnr.jada.persistency.IntrospectionException e) {
throw handleException(e);
}
// Aggiorno le righe
if (fattura_passiva.getFattura_passiva_dettColl() != null) {
Iterator dettagli = fattura_passiva.getFattura_passiva_dettColl().iterator();
while (dettagli.hasNext()) {
Fattura_passiva_rigaBulk riga = (Fattura_passiva_rigaBulk) dettagli.next();
if (!riga.getFornitore().equalsByPrimaryKey(fattura_passiva.getFornitore())) {
riga.setFornitore(fattura_passiva.getFornitore());
riga.setTermini(fattura_passiva.getTermini());
riga.setModalita(fattura_passiva.getModalita());
riga.setTermini_pagamento(null);
riga.setModalita_pagamento(null);
riga.setBanca(null);
riga.setBanche(null);
riga.setCessionario(null);
riga.setToBeUpdated();
}
}
}
}
} catch (ValidationException e) {
throw new ApplicationException(e.getMessage());
} catch (Throwable t) {
throw handleException(fattura_passiva, t);
}
return fattura_passiva;
}
use of it.cnr.contab.anagraf00.core.bulk 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!");
}
}
Aggregations