use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class ElaboraFileIntraBP method doElaboraFile.
public void doElaboraFile(ActionContext context, VIntrastatBulk dett, Boolean invio) throws BusinessProcessException, ComponentException, PersistencyException, IntrospectionException {
try {
setInvio(invio);
dett.setNrProtocolloAcq(null);
dett.setNrProtocolloVen(null);
AnagraficoComponentSession sess = (AnagraficoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class);
AnagraficoBulk ente = sess.getAnagraficoEnte(context.getUserContext());
java.util.List lista = ((ElaboraFileIntraComponentSession) createComponentSession()).EstraiLista(context.getUserContext(), getModel());
it.cnr.contab.config00.bulk.Configurazione_cnrBulk config = null;
try {
config = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(context.getUserContext(), it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()), null, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.PK_COSTANTI, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.SK_MODELLO_INTRASTAT);
} catch (RemoteException e) {
throw new ComponentException(e);
} catch (EJBException e) {
throw new ComponentException(e);
}
if (config.getVal02() == null)
throw new ApplicationException("Codice utente abilitato non configurato");
File f;
if (invio) {
f = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", // codice utente abilitato
Formatta(config.getVal02(), "S", 4, " ") + Formatta(new Integer(EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.MONTH) + 1).toString(), "D", 2, "0") + Formatta(new Integer(EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.DAY_OF_MONTH)).toString(), "D", 2, "0") + ".I01");
} else {
f = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", "scambi.cee");
}
OutputStream os = (OutputStream) new FileOutputStream(f);
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
if (!lista.isEmpty()) {
java.util.List listaSezioneUnoAcquisti = ((ElaboraFileIntraComponentSession) createComponentSession()).SezioneUnoAcquisti(context.getUserContext(), getModel());
java.util.List listaSezioneDueAcquisti = ((ElaboraFileIntraComponentSession) createComponentSession()).SezioneDueAcquisti(context.getUserContext(), getModel());
java.util.List listaSezioneTreAcquisti = ((ElaboraFileIntraComponentSession) createComponentSession()).SezioneTreAcquisti(context.getUserContext(), getModel());
java.util.List listaSezioneQuattroAcquisti = ((ElaboraFileIntraComponentSession) createComponentSession()).SezioneQuattroAcquisti(context.getUserContext(), getModel());
java.util.List listaSezioneUnoVendite = ((ElaboraFileIntraComponentSession) createComponentSession()).SezioneUnoVendite(context.getUserContext(), getModel());
java.util.List listaSezioneDueVendite = ((ElaboraFileIntraComponentSession) createComponentSession()).SezioneDueVendite(context.getUserContext(), getModel());
java.util.List listaSezioneTreVendite = ((ElaboraFileIntraComponentSession) createComponentSession()).SezioneTreVendite(context.getUserContext(), getModel());
java.util.List listaSezioneQuattroVendite = ((ElaboraFileIntraComponentSession) createComponentSession()).SezioneQuattroVendite(context.getUserContext(), getModel());
String P_iva = Formatta(ente.getPartita_iva(), "D", 11, "0");
if (invio) {
// File invio
// codice utente abilitato
bw.append(Formatta(config.getVal02(), "S", 4, " "));
// riservata SDA
bw.append(Formatta(null, "S", 12, " "));
// Nome del flusso
// codice utente abilitato
bw.append(Formatta(config.getVal02(), "S", 4, " "));
bw.append(Formatta(new Integer(EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.MONTH) + 1).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.DAY_OF_MONTH)).toString(), "D", 2, "0"));
// nome file
bw.append(".");
// tipo file Dichiarazioni Intrastat
bw.append("I");
// progressivo dell'interchange
bw.append("01");
// fine del nome del flusso
// riservata SDA
bw.append(Formatta(null, "S", 12, " "));
if (config.getVal01() == null)
throw new ApplicationException("Codice sezione doganale non configurato");
bw.append(Formatta(config.getVal01(), "D", 6, "0"));
// riservata SDA
bw.append(Formatta(null, "S", 4, " "));
bw.append(Formatta(P_iva, "S", 16, " "));
if (config.getVal03() == null)
throw new ApplicationException("Progressivo sede utente abilitato non configurato");
// progressivo sede
bw.append(Formatta(config.getVal03(), "D", 3, "0"));
// riservata SDA
bw.append(Formatta(null, "S", 1, " "));
Integer cont = ((listaSezioneUnoAcquisti.size() + listaSezioneDueAcquisti.size() + listaSezioneTreAcquisti.size() + listaSezioneQuattroAcquisti.size()) == new Integer(0) ? 0 : 1) + ((listaSezioneUnoVendite.size() + listaSezioneDueVendite.size() + listaSezioneTreVendite.size() + listaSezioneQuattroVendite.size()) == new Integer(0) ? 0 : 1) + +listaSezioneUnoAcquisti.size() + listaSezioneDueAcquisti.size() + listaSezioneTreAcquisti.size() + listaSezioneQuattroAcquisti.size() + listaSezioneUnoVendite.size() + listaSezioneDueVendite.size() + listaSezioneTreVendite.size() + listaSezioneQuattroVendite.size() + 1;
// conteggio totale + frontespizi + testata
bw.append(Formatta(cont.toString(), "D", 5, "0"));
bw.append("\r\n");
}
// parte iniziale fissa
Integer prot = 0;
if (!listaSezioneUnoAcquisti.isEmpty() || !listaSezioneDueAcquisti.isEmpty() || !listaSezioneTreAcquisti.isEmpty() || !listaSezioneQuattroAcquisti.isEmpty()) {
bw.append(new String("EUROX"));
bw.append(P_iva);
prot = config.getIm01().intValue() + 1;
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Tipo record Frontespizio
bw.append("0");
// progressivo riga di dettaglio per frontespizio 0
bw.append(Formatta("0", "D", 5, "0"));
// Tipo frontespizio Acquisti
bw.append("A");
// Tipo frontespizio Acquisti
bw.append(it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()).toString().substring(2));
// Periodicità mensile
bw.append("M");
bw.append(Formatta(dett.getMese().toString(), "D", 2, "0"));
bw.append(P_iva);
// 0=operazione sono riferite al mese o trimestre completo 9(1)
bw.append("0");
// 0=nessun caso particolare 9(1)
bw.append("0");
// partita iva delegato
bw.append(Formatta(null, "D", 11, "0"));
Integer conta_det = 0;
java.math.BigInteger somma_det = new java.math.BigInteger("0");
if (!listaSezioneUnoAcquisti.isEmpty()) {
conta_det = listaSezioneUnoAcquisti.size();
for (Iterator i = listaSezioneUnoAcquisti.iterator(); i.hasNext(); ) {
VIntrastatBulk det = (VIntrastatBulk) i.next();
somma_det = somma_det.add(new java.math.BigInteger(det.getAmmontareEuro().toString()));
}
}
// numero det sez1 acq
bw.append(Formatta(conta_det.toString(), "D", 5, "0"));
// somma_det sez1 acq
bw.append(Formatta(somma_det.toString(), "D", 13, "0"));
somma_det = new java.math.BigInteger("0");
conta_det = 0;
if (!listaSezioneDueAcquisti.isEmpty()) {
conta_det = listaSezioneDueAcquisti.size();
for (Iterator i = listaSezioneDueAcquisti.iterator(); i.hasNext(); ) {
VIntrastatBulk det = (VIntrastatBulk) i.next();
if (det.getPgStorico() != null && det.getNrProtocollo() != null)
somma_det = somma_det.subtract(new java.math.BigInteger(det.getAmmontareEuro().toString()));
else
somma_det = somma_det.add(new java.math.BigInteger(det.getAmmontareEuro().toString()));
}
}
// numero det sez2 acq
bw.append(Formatta(conta_det.toString(), "D", 5, "0"));
// caso particolare
if (somma_det.compareTo(BigInteger.ZERO) >= 0)
// somma_det sez2 acq
bw.append(Formatta(somma_det.toString(), "D", 13, "0"));
else {
switch(new Integer(somma_det.toString().substring(somma_det.toString().length() - 1, somma_det.toString().length())).intValue()) {
case 0:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("p"), "D", 13, "0").toLowerCase());
break;
case 1:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("q"), "D", 13, "0").toLowerCase());
break;
case 2:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("r"), "D", 13, "0").toLowerCase());
break;
case 3:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("s"), "D", 13, "0").toLowerCase());
break;
case 4:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("t"), "D", 13, "0").toLowerCase());
break;
case 5:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("u"), "D", 13, "0").toLowerCase());
break;
case 6:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("v"), "D", 13, "0").toLowerCase());
break;
case 7:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("w"), "D", 13, "0").toLowerCase());
break;
case 8:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("x"), "D", 13, "0").toLowerCase());
break;
case 9:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("y"), "D", 13, "0").toLowerCase());
break;
default:
break;
}
}
somma_det = new java.math.BigInteger("0");
conta_det = 0;
if (!listaSezioneTreAcquisti.isEmpty()) {
conta_det = listaSezioneTreAcquisti.size();
for (Iterator i = listaSezioneTreAcquisti.iterator(); i.hasNext(); ) {
VIntrastatBulk det = (VIntrastatBulk) i.next();
somma_det = somma_det.add(new java.math.BigInteger(det.getAmmontareEuro().toString()));
}
}
// numero det sez3 acq
bw.append(Formatta(conta_det.toString(), "D", 5, "0"));
// somma_det sez3 acq
bw.append(Formatta(somma_det.toString(), "D", 13, "0"));
somma_det = new java.math.BigInteger("0");
conta_det = 0;
if (!listaSezioneQuattroAcquisti.isEmpty()) {
conta_det = listaSezioneQuattroAcquisti.size();
for (Iterator i = listaSezioneQuattroAcquisti.iterator(); i.hasNext(); ) {
VIntrastatBulk det = (VIntrastatBulk) i.next();
somma_det = somma_det.subtract(new java.math.BigInteger(det.getAmmontareEuro().toString()));
}
}
// numero det sez4 acq
bw.append(Formatta(conta_det.toString(), "D", 5, "0"));
// somma_det sez4 acq
bw.append(Formatta(somma_det.toString(), "D", 13, "0"));
bw.append("\r\n");
}
Integer conta = 0;
if (!listaSezioneUnoAcquisti.isEmpty()) {
for (Iterator i = listaSezioneUnoAcquisti.iterator(); i.hasNext(); ) {
conta = conta + 1;
VIntrastatBulk det = (VIntrastatBulk) i.next();
// parte fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Sezione Uno Acquisti
bw.append("1");
// numero progressivo
bw.append(Formatta(conta.toString(), "D", 5, "0"));
// nazione fornitore
bw.append(Formatta(det.getNazFiscale(), "S", 2, " "));
bw.append(Formatta(det.getPartitaIva(), "S", 12, " "));
bw.append(Formatta(new BigDecimal(det.getAmmontareEuro()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(new BigDecimal(det.getAmmontareDivisa()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(det.getCdNaturaTransazione(), "S", 1, " "));
bw.append(Formatta(det.getCdNomenclaturaCombinata(), "D", 8, "0"));
bw.append(Formatta(new BigDecimal(det.getMassaNetta()).abs().toString(), "D", 10, "0"));
bw.append(Formatta(new BigDecimal(det.getUnitaSupplementari()).abs().toString(), "D", 10, "0"));
bw.append(Formatta(new BigDecimal(det.getValoreStatistico()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(det.getCdConsegna(), "S", 1, " "));
bw.append(Formatta(det.getCdModalitaTrasporto(), "D", 1, "0"));
bw.append(Formatta(det.getProvenienza(), "S", 2, " "));
bw.append(Formatta(det.getOrigine(), "S", 2, " "));
bw.append(Formatta(det.getCdProvinciaDestinazione(), "S", 2, " "));
// Campo aggiunto per sdoppiamento colonna natura della transazione
bw.append(Formatta("", "S", 1, " "));
bw.append("\r\n");
}
}
conta = 0;
if (!listaSezioneDueAcquisti.isEmpty()) {
for (Iterator i = listaSezioneDueAcquisti.iterator(); i.hasNext(); ) {
conta = conta + 1;
VIntrastatBulk det = (VIntrastatBulk) i.next();
// parte fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Sezione Due Acquisti
bw.append("2");
// numero progressivo
bw.append(Formatta(conta.toString(), "D", 5, "0"));
// fine parte fissa
// DA VERIFICARE
// mese
bw.append(Formatta(det.getMese().toString(), "D", 2, "0"));
// Calcolo trimestre non serve
/*BigDecimal resto =new BigDecimal(det.getMese().toString()).remainder(new BigDecimal("3"));
BigInteger trim_i =new BigInteger(det.getMese().toString()).divide(new BigInteger("3"));
if(resto.compareTo(BigDecimal.ZERO)==0)
bw.append(trim_i.toString());//trimestre
else
bw.append(trim_i.add(new BigInteger("1")).toString());//trimestre
*/
// trimestre
bw.append("0");
//
bw.append(det.getEsercizio().toString().substring(2));
// Fine da verificare
// nazione fornitore
bw.append(Formatta(det.getNazFiscale(), "S", 2, " "));
bw.append(Formatta(det.getPartitaIva(), "S", 12, " "));
/*if (new BigDecimal(det.getAmmontareEuro()).abs().compareTo(new BigDecimal(det.getAmmontareEuro()))==0)
bw.append("+");
else
bw.append("-");*/
if (det.getPgStorico() != null && det.getNrProtocollo() != null)
bw.append("-");
else
bw.append("+");
bw.append(Formatta(new BigDecimal(det.getAmmontareEuro()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(new BigDecimal(det.getAmmontareDivisa()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(det.getCdNaturaTransazione(), "S", 1, " "));
bw.append(Formatta(det.getCdNomenclaturaCombinata(), "D", 8, "0"));
bw.append(Formatta(new BigDecimal(det.getValoreStatistico()).abs().toString(), "D", 13, "0"));
bw.append("\r\n");
}
}
conta = 0;
if (!listaSezioneTreAcquisti.isEmpty()) {
for (Iterator i = listaSezioneTreAcquisti.iterator(); i.hasNext(); ) {
conta = conta + 1;
VIntrastatBulk det = (VIntrastatBulk) i.next();
// parte fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Sezione Tre Acquisti
bw.append("3");
// numero progressivo
bw.append(Formatta(conta.toString(), "D", 5, "0"));
// fine parte fissa
// nazione fornitore
bw.append(Formatta(det.getNazFiscale(), "S", 2, " "));
bw.append(Formatta(det.getPartitaIva(), "S", 12, " "));
bw.append(Formatta(new BigDecimal(det.getAmmontareEuro()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(new BigDecimal(det.getAmmontareDivisa()).abs().toString(), "D", 13, "0"));
// bw.append(Formatta(det.getNrFattura(),"S",15," "));
bw.append(Formatta(null, "S", 15, " "));
// bw.append(Formatta(det.getDtFattura(),"S",6," "));
bw.append(Formatta(null, "S", 6, " "));
bw.append(Formatta(det.getCdCpa(), "D", 5, "0"));
// diminuzione 1 carattere codice cpa
bw.append(Formatta(null, "S", 1, "0"));
// bw.append(Formatta(det.getCdModalitaErogazione(),"S",1," "));
bw.append(Formatta(null, "S", 1, " "));
// bw.append(Formatta(det.getCdModalitaIncasso(),"S",1," "));
bw.append(Formatta(null, "S", 1, " "));
bw.append(Formatta(det.getProvenienza(), "S", 2, " "));
bw.append("\r\n");
}
}
conta = 0;
if (!listaSezioneQuattroAcquisti.isEmpty()) {
for (Iterator i = listaSezioneQuattroAcquisti.iterator(); i.hasNext(); ) {
conta = conta + 1;
VIntrastatBulk det = (VIntrastatBulk) i.next();
// parte fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Sezione Quattro Acquisti
bw.append("4");
// numero progressivo
bw.append(Formatta(conta.toString(), "D", 5, "0"));
if (config.getVal01() == null)
throw new ApplicationException("Codice sezione doganale non configurato");
bw.append(Formatta(config.getVal01(), "D", 6, "0"));
// anno elenco rettifica
bw.append(det.getEsercizio().toString().substring(2));
if (det.getNrProtocollo() != null)
// protocollo elenco rettifica
bw.append(Formatta(det.getNrProtocollo().toString(), "D", 6, "0"));
else
// protocollo elenco rettifica
bw.append(Formatta("0", "D", 6, "0"));
if (det.getNrProgressivo() != null)
// progressivo della sezione 3 da rettificare
bw.append(Formatta(det.getNrProgressivo().toString(), "D", 5, "0"));
else
// progressivo della sezione 3 da rettificare
bw.append(Formatta("0", "D", 5, "0"));
// ???????????????????????????????????????????????????????
// per la cancellazione non devono essere valorizzati questi campi
// nazione fornitore //bw.append(Formatta(det.getNazFiscale(),"S",2," "));
bw.append(Formatta(null, "S", 2, " "));
// bw.append(Formatta(det.getPartitaIva(),"S",12," "));
bw.append(Formatta(null, "S", 12, " "));
// bw.append(Formatta(new BigDecimal(det.getAmmontareEuro()).abs().toString(),"D",13,"0"));
bw.append(Formatta(null, "D", 13, "0"));
// bw.append(Formatta(new BigDecimal(det.getAmmontareDivisa()).abs().toString(),"D",13,"0"));
bw.append(Formatta(null, "D", 13, "0"));
// bw.append(Formatta(det.getNrFattura(),"S",15," "));
bw.append(Formatta(null, "S", 15, " "));
// bw.append(Formatta(det.getDtFattura(),"S",6," "));
bw.append(Formatta(null, "S", 6, " "));
bw.append(Formatta(null, "D", 5, "0"));
// diminuzione 1 carattere codice cpa
bw.append(Formatta(null, "S", 1, "0"));
// bw.append(Formatta(det.getCdModalitaErogazione(),"S",1," "));
bw.append(Formatta(null, "S", 1, " "));
// bw.append(Formatta(det.getCdModalitaIncasso(),"S",1," "));
bw.append(Formatta(null, "S", 1, " "));
// bw.append(Formatta(det.getProvenienza(),"S",2," "));
bw.append(Formatta(null, "S", 2, " "));
bw.append("\r\n");
}
}
// VENDITE
if (!listaSezioneUnoVendite.isEmpty() || !listaSezioneDueVendite.isEmpty() || !listaSezioneTreVendite.isEmpty() || !listaSezioneQuattroVendite.isEmpty()) {
if (prot != 0)
prot = prot + 1;
else
prot = config.getIm01().intValue() + 1;
// parte iniziale fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
// Progressivo invio
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Tipo record Frontespizio
bw.append("0");
// progressivo riga di dettaglio per frontespizio 0
bw.append(Formatta("0", "D", 5, "0"));
// Tipo frontespizio Cessioni
bw.append("C");
// Tipo frontespizio VEndite
bw.append(it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()).toString().substring(2));
// Periodicità mensile
bw.append("M");
bw.append(Formatta(dett.getMese().toString(), "D", 2, "0"));
bw.append(P_iva);
// 0=operazione sono riferite al mese o trimestre completo 9(1)
bw.append("0");
// 0=nessun caso particolare 9(1)
bw.append("0");
// partita iva delegato
bw.append(Formatta(null, "S", 11, "0"));
Integer conta_det = 0;
java.math.BigInteger somma_det = new java.math.BigInteger("0");
if (!listaSezioneUnoVendite.isEmpty()) {
conta_det = listaSezioneUnoVendite.size();
for (Iterator i = listaSezioneUnoVendite.iterator(); i.hasNext(); ) {
VIntrastatBulk det = (VIntrastatBulk) i.next();
somma_det = somma_det.add(new java.math.BigInteger(det.getAmmontareEuro().toString()));
}
}
// numero det sez1 ven
bw.append(Formatta(conta_det.toString(), "D", 5, "0"));
// somma_det sez1 ven
bw.append(Formatta(somma_det.toString(), "D", 13, "0"));
somma_det = new java.math.BigInteger("0");
conta_det = 0;
if (!listaSezioneDueVendite.isEmpty()) {
conta_det = listaSezioneDueVendite.size();
for (Iterator i = listaSezioneDueVendite.iterator(); i.hasNext(); ) {
VIntrastatBulk det = (VIntrastatBulk) i.next();
if (det.getPgStorico() != null && det.getNrProtocollo() != null)
somma_det = somma_det.subtract(new java.math.BigInteger(det.getAmmontareEuro().toString()));
else
somma_det = somma_det.add(new java.math.BigInteger(det.getAmmontareEuro().toString()));
}
}
// numero det sez2 ven
bw.append(Formatta(conta_det.toString(), "D", 5, "0"));
// caso particolare
if (somma_det.compareTo(BigInteger.ZERO) >= 0)
// somma_det sez2 ven
bw.append(Formatta(somma_det.toString(), "D", 13, "0"));
else {
switch(new Integer(somma_det.toString().substring(somma_det.toString().length() - 1, somma_det.toString().length())).intValue()) {
case 0:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("p"), "D", 13, "0").toLowerCase());
break;
case 1:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("q"), "D", 13, "0").toLowerCase());
break;
case 2:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("r"), "D", 13, "0").toLowerCase());
break;
case 3:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("s"), "D", 13, "0").toLowerCase());
break;
case 4:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("t"), "D", 13, "0").toLowerCase());
break;
case 5:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("u"), "D", 13, "0").toLowerCase());
break;
case 6:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("v"), "D", 13, "0").toLowerCase());
break;
case 7:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("w"), "D", 13, "0").toLowerCase());
break;
case 8:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("x"), "D", 13, "0").toLowerCase());
break;
case 9:
bw.append(Formatta(somma_det.abs().toString().substring(0, somma_det.abs().toString().length() - 1).concat("y"), "D", 13, "0").toLowerCase());
break;
default:
break;
}
}
somma_det = new java.math.BigInteger("0");
conta_det = 0;
if (!listaSezioneTreVendite.isEmpty()) {
conta_det = listaSezioneTreVendite.size();
for (Iterator i = listaSezioneTreVendite.iterator(); i.hasNext(); ) {
VIntrastatBulk det = (VIntrastatBulk) i.next();
somma_det = somma_det.add(new java.math.BigInteger(det.getAmmontareEuro().toString()));
}
}
// numero det sez3 ven
bw.append(Formatta(conta_det.toString(), "D", 5, "0"));
// somma_det sez3 ven
bw.append(Formatta(somma_det.toString(), "D", 13, "0"));
somma_det = new java.math.BigInteger("0");
conta_det = 0;
if (!listaSezioneQuattroVendite.isEmpty()) {
conta_det = listaSezioneQuattroVendite.size();
for (Iterator i = listaSezioneQuattroVendite.iterator(); i.hasNext(); ) {
VIntrastatBulk det = (VIntrastatBulk) i.next();
somma_det = somma_det.add(new java.math.BigInteger(det.getAmmontareEuro().toString()));
}
}
// numero det sez4 ven
bw.append(Formatta(conta_det.toString(), "D", 5, "0"));
// somma_det sez4 ven
bw.append(Formatta(somma_det.toString(), "D", 13, "0"));
// Numero di righe dettaglio della sezione 5
bw.append(Formatta("0", "D", 5, "0"));
bw.append("\r\n");
}
conta = 0;
if (!listaSezioneUnoVendite.isEmpty()) {
for (Iterator i = listaSezioneUnoVendite.iterator(); i.hasNext(); ) {
conta = conta + 1;
VIntrastatBulk det = (VIntrastatBulk) i.next();
// parte fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Sezione Uno
bw.append("1");
// numero progressivo
bw.append(Formatta(conta.toString(), "D", 5, "0"));
// nazione cliente
bw.append(Formatta(det.getNazFiscale(), "S", 2, " "));
bw.append(Formatta(det.getPartitaIva(), "S", 12, " "));
bw.append(Formatta(new BigDecimal(det.getAmmontareEuro()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(det.getCdNaturaTransazione(), "S", 1, " "));
bw.append(Formatta(det.getCdNomenclaturaCombinata(), "D", 8, "0"));
bw.append(Formatta(new BigDecimal(det.getMassaNetta()).abs().toString(), "D", 10, "0"));
bw.append(Formatta(new BigDecimal(det.getUnitaSupplementari()).abs().toString(), "D", 10, "0"));
bw.append(Formatta(new BigDecimal(det.getValoreStatistico()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(det.getCdConsegna(), "S", 1, " "));
bw.append(Formatta(det.getCdModalitaTrasporto(), "D", 1, "0"));
bw.append(Formatta(det.getDest(), "S", 2, " "));
bw.append(Formatta(det.getCdProvinciaOrigine(), "S", 2, " "));
// Campo aggiunto per sdoppiamento colonna natura della transazione
bw.append(Formatta("", "S", 1, " "));
// Campo aggiunto. Codice del paese di origine della merce
bw.append(Formatta("IT", "S", 2, " "));
bw.append("\r\n");
}
}
conta = 0;
if (!listaSezioneDueVendite.isEmpty()) {
for (Iterator i = listaSezioneDueVendite.iterator(); i.hasNext(); ) {
conta = conta + 1;
VIntrastatBulk det = (VIntrastatBulk) i.next();
// parte fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Sezione Due
bw.append("2");
// numero progressivo
bw.append(Formatta(conta.toString(), "D", 5, "0"));
// fine parte fissa
// DA VERIFICARE
// mese
bw.append(Formatta(det.getMese().toString(), "D", 2, "0"));
// Calcolo trimestre non serve
/*BigDecimal resto =new BigDecimal(det.getMese().toString()).remainder(new BigDecimal("3"));
BigInteger trim_i =new BigInteger(det.getMese().toString()).divide(new BigInteger("3"));
if(resto.compareTo(BigDecimal.ZERO)==0)
bw.append(trim_i.toString());//trimestre
else
bw.append(trim_i.add(new BigInteger("1")).toString());//trimestre
*/
// trimestre
bw.append("0");
bw.append(det.getEsercizio().toString().substring(2));
// Fine da verificare
// nazione cliente
bw.append(Formatta(det.getNazFiscale(), "S", 2, " "));
bw.append(Formatta(det.getPartitaIva(), "S", 12, " "));
/*if (new BigDecimal(det.getAmmontareEuro()).abs().compareTo(new BigDecimal(det.getAmmontareEuro()))==0)
bw.append("+");
else
bw.append("-");*/
if (det.getPgStorico() != null && det.getNrProtocollo() != null)
bw.append("-");
else
bw.append("+");
bw.append(Formatta(new BigDecimal(det.getAmmontareEuro()).abs().toString(), "D", 13, "0"));
bw.append(Formatta(det.getCdNaturaTransazione(), "S", 1, " "));
bw.append(Formatta(det.getCdNomenclaturaCombinata(), "D", 8, "0"));
bw.append(Formatta(new BigDecimal(det.getValoreStatistico()).abs().toString(), "D", 13, "0"));
bw.append("\r\n");
}
}
conta = 0;
if (!listaSezioneTreVendite.isEmpty()) {
for (Iterator i = listaSezioneTreVendite.iterator(); i.hasNext(); ) {
conta = conta + 1;
VIntrastatBulk det = (VIntrastatBulk) i.next();
// parte fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Sezione Tre
bw.append("3");
// numero progressivo
bw.append(Formatta(conta.toString(), "D", 5, "0"));
// fine parte fissa
// nazione cliente
bw.append(Formatta(det.getNazFiscale(), "S", 2, " "));
bw.append(Formatta(det.getPartitaIva(), "S", 12, " "));
bw.append(Formatta(new BigDecimal(det.getAmmontareEuro()).abs().toString(), "D", 13, "0"));
// bw.append(Formatta(det.getNrFattura(),"S",15," "));
bw.append(Formatta(null, "S", 15, " "));
// bw.append(Formatta(det.getDtFattura(),"S",6," "));
bw.append(Formatta(null, "S", 6, " "));
bw.append(Formatta(det.getCdCpa(), "D", 5, "0"));
// diminuzione 1 carattere codice cpa
bw.append(Formatta(null, "S", 1, "0"));
// bw.append(Formatta(det.getCdModalitaErogazione(),"S",1," "));
bw.append(Formatta(null, "S", 1, " "));
// bw.append(Formatta(det.getCdModalitaIncasso(),"S",1," "));
bw.append(Formatta(null, "S", 1, " "));
bw.append(Formatta(det.getDest(), "S", 2, " "));
bw.append("\r\n");
}
}
conta = 0;
if (!listaSezioneQuattroVendite.isEmpty()) {
for (Iterator i = listaSezioneQuattroVendite.iterator(); i.hasNext(); ) {
conta = conta + 1;
VIntrastatBulk det = (VIntrastatBulk) i.next();
// parte fissa
bw.append(new String("EUROX"));
bw.append(P_iva);
bw.append(Formatta(prot.toString(), "D", 6, "0"));
// Sezione Quattro
bw.append("4");
// numero progressivo
bw.append(Formatta(conta.toString(), "D", 5, "0"));
// ???????????????????????????????????????????????????????
if (config.getVal01() == null)
throw new ApplicationException("Codice sezione doganale non configurato");
bw.append(Formatta(config.getVal01(), "D", 6, "0"));
// anno elenco rettifica
bw.append(det.getEsercizio().toString().substring(2));
// protocollo elenco rettifica
bw.append(Formatta(det.getNrProtocollo().toString(), "D", 6, "0"));
// progressivo della sezione 3 da rettificare
bw.append(Formatta(det.getNrProgressivo().toString(), "D", 5, "0"));
// ???????????????????????????????????????????????????????
// per la cancellazione non devono essere valorizzati questi campi
// nazione fornitore //bw.append(Formatta(det.getNazFiscale(),"S",2," "));
bw.append(Formatta(null, "S", 2, " "));
// bw.append(Formatta(det.getPartitaIva(),"S",12," "));
bw.append(Formatta(null, "S", 12, " "));
// bw.append(Formatta(new BigDecimal(det.getAmmontareEuro()).abs().toString(),"D",13,"0"));
bw.append(Formatta(null, "D", 13, "0"));
// bw.append(Formatta(det.getNrFattura(),"S",15," "));
bw.append(Formatta(null, "S", 15, " "));
// bw.append(Formatta(det.getDtFattura(),"S",6," "));
bw.append(Formatta(null, "S", 6, " "));
bw.append(Formatta(det.getCdCpa(), "D", 5, "0"));
// diminuzione 1 carattere codice cpa
bw.append(Formatta(null, "S", 1, "0"));
// bw.append(Formatta(det.getCdModalitaErogazione(),"S",1," "));
bw.append(Formatta(null, "S", 1, " "));
// bw.append(Formatta(det.getCdModalitaIncasso(),"S",1," "));
bw.append(Formatta(null, "S", 1, " "));
// bw.append(Formatta(det.getDest(),"S",2," "));
bw.append(Formatta(null, "S", 2, " "));
bw.append("\r\n");
}
}
bw.flush();
bw.close();
osw.close();
os.close();
dett.setNrProtocollo(prot.toString());
setFile("/tmp/" + f.getName());
} else {
bw.flush();
bw.close();
osw.close();
os.close();
throw new ApplicationException("Non ci sono dati da elaborare per il mese selezionato!");
}
} catch (FileNotFoundException e) {
throw new ApplicationException("File non trovato!");
} 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 ElaboraFilePoliBP method doElaboraFile.
public void doElaboraFile(ActionContext context, VSpesometroBulk dett) throws BusinessProcessException, ComponentException, PersistencyException, IntrospectionException {
try {
conta = 0;
Integer conta_bl3 = 0;
Integer conta_bl4 = 0;
Integer conta_fa = 0;
AnagraficoComponentSession sess = (AnagraficoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class);
AnagraficoBulk ente = sess.getAnagraficoEnte(context.getUserContext());
// configurato dal 2014 - versione precedente gestita da altro Bp e su altra view altro tracciato
it.cnr.contab.config00.bulk.Configurazione_cnrBulk configblack = null;
try {
configblack = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(context.getUserContext(), it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()), null, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.PK_COSTANTI, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.SK_BLACKLIST);
} catch (RemoteException e) {
throw new ComponentException(e);
} catch (EJBException e) {
throw new ComponentException(e);
}
if (configblack.getVal01().compareTo("M") == 0) {
if (dett.isFlBlacklist() && dett.getMese() == null)
throw new ApplicationException("Attenzione: specificare il Mese");
} else if (configblack.getVal01().compareTo("M") != 0) {
if (dett.isFlBlacklist() && dett.getMese() != null)
throw new ApplicationException("In caso di comunicazione annuale, il mese non deve essere indicato!");
}
java.util.List lista = ((ElaboraFileIntraComponentSession) createComponentSession()).EstraiBlacklist(context.getUserContext(), getModel(), null);
it.cnr.contab.config00.bulk.Configurazione_cnrBulk config = null;
try {
config = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(context.getUserContext(), it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()), null, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.PK_COSTANTI, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.SK_MODELLO_INTRA_12);
} catch (RemoteException e) {
throw new ComponentException(e);
} catch (EJBException e) {
throw new ComponentException(e);
}
File f;
if (dett.getMese() != null)
f = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", // codice fiscale
ente.getCodice_fiscale() + "_" + Formatta((CNRUserContext.getEsercizio(context.getUserContext())).toString().substring(2), "D", 2, "0") + "M" + Formatta(new Integer(dett.getMese()).toString(), "D", 2, "0") + ".ccf");
else
f = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", // codice fiscale
ente.getCodice_fiscale() + "_" + (dett.isFlBlacklist() ? "BL_" : "") + (CNRUserContext.getEsercizio(context.getUserContext())).toString() + ".ccf");
OutputStream os = (OutputStream) new FileOutputStream(f);
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
AnagraficoBulk resp = null;
if (!lista.isEmpty()) {
try {
resp = (AnagraficoBulk) sess.findByPrimaryKey(context.getUserContext(), new AnagraficoBulk(new Integer(config.getVal03())));
} catch (RemoteException e) {
throw new ComponentException(e);
} catch (EJBException e) {
throw new ComponentException(e);
}
// parte iniziale fissa record A
bw.append(new String("A"));
bw.append(Formatta(null, "S", 14, " "));
bw.append("NSP00");
// Invio propri dati
bw.append("01");
bw.append(Formatta(ente.getCodice_fiscale(), "S", 16, " "));
bw.append(Formatta(null, "S", 483, " "));
// PROGRESSIVO 1???
bw.append(Formatta("0", "D", 4, "0"));
// NUM TOTALE INVII TELEMATICI 1???
bw.append(Formatta("0", "D", 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");
// //fine record A
// //record B
bw.append("B");
bw.append(Formatta(ente.getCodice_fiscale(), "S", 16, " "));
// Progressivo Modulo
bw.append(Formatta("1", "D", 8, "0"));
bw.append(Formatta(null, "S", 3, " "));
bw.append(Formatta(null, "S", 25, " "));
bw.append(Formatta(null, "S", 20, " "));
// bw.append(Formatta(resp.getCodice_fiscale(),"S",16," "));// Codice fiscale produttore software (PRESIDENTE)
bw.append(Formatta(null, "S", 16, " "));
// fisso ordinaria
bw.append("1");
// sostitutiva
bw.append("0");
// di annullamento
bw.append("0");
// da indicare per sostitutiva
bw.append(Formatta(null, "D", 17, "0"));
// da indicare per sostitutiva
bw.append(Formatta(null, "D", 6, "0"));
// fisso dati aggregati
bw.append("1");
// dati analitici
bw.append("0");
// quadri compilati sia annuale che mensile
if (dett.isFlBlacklist()) {
// quadro FA
bw.append("0");
// quadro SA
bw.append("0");
// quadro BL
bw.append("1");
// quadro FE
bw.append("0");
// quadro FR
bw.append("0");
// quadro NE
bw.append("0");
// quadro NR
bw.append("0");
// quadro DF
bw.append("0");
// quadro FN
bw.append("0");
// quadro SE
bw.append("0");
// quadro TU
bw.append("0");
// quadro TA
bw.append("1");
} else {
// quadro FA
bw.append("1");
// quadro SA
bw.append("0");
// quadro BL
bw.append("1");
// quadro FE
bw.append("0");
// quadro FR
bw.append("0");
// quadro NE
bw.append("0");
// quadro NR
bw.append("0");
// quadro DF
bw.append("0");
// quadro FN
bw.append("0");
// quadro SE
bw.append("0");
// quadro TU
bw.append("0");
// quadro TA
bw.append("1");
}
bw.append(Formatta(ente.getPartita_iva(), "S", 11, " "));
bw.append(Formatta(config.getVal02(), "S", 6, " "));
// tel
bw.append(Formatta(null, "S", 12, " "));
// fax
bw.append(Formatta(null, "S", 12, " "));
// email
bw.append(Formatta(null, "S", 50, " "));
// Obbligatori se non è Persona Fisica
// Cognome
bw.append(Formatta(null, "S", 24, " "));
// Nome
bw.append(Formatta(null, "S", 20, " "));
// sesso
bw.append(Formatta(null, "D", 1, " "));
// dt. nascita
bw.append(Formatta(null, "D", 8, "0"));
// Comune nascita
bw.append(Formatta(null, "S", 40, " "));
// prov. nascita
bw.append(Formatta(null, "S", 2, " "));
// // Obbligatori se non è Persona Fisica
bw.append(Formatta(ente.getRagione_sociale(), "S", 60, " "));
bw.append((CNRUserContext.getEsercizio(context.getUserContext())).toString());
if (dett.getMese() != null)
// Mese (Da valorizzare solo per se presenti ACQUISTI DA SAN MARINO
bw.append(Formatta(new Integer(dett.getMese()).toString(), "D", 2, "0"));
else
bw.append(Formatta(null, "D", 2, "0"));
// Da verificare
// bw.append(Formatta(resp.getCodice_fiscale(),"S",16," "));//codice fiscale rappresentante
// bw.append(Formatta(config.getIm02().toString(),"D",2,"0"));//carica rappresentante ??????? messo 2 PERCHè OBBLIGATORIO
// bw.append(Formatta(null,"D",8,"0"));// dt. inizio procedura
// bw.append(Formatta(null,"D",8,"0"));// dt. fine
// bw.append(Formatta(resp.getCognome(),"S",24," "));//cognome rappresentante ???????????????
// bw.append(Formatta(resp.getNome(),"S",20," "));//nome rappresentante ???????????????
// bw.append(resp.getTi_sesso());//sesso rappresentante ???????????????
// GregorianCalendar dataNascita = new GregorianCalendar();
// dataNascita.setTime(new Date(resp.getDt_nascita().getTime()));
// bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.DAY_OF_MONTH)).toString(),"D",2,"0"));
// bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.MONTH)+1).toString(),"D",2,"0"));
// bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.YEAR)).toString(),"D",4,"0"));
// ComuneBulk comune = (ComuneBulk)sess.findByPrimaryKey(context.getUserContext(), new ComuneBulk(resp.getComune_nascita().getPg_comune()));
// if(comune==null)
// throw new ApplicationException("Dati anagrafici del rappresentante non completi!");
// else
// {
// bw.append(Formatta(comune.getDs_comune(),"S",40," "));//COMUNE nascita rappresentante ???????????????
// bw.append(Formatta(comune.getCd_provincia(),"S",2," "));//PROV nascita rappresentante ???????????????
// }
// codice fiscale rappresentante
bw.append(Formatta(null, "S", 16, " "));
// carica rappresentante ??????? messo 2 PERCHè OBBLIGATORIO
bw.append(Formatta(null, "D", 2, "0"));
// dt. inizio procedura
bw.append(Formatta(null, "D", 8, "0"));
// dt. fine
bw.append(Formatta(null, "D", 8, "0"));
// cognome rappresentante ???????????????
bw.append(Formatta(null, "S", 24, " "));
// nome rappresentante ???????????????
bw.append(Formatta(null, "S", 20, " "));
// sesso rappresentante ???????????????
bw.append(" ");
// data nascita
bw.append(Formatta(null, "D", 8, "0"));
// COMUNE nascita rappresentante ???????????????
bw.append(Formatta(null, "S", 40, " "));
// PROV nascita rappresentante ???????????????
bw.append(Formatta(null, "S", 2, " "));
// ragione sociale rappresentante ???????????????
bw.append(Formatta(null, "S", 60, " "));
// // Sezione intermediario
bw.append(Formatta(null, "S", 16, " "));
bw.append(Formatta(null, "D", 5, "0"));
// /???
bw.append("0");
bw.append(Formatta(null, "S", 1, " "));
bw.append(Formatta(null, "D", 8, "0"));
// Filler
bw.append(Formatta(null, "S", 1258, " "));
// Filler
bw.append(Formatta(null, "S", 20, " "));
// Filler
bw.append(Formatta(null, "S", 18, " "));
bw.append("A");
bw.append("\r\n");
// // fine record B
Integer limite_col = 75;
Integer num_col = 0;
GregorianCalendar dataNascita = new GregorianCalendar();
// tipo record C parte fissa
for (Iterator i = lista.iterator(); i.hasNext(); ) {
VSpesometroBulk det = (VSpesometroBulk) i.next();
if (det.getQuadro().compareTo("BL") == 0 || conta_fa % 3 == 0) {
num_col = 0;
bw.append("C");
conta++;
// codice fiscale
bw.append(Formatta(ente.getCodice_fiscale(), "S", 16, " "));
// Progressivo modulo (VALE 1)
bw.append(Formatta(conta.toString(), "D", 8, "0"));
// Filler campo utente
bw.append(Formatta(null, "S", 3, " "));
// Filler
bw.append(Formatta(null, "S", 25, " "));
// Filler campo utente x identificazione dichiarazione
bw.append(Formatta(null, "S", 20, " "));
// codice fiscale prod sw
bw.append(Formatta(null, "S", 16, " "));
}
// Campi non posizionali
if (det.getQuadro().compareTo("BL") == 0) {
if (det.getCognome() != null) {
num_col = Formatta(det.getCognome(), "S", 16, " ", bw, "BL001001", num_col);
num_col = Formatta(det.getNome(), "S", 16, " ", bw, "BL001002", num_col);
// completamento 16 caratteri non necessari per data
num_col = Formatta(null, "D", 8, " ", bw, "BL001003", num_col);
dataNascita.setTime(new Date(det.getDtNascita().getTime()));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.DAY_OF_MONTH)).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.MONTH) + 1).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.YEAR)).toString(), "D", 4, "0"));
num_col = Formatta(det.getStatoNascita(), "S", 16, " ", bw, "BL001004", num_col);
num_col = Formatta(det.getProvincia(), "S", 16, " ", bw, "BL001005", num_col);
num_col = Formatta(det.getCodiceStatoEstero(), "D", 16, " ", bw, "BL001006", num_col);
} else {
num_col = Formatta(det.getRagioneSociale(), "S", 16, " ", bw, "BL001007", num_col);
num_col = Formatta(det.getComuneSede(), "S", 16, " ", bw, "BL001008", num_col);
num_col = Formatta(det.getCodiceStatoEstero(), "D", 16, " ", bw, "BL001009", num_col);
num_col = Formatta(det.getIndirizzoSede(), "S", 16, " ", bw, "BL001010", num_col);
}
// valorizzazione del mese nella view solo per BL Fiscalità speciale
if (det.getTipoFiscalita().compareTo("FS") == 0) {
num_col = Formatta("1", "D", 16, " ", bw, "BL002002", num_col);
if (det.getImponibileFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileFa().toString(), "D", 16, " ", bw, "BL003001", num_col);
if (det.getIvaFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaFa().toString(), "D", 16, " ", bw, "BL003002", num_col);
// attive bl004 indicato da ufficio competente mai valorizzato!!!
if (det.getImponibileNdFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileNdFa().toString(), "D", 16, " ", bw, "BL005001", num_col);
if (det.getIvaNdFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaNdFa().toString(), "D", 16, " ", bw, "BL005002", num_col);
if (det.getImponibileFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileFp().toString(), "D", 16, " ", bw, "BL006001", num_col);
if (det.getIvaFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaFp().toString(), "D", 16, " ", bw, "BL006002", num_col);
// attive bl007 indicato da ufficio competente mai valorizzato!!!
if (det.getImponibileNdFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileNdFp().toString(), "D", 16, " ", bw, "BL008001", num_col);
if (det.getIvaNdFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaNdFp().toString(), "D", 16, " ", bw, "BL008002", num_col);
} else {
if (det.getTipo().compareTo("PASSIVE") == 0 && det.getTiBeneServizio().compareTo(Bene_servizioBulk.SERVIZIO) == 0) {
conta_bl4++;
num_col = Formatta("1", "D", 16, " ", bw, "BL002004", num_col);
if (det.getImponibileFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileFp().toString(), "D", 16, " ", bw, "BL006001", num_col);
if (det.getIvaFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaFp().toString(), "D", 16, " ", bw, "BL006002", num_col);
} else {
conta_bl3++;
num_col = Formatta("1", "D", 16, " ", bw, "BL002003", num_col);
if (det.getImponibileFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileFa().toString(), "D", 16, " ", bw, "BL003001", num_col);
if (det.getIvaFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaFa().toString(), "D", 16, " ", bw, "BL003002", num_col);
if (det.getImponibileFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileFp().toString(), "D", 16, " ", bw, "BL006001", num_col);
if (det.getIvaFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaFp().toString(), "D", 16, " ", bw, "BL006002", num_col);
}
}
} else // FINO QUADRO BL
{
// controllo forse inutile ma impedisce problemi sulla correttezza del file
if (det.getCodiceFiscale() != null || det.getPartitaIva() != null) {
String c = null;
if (conta_fa % 3 == 0)
c = new String("1");
else
c = ((Integer) ((conta_fa % 3) + 1)).toString();
conta_fa++;
if (det.getCodiceFiscale() != null)
num_col = Formatta(det.getCodiceFiscale(), "S", 16, " ", bw, "FA00" + c + "002", num_col);
else if (det.getPartitaIva() != null)
num_col = Formatta(det.getPartitaIva(), "S", 16, " ", bw, "FA00" + c + "001", num_col);
if (det.getNrAttive() != 0)
num_col = Formatta(det.getNrAttive().toString(), "D", 16, " ", bw, "FA00" + c + "004", num_col);
if (det.getNrPassive() != 0)
num_col = Formatta(det.getNrPassive().toString(), "D", 16, " ", bw, "FA00" + c + "005", num_col);
if (det.getImponibileFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileFa().toString(), "D", 16, " ", bw, "FA00" + c + "007", num_col);
if (det.getIvaFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaFa().toString(), "D", 16, " ", bw, "FA00" + c + "008", num_col);
if (det.getImponibileNdFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileNdFa().toString(), "D", 16, " ", bw, "FA00" + c + "0010", num_col);
if (det.getIvaNdFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaNdFa().toString(), "D", 16, " ", bw, "FA00" + c + "011", num_col);
if (det.getImponibileFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileFp().toString(), "D", 16, " ", bw, "FA00" + c + "012", num_col);
if (det.getIvaFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaFp().toString(), "D", 16, " ", bw, "FA00" + c + "013", num_col);
if (det.getImponibileNdFp().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getImponibileNdFp().toString(), "D", 16, " ", bw, "FA00" + c + "0015", num_col);
if (det.getIvaNdFa().compareTo(BigDecimal.ZERO) != 0)
num_col = Formatta(det.getIvaNdFp().toString(), "D", 16, " ", bw, "FA00" + c + "016", num_col);
}
}
if (det.getQuadro().compareTo("BL") == 0 || (conta_fa % 3 == 0 && (det.getCodiceFiscale() != null || det.getPartitaIva() != null))) {
bw.append(Formatta(null, "D", (limite_col - num_col) * 24, " "));
// Filler
bw.append(Formatta(null, "D", 8, " "));
bw.append("A");
bw.append("\r\n");
}
}
if (conta_fa != 0 && conta_fa % 3 != 0) {
bw.append(Formatta(null, "D", (limite_col - num_col) * 24, " "));
// Filler
bw.append(Formatta(null, "D", 8, " "));
bw.append("A");
bw.append("\r\n");
}
// fine record C
// tipo record E
bw.append("E");
bw.append(Formatta(ente.getCodice_fiscale(), "S", 16, " "));
// Progressivo Modulo
bw.append(Formatta("1", "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, " "));
num_col = 0;
// campi non posizionali
if (dett.isFlBlacklist()) {
if (lista != null && lista.size() != 0) {
bw.append("TA003001");
// numero contraparti blacklist BL002002
bw.append(Formatta(new Integer(lista.size()).toString(), "D", 16, " "));
num_col++;
}
}
if (conta_fa != 0) {
bw.append("TA001001");
// numero contraparti fa
bw.append(Formatta(conta_fa.toString(), "D", 16, " "));
num_col++;
}
if (conta_bl3 != 0) {
bw.append("TA003002");
// numero contraparti operazione con soggetti non residenti beni BL002003
bw.append(Formatta(conta_bl3.toString(), "D", 16, " "));
num_col++;
}
if (conta_bl4 != 0) {
bw.append("TA003003");
// numero contraparti servizi non residenti BL002004
bw.append(Formatta(conta_bl4.toString(), "D", 16, " "));
num_col++;
}
bw.append(Formatta(null, "D", (limite_col - num_col) * 24, " "));
// Filler
bw.append(Formatta(null, "D", 8, " "));
bw.append("A");
bw.append("\r\n");
// fine record E
// Tipo Record Z Coda
// tipo record
bw.append("Z");
// Filler
bw.append(Formatta(null, "S", 14, " "));
// N° record tipo B
bw.append(Formatta("1", "D", 9, "0"));
// bw.append(Formatta(new Integer(lista.size()).toString(),"D",9,"0"));// N° record tipo C
// N° record tipo C
bw.append(Formatta(conta.toString(), "D", 9, "0"));
// N° record tipo D
bw.append(Formatta("0", "D", 9, "0"));
// N° record tipo E
bw.append(Formatta("1", "D", 9, "0"));
// Filler
bw.append(Formatta(null, "S", 1846, " "));
//
bw.append("A");
bw.append("\r\n");
// // fine record Z 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 da elaborare per il mese selezionato!");
}
} catch (FileNotFoundException e) {
throw new ApplicationException("File non trovato!");
} 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 ElaboraFileSpesometroBP method init.
@Override
protected void init(Config config, ActionContext context) throws BusinessProcessException {
try {
super.init(config, context);
AnagraficoComponentSession sess = (AnagraficoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class);
AnagraficoBulk ente = sess.getAnagraficoEnte(context.getUserContext());
VSpesometroNewBulk bulk = new VSpesometroNewBulk();
bulk.setNome_file(NazioneITType.IT + ente.getCodice_fiscale() + "_" + "DF" + "_" + "00001");
setModel(context, bulk);
} catch (Throwable e) {
throw handleException(e);
}
}
use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.
the class ElaboraFileBlackListBP method doElaboraFile.
public void doElaboraFile(ActionContext context, VFatcomBlacklistBulk dett) throws BusinessProcessException, ComponentException, PersistencyException, IntrospectionException {
try {
AnagraficoComponentSession sess = (AnagraficoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class);
AnagraficoBulk ente = sess.getAnagraficoEnte(context.getUserContext());
java.util.List lista = ((ElaboraFileIntraComponentSession) createComponentSession()).EstraiBlacklist(context.getUserContext(), getModel(), null);
it.cnr.contab.config00.bulk.Configurazione_cnrBulk config = null;
try {
config = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(context.getUserContext(), it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()), null, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.PK_COSTANTI, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.SK_MODELLO_INTRA_12);
} catch (RemoteException e) {
throw new ComponentException(e);
} catch (EJBException e) {
throw new ComponentException(e);
}
File f = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", // codice fiscale
ente.getCodice_fiscale() + "_" + Formatta((CNRUserContext.getEsercizio(context.getUserContext())).toString().substring(2), "D", 2, "0") + "M" + Formatta(new Integer(dett.getMese()).toString(), "D", 2, "0") + ".ivl");
OutputStream os = (OutputStream) new FileOutputStream(f);
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
AnagraficoBulk resp = null;
if (!lista.isEmpty()) {
try {
resp = (AnagraficoBulk) sess.findByPrimaryKey(context.getUserContext(), new AnagraficoBulk(new Integer(config.getVal03())));
} catch (RemoteException e) {
throw new ComponentException(e);
} catch (EJBException e) {
throw new ComponentException(e);
}
// parte iniziale fissa record A
bw.append(new String("A"));
bw.append(Formatta(null, "S", 14, " "));
bw.append("IVL10");
// Invio propri dati
bw.append("01");
bw.append(Formatta(ente.getCodice_fiscale(), "S", 16, " "));
bw.append(Formatta(null, "S", 483, " "));
bw.append(Formatta(null, "D", 4, "0"));
bw.append(Formatta(null, "D", 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");
// fine record A
// record B
bw.append(new String("B"));
bw.append(Formatta(ente.getCodice_fiscale(), "S", 16, " "));
// Progressivo Modulo
bw.append(Formatta("1", "D", 8, "0"));
bw.append(Formatta(null, "S", 3, " "));
bw.append(Formatta(null, "S", 25, " "));
bw.append(Formatta(null, "S", 20, " "));
// Codice fiscale produttore software (PRESIDENTE)
bw.append(Formatta(resp.getCodice_fiscale(), "S", 16, " "));
bw.append(Formatta(null, "D", 1, "0"));
// correttiva nei termini
bw.append("0");
// integrativa
bw.append("0");
bw.append((CNRUserContext.getEsercizio(context.getUserContext())).toString());
// Mese
bw.append(Formatta(dett.getMese().toString(), "D", 2, "0"));
// TRimestre
bw.append("0");
// Calcolo trimestre non serve
// BigDecimal resto =new BigDecimal(dett.getMese().toString()).remainder(new BigDecimal("3"));
// BigInteger trim_i =new BigInteger(dett.getMese().toString()).divide(new BigInteger("3"));
// if(resto.compareTo(BigDecimal.ZERO)==0)
// bw.append(trim_i.toString());//trimestre
// else
// bw.append(trim_i.add(new BigInteger("1")).toString());//trimestre
// Varizione periodicità
bw.append("0");
bw.append(Formatta(ente.getPartita_iva(), "D", 11, "0"));
// email
bw.append(Formatta(null, "S", 100, " "));
// tel
bw.append(Formatta(null, "S", 12, " "));
// fax
bw.append(Formatta(null, "S", 12, " "));
// Obbligatori se non è Persona Fisica
// Cognome
bw.append(Formatta(null, "S", 24, " "));
// Nome
bw.append(Formatta(null, "S", 20, " "));
// sesso
bw.append(Formatta(null, "D", 1, " "));
// Comune nascita
bw.append(Formatta(null, "S", 79, " "));
// prov. nascita
bw.append(Formatta(null, "S", 2, " "));
// dt. nascita
bw.append(Formatta(null, "D", 8, "0"));
// Obbligatori se non è Persona Fisica
bw.append(Formatta(ente.getRagione_sociale(), "S", 60, " "));
// NATURA GIURIDICA ????????? messo 1 PERCHè OBBLIGATORIO
bw.append(Formatta(config.getIm01().toString(), "D", 2, "0"));
// Stato estero di residenza
bw.append(Formatta(null, "S", 24, " "));
// Codice paese estero
bw.append(Formatta(null, "D", 3, "0"));
// Numero di identificazione IVA estero
bw.append(Formatta(null, "S", 24, " "));
// codice fiscale rappresentante
bw.append(Formatta(resp.getCodice_fiscale(), "S", 16, " "));
// carica rappresentante ??????? messo 2 PERCHè OBBLIGATORIO
bw.append(Formatta(config.getIm02().toString(), "D", 2, "0"));
// codice fiscale societa dichiarante
bw.append(Formatta(ente.getCodice_fiscale(), "S", 11, " "));
// cognome rappresentante ???????????????
bw.append(Formatta(resp.getCognome(), "S", 24, " "));
// nome rappresentante ???????????????
bw.append(Formatta(resp.getNome(), "S", 20, " "));
// sesso rappresentante ???????????????
bw.append(resp.getTi_sesso());
GregorianCalendar dataNascita = new GregorianCalendar();
dataNascita.setTime(new Date(resp.getDt_nascita().getTime()));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.DAY_OF_MONTH)).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.MONTH) + 1).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.YEAR)).toString(), "D", 4, "0"));
ComuneBulk comune = (ComuneBulk) sess.findByPrimaryKey(context.getUserContext(), new ComuneBulk(resp.getComune_nascita().getPg_comune()));
if (comune == null)
throw new ApplicationException("Dati anagrafici del rappresentante non completi!");
else {
// COMUNE nascita rappresentante ???????????????
bw.append(Formatta(comune.getDs_comune(), "S", 40, " "));
// PROV nascita rappresentante ???????????????
bw.append(Formatta(comune.getCd_provincia(), "S", 2, " "));
}
ComuneBulk comune_res = (ComuneBulk) sess.findByPrimaryKey(context.getUserContext(), new ComuneBulk(resp.getComune_fiscale().getPg_comune()));
if (comune_res == null)
throw new ApplicationException("Dati anagrafici del rappresentante non completi!");
else {
// COMUNE residenza rappresentante ???????????????
bw.append(Formatta(comune_res.getDs_comune(), "S", 40, " "));
// PROV residenza rappresentante ???????????????
bw.append(Formatta(comune_res.getCd_provincia(), "S", 2, " "));
// cap residenza rappresentante ???????????????
bw.append(Formatta(resp.getCap_comune_fiscale(), "D", 5, "0"));
// via residenza rappresentante ???????????????
bw.append(Formatta(resp.getVia_fiscale() + " " + resp.getNum_civico_fiscale().toString(), "S", 35, " "));
// tel rappresentante
bw.append(Formatta(null, "S", 12, " "));
}
// Firma checkbox
bw.append(Formatta(new Integer(lista.size()).toString(), "D", 8, "0"));
// Firma checkbox
bw.append(Formatta("1", "D", 1, "0"));
// Sezione intermediario
bw.append(Formatta(null, "S", 16, " "));
bw.append(Formatta(null, "S", 5, "0"));
//
bw.append(Formatta("0", "D", 1, "0"));
bw.append(Formatta(null, "D", 8, "0"));
// Firma intermediario
bw.append(Formatta("0", "D", 1, "0"));
// Filler
bw.append(Formatta(null, "S", 1103, " "));
// Filler
bw.append(Formatta(null, "S", 20, " "));
// Filler
bw.append(Formatta(null, "S", 34, " "));
bw.append("A");
bw.append("\r\n");
// fine record B
Integer old_terzo = null;
Integer conta = 0;
// tipo record C parte fissa
for (Iterator i = lista.iterator(); i.hasNext(); ) {
VFatcomBlacklistBulk det = (VFatcomBlacklistBulk) i.next();
if (old_terzo == null || (old_terzo != det.getCd_terzo())) {
bw.append("C");
conta++;
// codice fiscale
bw.append(Formatta(ente.getCodice_fiscale(), "S", 16, " "));
// Progressivo modulo (VALE 1)
bw.append(Formatta(conta.toString(), "D", 8, "0"));
// Filler campo utente
bw.append(Formatta(null, "S", 3, " "));
// Filler
bw.append(Formatta(null, "S", 25, " "));
// Filler campo utente x identificazione dichiarazione
bw.append(Formatta(null, "S", 20, " "));
// codice fiscale prod sw
bw.append(Formatta(resp.getCodice_fiscale(), "S", 16, " "));
// parte variabile
Integer limite_col = 75;
Integer num_col = 0;
// Campi non posizionali
if (det.getPersona().compareTo(AnagraficoBulk.FISICA) == 0) {
num_col = Formatta(det.getCognome(), "S", 16, " ", bw, "A100101A", num_col);
num_col = Formatta(det.getNome(), "S", 16, " ", bw, "A1001002", num_col);
if (det.getItaliano_estero().compareTo(NazioneBulk.ITALIA) == 0) {
// Dalla nazione di nascita
bw.append("A1001003");
dataNascita.setTime(new Date(det.getDt_nascita().getTime()));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.DAY_OF_MONTH)).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.MONTH) + 1).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(dataNascita.get(GregorianCalendar.YEAR)).toString(), "D", 4, "0"));
num_col++;
num_col = Formatta(det.getComune_nascita(), "S", 16, " ", bw, "A1001004", num_col);
bw.append("A1001005");
bw.append(Formatta(det.getCd_provincia(), "S", 16, " "));
num_col++;
} else {
num_col = Formatta(det.getStato_nascita(), "S", 16, " ", bw, "A1001004", num_col);
}
} else {
num_col = Formatta(det.getRagione_sociale(), "S", 16, " ", bw, "A100101B", num_col);
}
bw.append("A1001006");
bw.append(Formatta(det.getCd_nazione(), "D", 16, " "));
num_col++;
num_col = Formatta(det.getDs_nazione(), "S", 16, " ", bw, "A1001007", num_col);
num_col = Formatta(det.getComune_sede(), "S", 16, " ", bw, "A1001008", num_col);
num_col = Formatta(det.getIndirizzo_sede(), "S", 16, " ", bw, "A1001009", num_col);
if (det.getId_fiscale_estero() != null) {
num_col = Formatta(det.getId_fiscale_estero(), "S", 16, " ", bw, "A1001010", num_col);
}
if (det.getCodice_fiscale() != null) {
num_col = Formatta(det.getCodice_fiscale(), "S", 16, " ", bw, "A1001011", num_col);
}
java.util.List lista_terzo = ((ElaboraFileIntraComponentSession) createComponentSession()).EstraiBlacklist(context.getUserContext(), getModel(), new TerzoBulk(det.getCd_terzo()));
BigDecimal TotBeniImpAttiva = BigDecimal.ZERO;
BigDecimal TotIvaBeniImpAttiva = BigDecimal.ZERO;
BigDecimal TotServiziImpAttiva = BigDecimal.ZERO;
BigDecimal TotIvaServiziImpAttiva = BigDecimal.ZERO;
BigDecimal TotBeniNoImpAttiva = BigDecimal.ZERO;
BigDecimal TotServiziNoImpAttiva = BigDecimal.ZERO;
BigDecimal TotEsentiAttiva = BigDecimal.ZERO;
BigDecimal TotBeniNoSogAttiva = BigDecimal.ZERO;
BigDecimal TotServiziNoSogAttiva = BigDecimal.ZERO;
BigDecimal TotBeniImpPassiva = BigDecimal.ZERO;
BigDecimal TotIvaBeniImpPassiva = BigDecimal.ZERO;
BigDecimal TotServiziImpPassiva = BigDecimal.ZERO;
BigDecimal TotIvaServiziImpPassiva = BigDecimal.ZERO;
BigDecimal TotBeniNoImpPassiva = BigDecimal.ZERO;
BigDecimal TotServiziNoImpPassiva = BigDecimal.ZERO;
BigDecimal TotEsentiPassiva = BigDecimal.ZERO;
BigDecimal TotBeniNoSogPassiva = BigDecimal.ZERO;
BigDecimal TotServiziNoSogPassiva = BigDecimal.ZERO;
for (Iterator k = lista_terzo.iterator(); k.hasNext(); ) {
VFatcomBlacklistBulk det_terzo = (VFatcomBlacklistBulk) k.next();
if (det_terzo.getTipo().compareTo("A") == 0) {
if (det_terzo.getBene_servizio().compareTo(Fattura_passivaBulk.FATTURA_DI_BENI) == 0) {
TotBeniImpAttiva = TotBeniImpAttiva.add(det_terzo.getImponibile());
TotIvaBeniImpAttiva = TotIvaBeniImpAttiva.add(det_terzo.getIva());
TotBeniNoImpAttiva = TotBeniNoImpAttiva.add(det_terzo.getImp_non_imp());
TotBeniNoSogAttiva = TotBeniNoSogAttiva.add(det_terzo.getImp_non_soggetto());
} else // servizi
{
TotServiziImpAttiva = TotServiziImpAttiva.add(det_terzo.getImponibile());
TotIvaServiziImpAttiva = TotIvaServiziImpAttiva.add(det_terzo.getIva());
TotServiziNoImpAttiva = TotServiziNoImpAttiva.add(det_terzo.getImp_non_imp());
TotServiziNoSogAttiva = TotServiziNoSogAttiva.add(det_terzo.getImp_non_soggetto());
}
TotEsentiAttiva = TotEsentiAttiva.add(det_terzo.getImp_esente());
} else {
// Passive
if (det_terzo.getBene_servizio().compareTo(Fattura_passivaBulk.FATTURA_DI_BENI) == 0) {
TotBeniImpPassiva = TotBeniImpPassiva.add(det_terzo.getImponibile());
TotIvaBeniImpPassiva = TotIvaBeniImpPassiva.add(det_terzo.getIva());
TotBeniNoImpPassiva = TotBeniNoImpPassiva.add(det_terzo.getImp_non_imp());
TotBeniNoSogPassiva = TotBeniNoSogPassiva.add(det_terzo.getImp_non_soggetto());
} else // servizi
{
TotServiziImpPassiva = TotServiziImpPassiva.add(det_terzo.getImponibile());
TotIvaServiziImpPassiva = TotIvaServiziImpPassiva.add(det_terzo.getIva());
TotServiziNoImpPassiva = TotServiziNoImpPassiva.add(det_terzo.getImp_non_imp());
TotServiziNoSogPassiva = TotServiziNoSogPassiva.add(det_terzo.getImp_non_soggetto());
}
TotEsentiPassiva = TotEsentiPassiva.add(det_terzo.getImp_esente());
}
}
old_terzo = det.getCd_terzo();
if (TotBeniImpAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1002001");
bw.append(Formatta(TotBeniImpAttiva.toString(), "D", 16, " "));
num_col++;
}
if (TotIvaBeniImpAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1003001");
bw.append(Formatta(TotIvaBeniImpAttiva.toString(), "D", 16, " "));
num_col++;
}
if (TotServiziImpAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1004001");
bw.append(Formatta(TotServiziImpAttiva.toString(), "D", 16, " "));
num_col++;
}
if (TotIvaServiziImpAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1005001");
bw.append(Formatta(TotIvaServiziImpAttiva.toString(), "D", 16, " "));
num_col++;
}
if (TotBeniNoImpAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1006001");
bw.append(Formatta(TotBeniNoImpAttiva.toString(), "D", 16, " "));
num_col++;
}
if (TotServiziNoImpAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1007001");
bw.append(Formatta(TotServiziNoImpAttiva.toString(), "D", 16, " "));
num_col++;
}
if (TotEsentiAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1008001");
bw.append(Formatta(TotEsentiAttiva.toString(), "D", 16, " "));
num_col++;
}
if (TotBeniNoSogAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1009001");
bw.append(Formatta(TotBeniNoSogAttiva.toString(), "D", 16, " "));
num_col++;
}
if (TotServiziNoSogAttiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1010001");
bw.append(Formatta(TotServiziNoSogAttiva.toString(), "D", 16, " "));
num_col++;
}
// Passive
if (TotBeniImpPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1019001");
bw.append(Formatta(TotBeniImpPassiva.toString(), "D", 16, " "));
num_col++;
}
if (TotIvaBeniImpPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1020001");
bw.append(Formatta(TotIvaBeniImpPassiva.toString(), "D", 16, " "));
num_col++;
}
if (TotServiziImpPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1021001");
bw.append(Formatta(TotServiziImpPassiva.toString(), "D", 16, " "));
num_col++;
}
if (TotIvaServiziImpPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1022001");
bw.append(Formatta(TotIvaServiziImpPassiva.toString(), "D", 16, " "));
num_col++;
}
if (TotBeniNoImpPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1023001");
bw.append(Formatta(TotBeniNoImpPassiva.toString(), "D", 16, " "));
num_col++;
}
if (TotServiziNoImpPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1024001");
bw.append(Formatta(TotServiziNoImpPassiva.toString(), "D", 16, " "));
num_col++;
}
if (TotEsentiPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1025001");
bw.append(Formatta(TotEsentiPassiva.toString(), "D", 16, " "));
num_col++;
}
if (TotBeniNoSogPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1026001");
bw.append(Formatta(TotBeniNoSogPassiva.toString(), "D", 16, " "));
num_col++;
}
if (TotServiziNoSogPassiva.compareTo(BigDecimal.ZERO) != 0) {
bw.append("A1027001");
bw.append(Formatta(TotServiziNoSogPassiva.toString(), "D", 16, " "));
num_col++;
}
bw.append(Formatta(null, "D", (limite_col - num_col) * 24, " "));
// Filler
bw.append(Formatta(null, "D", 8, " "));
//
bw.append("A");
bw.append("\r\n");
}
// fine record C
}
// Tipo Record Z Coda
// tipo record
bw.append("Z");
// Filler
bw.append(Formatta(null, "S", 14, " "));
// N° record tipo B
bw.append(Formatta("1", "D", 9, "0"));
// N° record tipo C
bw.append(Formatta(new Integer(lista.size()).toString(), "D", 9, "0"));
// Filler
bw.append(Formatta(null, "S", 1864, " "));
//
bw.append("A");
bw.append("\r\n");
// fine record Z 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 da elaborare per il mese selezionato!");
}
} catch (FileNotFoundException e) {
throw new ApplicationException("File non trovato!");
} catch (IllegalArgumentException e) {
throw new ApplicationException("Formato file non valido!");
} catch (IOException e) {
throw new ApplicationException("Errore nella scrittura del file!");
}
}
Aggregations