use of it.cnr.contab.anagraf00.ejb.AnagraficoComponentSession 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.ejb.AnagraficoComponentSession in project sigla-main by consiglionazionaledellericerche.
the class DistintaCassiereComponent method generaFlussoSiopeplus.
public StorageObject generaFlussoSiopeplus(UserContext userContext, Distinta_cassiereBulk distinta) throws ComponentException, RemoteException {
try {
final DocumentiContabiliService documentiContabiliService = SpringUtil.getBean("documentiContabiliService", DocumentiContabiliService.class);
DateTimeFormatter formatterTime = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
JAXBContext jc = JAXBContext.newInstance("it.siopeplus");
// creo i file del flusso
// Testata
final ObjectFactory objectFactory = new ObjectFactory();
it.siopeplus.FlussoOrdinativi currentFlusso = objectFactory.createFlussoOrdinativi();
Configurazione_cnrComponentSession sess = (Configurazione_cnrComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRCONFIG00_EJB_Configurazione_cnrComponentSession");
String codiceAbi = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_ABI_BT)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_ABI_BT]"));
String codiceA2A = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_A2A)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_A2A]"));
String codiceEnte = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_ENTE)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_ENTE]"));
String codiceEnteBT = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_ENTE_BT)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_ENTE_BT]"));
String codiceTramiteBT = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_TRAMITE_BT)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_TRAMITE_BT]"));
String codiceIstatEnte = Optional.ofNullable(sess.getVal01(userContext, CNRUserContext.getEsercizio(userContext), null, Configurazione_cnrBulk.PK_FLUSSO_ORDINATIVI, Configurazione_cnrBulk.SK_CODICE_ISTAT_ENTE)).orElseThrow(() -> new ApplicationException("Configurazione mancante per flusso Ordinativo [CODICE_ISTAT_ENTE]"));
final CtTestataFlusso testataFlusso = objectFactory.createCtTestataFlusso();
testataFlusso.setCodiceABIBT(codiceAbi);
testataFlusso.setRiferimentoEnte(codiceA2A);
testataFlusso.setIdentificativoFlusso(distinta.getIdentificativoFlusso());
testataFlusso.setDataOraCreazioneFlusso(DatatypeFactory.newInstance().newXMLGregorianCalendar(formatterTime.format(it.cnr.jada.util.ejb.EJBCommonServices.getServerTimestamp().toLocalDateTime())));
testataFlusso.setCodiceEnte(codiceEnte);
testataFlusso.setCodiceEnteBT(codiceEnteBT);
testataFlusso.setCodiceTramiteEnte(codiceA2A);
testataFlusso.setCodiceTramiteBT(codiceTramiteBT);
AnagraficoComponentSession component = (AnagraficoComponentSession) it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRANAGRAF00_EJB_AnagraficoComponentSession");
AnagraficoBulk uoEnte = component.getAnagraficoEnte(userContext);
testataFlusso.setDescrizioneEnte(uoEnte.getRagione_sociale());
testataFlusso.setCodiceIstatEnte(codiceIstatEnte);
testataFlusso.setCodiceFiscaleEnte(uoEnte.getCodice_fiscale());
currentFlusso.getContent().add(objectFactory.createTestataFlusso(testataFlusso));
currentFlusso.getContent().add(objectFactory.createEsercizio(CNRUserContext.getEsercizio(userContext)));
List dettagliRev = dettagliDistinta(userContext, distinta, it.cnr.contab.doccont00.core.bulk.Numerazione_doc_contBulk.TIPO_REV);
// Elaboriamo prima le reversali
Reversale currentReversale = null;
for (Iterator i = dettagliRev.iterator(); i.hasNext(); ) {
V_mandato_reversaleBulk bulk = (V_mandato_reversaleBulk) i.next();
currentFlusso.getContent().add(objectFactory.createReversale(creaReversaleFlussoSiopeplus(userContext, bulk)));
}
List dettagliMan = dettagliDistinta(userContext, distinta, it.cnr.contab.doccont00.core.bulk.Numerazione_doc_contBulk.TIPO_MAN);
// Mandati
Mandato currentMandato = null;
for (Iterator i = dettagliMan.iterator(); i.hasNext(); ) {
V_mandato_reversaleBulk bulk = (V_mandato_reversaleBulk) i.next();
currentFlusso.getContent().add(objectFactory.createMandato(creaMandatoFlussoSiopeplus(userContext, bulk)));
}
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
Marshaller jaxbMarshaller = jc.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.FALSE);
jaxbMarshaller.marshal(currentFlusso, byteArrayOutputStream);
// FIX per firma xml
String out = new String(byteArrayOutputStream.toByteArray(), StandardCharsets.UTF_8);
out = out.replace("</flusso_ordinativi>", "\n</flusso_ordinativi>");
StorageFile storageFile = new StorageFile(out.getBytes(StandardCharsets.UTF_8), MimeTypes.XML.mimetype(), distinta.getFileNameXML());
final StorageObject storageObject = documentiContabiliService.getStorageObjectBykey(documentiContabiliService.restoreSimpleDocument(storageFile, new ByteArrayInputStream(storageFile.getBytes()), storageFile.getContentType(), storageFile.getFileName(), distinta.getStorePath(), true).getKey());
final BigInteger dimension = storageObject.<BigInteger>getPropertyValue(StoragePropertyNames.CONTENT_STREAM_LENGTH.value()).divide(BigInteger.valueOf(1024));
if (dimension.add(BigInteger.valueOf(7)).compareTo(DistintaCassiereComponentSession.MAX_OPI_DIMENSION) > 0) {
throw new ApplicationMessageFormatException("La dimensione del flusso {0}kbytes supera la dimensione massima consentita {1}kbytes!", dimension.add(BigInteger.valueOf(7)), DistintaCassiereComponentSession.MAX_OPI_DIMENSION);
}
return storageObject;
} catch (Exception e) {
throw handleException(e);
}
}
use of it.cnr.contab.anagraf00.ejb.AnagraficoComponentSession in project sigla-main by consiglionazionaledellericerche.
the class RicercaTerziBP method inserisciTerzo.
public void inserisciTerzo(it.cnr.jada.action.ActionContext context) throws BusinessProcessException, ParseException {
if (getUser() == null) {
codiceErrore = Constants.ERRORE_SIP_110;
return;
}
if (getTipoterzo() == null || (!getTipoterzo().equalsIgnoreCase("fisica") && !getTipoterzo().equalsIgnoreCase("giuridica"))) {
codiceErrore = Constants.ERRORE_SIP_104;
return;
}
if (getVia() == null || getCivico() == null || getCap() == null || getNazione() == null || getComune() == null) {
codiceErrore = Constants.ERRORE_SIP_107;
return;
}
if (getTipoterzo().equalsIgnoreCase("fisica")) {
if (getCognome() == null || getNome() == null || getCodice_fiscale() == null || getData_nascita() == null || getNazione_nascita() == null || getComune_nascita() == null || getSesso() == null) {
codiceErrore = Constants.ERRORE_SIP_107;
return;
}
}
if (getTipoterzo().equalsIgnoreCase("giuridica")) {
if (getRagione_sociale() == null || getPartita_iva() == null) {
codiceErrore = Constants.ERRORE_SIP_107;
return;
}
}
AnagraficoBulk anagrafico = new AnagraficoBulk();
try {
anagrafico = (AnagraficoBulk) ((AnagraficoComponentSession) createComponentSession("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class)).inizializzaBulkPerInserimento(context.getUserContext(false), anagrafico);
} catch (ComponentException e1) {
codiceErrore = Constants.ERRORE_SIP_100;
} catch (RemoteException e1) {
codiceErrore = Constants.ERRORE_SIP_100;
}
anagrafico.setVia_fiscale(getVia());
anagrafico.setNum_civico_fiscale(getCivico());
anagrafico.setCap_comune_fiscale(getCap());
anagrafico.setNazionalita(new NazioneBulk(new Long(getNazione())));
anagrafico.setComune_fiscale(new ComuneBulk(new Long(getComune())));
anagrafico.setFl_occasionale(Boolean.FALSE);
anagrafico.setFl_fatturazione_differita(Boolean.FALSE);
anagrafico.setTi_entita_persona_struttura(AnagraficoBulk.ENTITA_PERSONA);
anagrafico.setTi_entita(getTipoterzo().equalsIgnoreCase("fisica") ? AnagraficoBulk.FISICA : AnagraficoBulk.GIURIDICA);
if (getTipoterzo().equalsIgnoreCase("fisica")) {
anagrafico.setTi_entita_fisica(AnagraficoBulk.ALTRO);
anagrafico.setFl_soggetto_iva(Boolean.FALSE);
anagrafico.setCognome(getCognome());
anagrafico.setNome(getNome());
anagrafico.setCodice_fiscale(getCodice_fiscale().toUpperCase());
anagrafico.setDt_nascita(new Timestamp(new SimpleDateFormat("yyyy/MM/dd").parse(getData_nascita()).getTime()));
anagrafico.setComune_nascita(new ComuneBulk(new Long(getComune_nascita())));
anagrafico.setTi_sesso(getSesso().toUpperCase());
} else if (getTipoterzo().equalsIgnoreCase("giuridica")) {
anagrafico.setTi_entita_giuridica(AnagraficoBulk.ALTRO);
anagrafico.setFl_soggetto_iva(Boolean.TRUE);
anagrafico.setRagione_sociale(getRagione_sociale());
anagrafico.setPartita_iva(getPartita_iva());
}
anagrafico.setUser(getUser());
anagrafico.setToBeCreated();
try {
setTerzi(((AnagraficoComponentSession) createComponentSession("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class)).bulkForSIP(context.getUserContext(false), anagrafico));
} catch (ComponentException e) {
if (e.getDetail() instanceof DuplicateKeyException)
codiceErrore = Constants.ERRORE_SIP_106;
else
codiceErrore = Constants.ERRORE_SIP_105;
} catch (RemoteException e) {
codiceErrore = Constants.ERRORE_SIP_100;
}
}
use of it.cnr.contab.anagraf00.ejb.AnagraficoComponentSession in project sigla-main by consiglionazionaledellericerche.
the class RicercaTerziBP method modificaTerzo.
public void modificaTerzo(it.cnr.jada.action.ActionContext context) throws BusinessProcessException, ParseException {
if (getTipoterzo() == null || (!getTipoterzo().equalsIgnoreCase("fisica") && !getTipoterzo().equalsIgnoreCase("giuridica"))) {
codiceErrore = Constants.ERRORE_SIP_104;
return;
}
if (getCd_terzo() == null) {
codiceErrore = Constants.ERRORE_SIP_107;
return;
}
TerzoBulk terzo = new TerzoBulk(new Integer(getCd_terzo()));
try {
RemoteIterator iterator = EJBCommonServices.openRemoteIterator(context, ((TerzoComponentSession) createComponentSession("CNRANAGRAF00_EJB_TerzoComponentSession", TerzoComponentSession.class)).cerca(context.getUserContext(false), null, terzo));
if (iterator == null || iterator.countElements() != 1) {
codiceErrore = Constants.ERRORE_SIP_108;
return;
}
terzo = (TerzoBulk) iterator.nextElement();
} catch (ComponentException e) {
codiceErrore = Constants.ERRORE_SIP_100;
} catch (RemoteException e) {
codiceErrore = Constants.ERRORE_SIP_100;
}
if (getVia() == null || getCivico() == null || getCap() == null || getNazione() == null || getComune() == null) {
codiceErrore = Constants.ERRORE_SIP_107;
return;
}
if (getTipoterzo().equalsIgnoreCase("fisica")) {
if (getCognome() == null || getNome() == null || getCodice_fiscale() == null || getData_nascita() == null || getNazione_nascita() == null || getComune_nascita() == null || getSesso() == null) {
codiceErrore = Constants.ERRORE_SIP_107;
return;
}
}
if (getTipoterzo().equalsIgnoreCase("giuridica")) {
if (getRagione_sociale() == null || getPartita_iva() == null) {
codiceErrore = Constants.ERRORE_SIP_107;
return;
}
}
AnagraficoBulk anagrafico = terzo.getAnagrafico();
try {
anagrafico = (AnagraficoBulk) ((AnagraficoComponentSession) createComponentSession("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class)).inizializzaBulkPerModifica(context.getUserContext(false), anagrafico);
} catch (ComponentException e1) {
codiceErrore = Constants.ERRORE_SIP_100;
} catch (RemoteException e1) {
codiceErrore = Constants.ERRORE_SIP_100;
}
anagrafico.setVia_fiscale(getVia());
anagrafico.setNum_civico_fiscale(getCivico());
anagrafico.setCap_comune_fiscale(getCap());
anagrafico.setNazionalita(new NazioneBulk(new Long(getNazione())));
anagrafico.setComune_fiscale(new ComuneBulk(new Long(getComune())));
anagrafico.getComune_fiscale().setNazione(anagrafico.getNazionalita());
anagrafico.setFl_occasionale(Boolean.FALSE);
anagrafico.setFl_fatturazione_differita(Boolean.FALSE);
anagrafico.setTi_entita_persona_struttura(AnagraficoBulk.ENTITA_PERSONA);
anagrafico.setTi_entita(getTipoterzo().equalsIgnoreCase("fisica") ? AnagraficoBulk.FISICA : AnagraficoBulk.GIURIDICA);
if (getTipoterzo().equalsIgnoreCase("fisica")) {
anagrafico.setTi_entita_fisica(AnagraficoBulk.ALTRO);
anagrafico.setFl_soggetto_iva(Boolean.FALSE);
anagrafico.setCognome(getCognome());
anagrafico.setNome(getNome());
anagrafico.setCodice_fiscale(getCodice_fiscale().toUpperCase());
anagrafico.setDt_nascita(new Timestamp(new SimpleDateFormat("yyyy/MM/dd").parse(getData_nascita()).getTime()));
anagrafico.setComune_nascita(new ComuneBulk(new Long(getComune_nascita())));
anagrafico.setTi_sesso(getSesso().toUpperCase());
} else if (getTipoterzo().equalsIgnoreCase("giuridica")) {
anagrafico.setTi_entita_giuridica(AnagraficoBulk.ALTRO);
anagrafico.setFl_soggetto_iva(Boolean.TRUE);
anagrafico.setRagione_sociale(getRagione_sociale());
anagrafico.setPartita_iva(getPartita_iva());
}
anagrafico.setToBeUpdated();
try {
setTerzi(((AnagraficoComponentSession) createComponentSession("CNRANAGRAF00_EJB_AnagraficoComponentSession", AnagraficoComponentSession.class)).bulkForSIP(context.getUserContext(false), anagrafico));
} catch (ComponentException e) {
if (e.getDetail() instanceof DuplicateKeyException)
codiceErrore = Constants.ERRORE_SIP_106;
else
codiceErrore = Constants.ERRORE_SIP_105;
} catch (RemoteException e) {
codiceErrore = Constants.ERRORE_SIP_100;
}
}
use of it.cnr.contab.anagraf00.ejb.AnagraficoComponentSession in project sigla-main by consiglionazionaledellericerche.
the class ElaboraFileIntraBP method doElaboraFile.
public void doElaboraFile(ActionContext context, VIntra12Bulk dett) throws BusinessProcessException, ComponentException, PersistencyException, IntrospectionException {
try {
File f = new File(System.getProperty("tmp.dir.SIGLAWeb") + "/tmp/", "INTRASTAT" + EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.DAY_OF_MONTH) + +new Integer(EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.MONTH) + 1) + +EcfBulk.getDateCalendar(it.cnr.jada.util.ejb.EJBCommonServices.getServerDate()).get(java.util.Calendar.YEAR) + "intra12.cee");
OutputStream os = (OutputStream) new FileOutputStream(f);
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
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()).EstraiListaIntra12(context.getUserContext(), getModel());
AnagraficoBulk resp = null;
if (!lista.isEmpty()) {
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);
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);
}
BigDecimal totImpIntra = new BigDecimal("0");
BigDecimal totIvaIntra = new BigDecimal("0");
BigDecimal totImpBeniIntra = new BigDecimal("0");
BigDecimal totIvaBeniIntra = new BigDecimal("0");
BigDecimal totImpServIntra = new BigDecimal("0");
BigDecimal totIvaServIntra = new BigDecimal("0");
BigDecimal totImpS30Intra = new BigDecimal("0");
BigDecimal totImpServExtra = new BigDecimal("0");
BigDecimal totIvaServExtra = new BigDecimal("0");
BigDecimal totImpS30Extra = new BigDecimal("0");
BigDecimal totImpBeniExtra = new BigDecimal("0");
BigDecimal totIvaBeniExtra = new BigDecimal("0");
for (Iterator i = lista.iterator(); i.hasNext(); ) {
VIntra12Bulk d = (VIntra12Bulk) i.next();
if (d.getFlIntraUe()) {
totImpIntra = totImpIntra.add(d.getImponibile());
totIvaIntra = totIvaIntra.add(d.getIva());
if (d.getCdBeneServizio().compareTo("BENI") == 0) {
totImpBeniIntra = totImpBeniIntra.add(d.getImponibile());
totIvaBeniIntra = totIvaBeniIntra.add(d.getIva());
} else if (d.getCdBeneServizio().compareTo("S030") == 0) {
totImpS30Intra = totImpS30Intra.add(d.getImponibile());
totImpServIntra = totImpServIntra.add(d.getImponibile());
totIvaServIntra = totIvaServIntra.add(d.getIva());
} else {
totImpServIntra = totImpServIntra.add(d.getImponibile());
totIvaServIntra = totIvaServIntra.add(d.getIva());
}
} else if (d.getFlExtraUe()) {
if (d.getCdBeneServizio().compareTo("S030") == 0) {
totImpS30Extra = totImpS30Extra.add(d.getImponibile());
totImpServExtra = totImpServExtra.add(d.getImponibile());
totIvaServExtra = totIvaServExtra.add(d.getIva());
} else if (d.getCdBeneServizio().compareTo("BENI") != 0) {
totImpServExtra = totImpServExtra.add(d.getImponibile());
totIvaServExtra = totIvaServExtra.add(d.getIva());
} else if (d.getCdBeneServizio().compareTo("BENI") == 0) {
totImpBeniExtra = totImpBeniExtra.add(d.getImponibile());
totIvaBeniExtra = totIvaBeniExtra.add(d.getIva());
}
}
}
// Tipo Record A Testata
// tipo record
bw.append("A");
// Filler
bw.append(Formatta(null, "S", 14, " "));
// Codice fornitura
bw.append("T1210");
// Soggetti che inviano proprie dichiarazioni
bw.append("01");
String Codice_Fiscale = ente.getCodice_fiscale();
String P_iva = ente.getPartita_iva();
if (Codice_Fiscale == null)
throw new ApplicationException("Codice Fiscale non valorizzati per l'ente!");
// Codice fiscale
bw.append(Formatta(Codice_Fiscale, "S", 16, " "));
// Filler
bw.append(Formatta(null, "S", 483, " "));
// Filler
bw.append(Formatta(null, "S", 4, "0"));
// Filler
bw.append(Formatta(null, "S", 4, "0"));
// Filler campo utente
bw.append(Formatta(null, "S", 100, " "));
// Filler
bw.append(Formatta(null, "S", 1068, " "));
// Filler
bw.append(Formatta(null, "S", 200, " "));
//
bw.append("A");
bw.append("\r\n");
// fine record A Testata
// Tipo Record B Frontespizio
// tipo record
bw.append("B");
// Codice fiscale
bw.append(Formatta(Codice_Fiscale, "S", 16, " "));
// Progressivo modulo (VALE 1)
bw.append(Formatta("1", "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 produttore software (PRESIDENTE)
bw.append(Formatta(resp.getCodice_fiscale(), "S", 16, " "));
// Vale 0 o 1(dichiarazione confermata)
bw.append("1");
// Ufficio Compentente
bw.append(Formatta(config.getVal01(), "S", 3, " "));
// Esercizio
bw.append(Formatta(it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext()).toString(), "S", 4, " "));
// Mese
bw.append(Formatta(((VIntra12Bulk) getModel()).getMese().toString(), "D", 2, "0"));
// Correttiva nei termini?? checkbox
bw.append(Formatta("1", "D", 1, "0"));
// P_iva
bw.append(Formatta(P_iva, "D", 11, "0"));
// CODICE ATTIVITA ???
bw.append(Formatta(config.getVal02(), "S", 6, " "));
// Eventi eccezionali checkbox
bw.append(Formatta("0", "D", 1, "0"));
// Cognome
bw.append(Formatta(null, "S", 24, " "));
// Nome
bw.append(Formatta(null, "S", 20, " "));
// Comune nascita
bw.append(Formatta(null, "S", 40, " "));
// prov. nascita
bw.append(Formatta(null, "S", 2, " "));
// dt. nascita
bw.append(Formatta(null, "D", 8, "0"));
// sesso
bw.append(Formatta(null, "D", 1, " "));
// 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"));
// Filler
bw.append(Formatta(null, "S", 40, " "));
// Filler
bw.append(Formatta(null, "S", 2, " "));
// Filler
bw.append(Formatta(null, "S", 35, " "));
// Filler
bw.append(Formatta(null, "S", 5, " "));
// Filler
bw.append(Formatta(null, "S", 4, " "));
// 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(Codice_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, " "));
}
// cambiato il tracciato dal 01/10/2015 diventati tutti filler
// codice stato estero rappresentante ???????????????
bw.append(Formatta(null, "S", 3, " "));
// bw.append(Formatta(null,"D",3,"0"));//codice stato estero rappresentante ???????????????
// stato fed rappresentante ???????????????
bw.append(Formatta(null, "S", 24, " "));
// residenza rappresentante ???????????????
bw.append(Formatta(null, "S", 24, " "));
// indirizzo estero rappresentante ???????????????
bw.append(Formatta(null, "S", 35, " "));
// cell rappresentante ???????????????
bw.append(Formatta(null, "S", 12, " "));
// 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"));
// cambiato il tracciato dal 01/10/2015
bw.append(Formatta(null, "S", 1, " "));
// fine cambio
bw.append(Formatta(null, "D", 8, "0"));
// Firma intermediario
bw.append(Formatta("0", "D", 1, "0"));
// bw.append(Formatta(null,"S",1228," "));// Filler -- cambiato il tracciato dal 01/10/2015
// Filler -- cambiato il tracciato dal 01/10/2015
bw.append(Formatta(null, "S", 1227, " "));
// Filler
bw.append(Formatta(null, "S", 20, " "));
// Filler
bw.append(Formatta(null, "S", 34, " "));
//
bw.append("A");
bw.append("\r\n");
// fine record B
// Tipo Record C Coda
// tipo record
bw.append("C");
// Codice fiscale
bw.append(Formatta(Codice_Fiscale, "S", 16, " "));
// Progressivo modulo (VALE 1)
bw.append(Formatta("1", "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 produttore software
bw.append(Formatta(null, "S", 16, " "));
Integer limite_col = 75;
Integer num_col = 0;
/*if(totImpIntra.compareTo(BigDecimal.ZERO)!=0){
bw.append("TR012001");
bw.append(Formatta(totImpIntra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","),"D",16," "));
num_col++;
}
if(totIvaIntra.compareTo(BigDecimal.ZERO)!=0){
bw.append("TR012002");
bw.append(Formatta(totIvaIntra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","),"D",16," "));
num_col++;
}
if(totImpBeniIntra.compareTo(BigDecimal.ZERO)!=0){
bw.append("TR012003");
bw.append(Formatta(totImpBeniIntra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","),"D",16," "));
num_col++;
}
if(totIvaBeniIntra.compareTo(BigDecimal.ZERO)!=0){
bw.append("TR012004");
bw.append(Formatta(totIvaBeniIntra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","),"D",16," "));
num_col++;
}
*/
if (totImpBeniIntra.compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012001");
bw.append(Formatta(totImpBeniIntra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (totIvaBeniIntra.compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012002");
bw.append(Formatta(totIvaBeniIntra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (BigDecimal.ZERO.compareTo(BigDecimal.ZERO) != 0) {
// Beni soggetti stabiliti in altri stati comunita (beni assemblati in Italia)
bw.append("TR012003");
bw.append(Formatta(BigDecimal.ZERO.toString(), "D", 16, " "));
num_col++;
}
if (BigDecimal.ZERO.compareTo(BigDecimal.ZERO) != 0) {
// Iva Beni soggetti stabiliti in altri stati comunita (beni assemblati in Italia)
bw.append("TR012004");
bw.append(Formatta(BigDecimal.ZERO.toString(), "D", 16, " "));
num_col++;
}
if (totImpServIntra.compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012005");
bw.append(Formatta(totImpServIntra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (totImpS30Intra.compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012006");
bw.append(Formatta(totImpS30Intra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (totIvaServIntra.compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012007");
bw.append(Formatta(totIvaServIntra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (totImpBeniExtra.compareTo(BigDecimal.ZERO) != 0) {
// Bolle doganali ignorare imponibile - considerato beni san marino
bw.append("TR012008");
bw.append(Formatta(totImpBeniExtra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (totIvaBeniExtra.compareTo(BigDecimal.ZERO) != 0) {
// Bolle doganali ignorare iva
bw.append("TR012009");
bw.append(Formatta(totIvaBeniExtra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (totImpServExtra.compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012010");
bw.append(Formatta(totImpServExtra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (totImpS30Extra.compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012011");
bw.append(Formatta(totImpS30Extra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if (totIvaServExtra.compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012012");
bw.append(Formatta(totIvaServExtra.setScale(2, java.math.BigDecimal.ROUND_HALF_UP).toString().replace(".", ","), "D", 16, " "));
num_col++;
}
if ((totIvaServExtra.add(totIvaServIntra).add(totIvaBeniIntra).add(totIvaBeniExtra)).compareTo(BigDecimal.ZERO) != 0) {
bw.append("TR012013");
bw.append(Formatta((((totIvaServExtra.add(totIvaServIntra).add(totIvaBeniIntra).add(totIvaBeniExtra)).setScale(2, java.math.BigDecimal.ROUND_HALF_UP)).toString().replace(".", ",")), "D", 16, " "));
num_col++;
}
// Campi non posizionali
// data versamento
bw.append("TR012014");
java.util.Date data = ((ElaboraFileIntraComponentSession) createComponentSession()).recuperoMaxDtPagamentoLiq(context.getUserContext(), getModel());
if (data != null) {
// completamento 16 caratteri non necessari per data
bw.append(Formatta(null, "D", 8, " "));
GregorianCalendar datagc = new GregorianCalendar();
datagc.setTime(new Date(data.getTime()));
bw.append(Formatta(new Integer(datagc.get(GregorianCalendar.DAY_OF_MONTH)).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(datagc.get(GregorianCalendar.MONTH) + 1).toString(), "D", 2, "0"));
bw.append(Formatta(new Integer(datagc.get(GregorianCalendar.YEAR)).toString(), "D", 4, "0"));
} else
throw new ApplicationException("Il pagamento della liquidazione iva ente per il mese selezionato non è stato effettuato!");
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("1", "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