Search in sources :

Example 21 with AnagraficoBulk

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, 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!");
    }
}
Also used : Date(java.util.Date) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileNotFoundException(java.io.FileNotFoundException) VIntra12Bulk(it.cnr.contab.docamm00.docs.bulk.VIntra12Bulk) BufferedWriter(java.io.BufferedWriter) Iterator(java.util.Iterator) AnagraficoBulk(it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk) GregorianCalendar(java.util.GregorianCalendar) IOException(java.io.IOException) BigDecimal(java.math.BigDecimal) Date(java.util.Date) BigInteger(java.math.BigInteger) ElaboraFileIntraComponentSession(it.cnr.contab.docamm00.ejb.ElaboraFileIntraComponentSession) ApplicationException(it.cnr.jada.comp.ApplicationException) AnagraficoComponentSession(it.cnr.contab.anagraf00.ejb.AnagraficoComponentSession) FileOutputStream(java.io.FileOutputStream) ComponentException(it.cnr.jada.comp.ComponentException) OutputStreamWriter(java.io.OutputStreamWriter) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) File(java.io.File) ComuneBulk(it.cnr.contab.anagraf00.tabter.bulk.ComuneBulk)

Example 22 with AnagraficoBulk

use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.

the class Mandato_rigaHome method findCodiciCollegabiliSIOPE.

/**
 * Recupera tutti i dati nella tabella CODICI_SIOPE associabili alla riga mandato in uso.
 *
 * @param riga La riga di mandato in uso.
 * @return java.util.Collection Collezione di oggetti <code>Codici_siopeBulk</code>
 */
public java.util.Collection findCodiciCollegabiliSIOPE(UserContext userContext, Mandato_rigaBulk riga) throws PersistencyException {
    String uoEnte = riga.getMandato().getCd_uo_ente();
    if (uoEnte == null) {
        PersistentHome uoEnteHome = getHomeCache().getHome(Unita_organizzativa_enteBulk.class);
        List result = uoEnteHome.fetchAll(uoEnteHome.createSQLBuilder());
        uoEnte = ((Unita_organizzativaBulk) result.get(0)).getCd_unita_organizzativa();
    }
    if (uoEnte != null && riga.getMandato().getCd_unita_organizzativa() != null && uoEnte.equals(riga.getMandato().getCd_unita_organizzativa()) && riga.getMandato().isMandatoAccreditamento()) {
        try {
            it.cnr.contab.config00.bulk.Configurazione_cnrBulk config = Utility.createConfigurazioneCnrComponentSession().getConfigurazione(userContext, riga.getEsercizio(), null, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.PK_CODICE_SIOPE_DEFAULT, it.cnr.contab.config00.bulk.Configurazione_cnrBulk.SK_MANDATO_ACCREDITAMENTO);
            if (config.getVal01() == null)
                return null;
            else {
                PersistentHome codice_siopeHome = getHomeCache().getHome(Codici_siopeBulk.class);
                SQLBuilder sql = codice_siopeHome.createSQLBuilder();
                sql.addClause("AND", "esercizio", SQLBuilder.EQUALS, riga.getEsercizio());
                sql.addClause("AND", "ti_gestione", SQLBuilder.EQUALS, Elemento_voceHome.GESTIONE_SPESE);
                sql.addClause("AND", "cd_siope", SQLBuilder.EQUALS, config.getVal01());
                return codice_siopeHome.fetchAll(sql);
            }
        } catch (Exception e) {
            return null;
        }
    } else {
        initializeElemento_voce(userContext, riga);
        Elemento_voceHome elemento_voceHome = (Elemento_voceHome) getHomeCache().getHome(Elemento_voceBulk.class);
        if (riga.getElemento_voce().getFl_check_terzo_siope().booleanValue()) {
            TerzoBulk terzo = (TerzoBulk) getHomeCache().getHome(TerzoBulk.class).findByPrimaryKey(new TerzoBulk(riga.getCd_terzo()));
            AnagraficoBulk anagrafico = (AnagraficoBulk) getHomeCache().getHome(AnagraficoBulk.class).findByPrimaryKey(new AnagraficoBulk(terzo.getCd_anag()));
            return elemento_voceHome.findCodiciCollegatiSIOPE(userContext, riga.getElemento_voce(), anagrafico.getTipologia_istat());
        } else
            return elemento_voceHome.findCodiciCollegatiSIOPE(userContext, riga.getElemento_voce(), null);
    }
}
Also used : SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) AnagraficoBulk(it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk) Elemento_voceBulk(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceBulk) SQLException(java.sql.SQLException) PersistencyException(it.cnr.jada.persistency.PersistencyException) RemoteException(java.rmi.RemoteException) BusinessProcessException(it.cnr.jada.action.BusinessProcessException) ComponentException(it.cnr.jada.comp.ComponentException) Elemento_voceHome(it.cnr.contab.config00.pdcfin.bulk.Elemento_voceHome) TerzoBulk(it.cnr.contab.anagraf00.core.bulk.TerzoBulk) List(java.util.List) PersistentHome(it.cnr.jada.persistency.sql.PersistentHome) it.cnr.contab.docamm00.docs.bulk(it.cnr.contab.docamm00.docs.bulk)

Example 23 with AnagraficoBulk

use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.

the class AnagraficoComponent method verificaStrutturaPiva.

public boolean verificaStrutturaPiva(UserContext userContext, AnagraficoBulk anagrafico) throws ComponentException, ValidationException {
    if (anagrafico != null && anagrafico.getPartita_iva() == null && anagrafico.getFl_non_obblig_p_iva().booleanValue())
        return true;
    if (anagrafico == null || anagrafico.getPartita_iva() == null)
        return false;
    if (anagrafico.getPartita_iva().contains(" "))
        throw new ApplicationException("Eliminare gli spazi nella partita iva.");
    NazioneBulk nazione = new NazioneBulk();
    nazione.setPg_nazione(anagrafico.getPg_nazione_fiscale());
    try {
        nazione = (NazioneBulk) getHome(userContext, nazione).findByPrimaryKey(nazione);
    } catch (it.cnr.jada.persistency.PersistencyException ex) {
        throw handleException(ex);
    }
    if (nazione != null)
        anagrafico.setNazionalita(nazione);
    else {
        if (anagrafico.getComune_fiscale() != null && anagrafico.getComune_fiscale().getNazione() != null)
            anagrafico.setNazionalita(anagrafico.getComune_fiscale().getNazione());
        else if (anagrafico.getComune_fiscale() != null && anagrafico.getComune_fiscale().getPg_comune() != null) {
            try {
                anagrafico.setComune_fiscale((ComuneBulk) getHome(userContext, anagrafico.getComune_fiscale()).findByPrimaryKey(anagrafico.getComune_fiscale()));
                anagrafico.setNazionalita((NazioneBulk) getHome(userContext, anagrafico.getComune_fiscale().getNazione()).findByPrimaryKey(anagrafico.getComune_fiscale().getNazione()));
            } catch (it.cnr.jada.persistency.PersistencyException ex) {
                throw handleException(ex);
            }
        }
    }
    // RP intrastat per il momento sospeso controllo per altre nazione CEE
    if (anagrafico.getNazionalita() != null && anagrafico.getNazionalita().getStruttura_piva() == null)
        throw new ApplicationException("Non è definito nessun modello di partita Iva per la nazione.");
    // return true;
    if (anagrafico.getNazionalita() != null && anagrafico.getNazionalita().getStruttura_piva() != null) {
        for (int i = 0; i < anagrafico.getNazionalita().getStrutturaPivaModelliPossibili(); i++) {
            if (anagrafico.getPartita_iva().length() == anagrafico.getNazionalita().getStrutturaPivaModello(i + 1).length()) {
                for (int y = 0; y < anagrafico.getNazionalita().getStrutturaPivaModello(i + 1).length(); y++) {
                    if (anagrafico.getNazionalita().getStrutturaPivaModello(i + 1).charAt(y) != NazioneBulk.IBAN_TIPO_ALFANUMERICO.charAt(0)) {
                        try {
                            char[] data = { anagrafico.getPartita_iva().charAt(y) };
                            int appo = Integer.parseInt(new String(data));
                            if (anagrafico.getNazionalita().getStrutturaPivaModello(i + 1).charAt(y) == NazioneBulk.IBAN_TIPO_CARATTERE.charAt(0))
                                throw new ValidationException("Il " + (y + 1) + "° carattere della partita Iva non deve essere un numero.");
                        } catch (ValidationException e) {
                            throw e;
                        } catch (Exception e) {
                            if (anagrafico.getNazionalita().getStrutturaPivaModello(i + 1).charAt(y) == NazioneBulk.IBAN_TIPO_NUMERICO.charAt(0))
                                throw new ValidationException("Il " + (y + 1) + "° carattere della partita Iva deve essere un numero.");
                        }
                    }
                }
                return true;
            }
        }
    }
    return false;
}
Also used : PersistencyException(it.cnr.jada.persistency.PersistencyException) NazioneBulk(it.cnr.contab.anagraf00.tabter.bulk.NazioneBulk) FeignException(feign.FeignException) AddressException(javax.mail.internet.AddressException) RemoteException(java.rmi.RemoteException) EJBException(javax.ejb.EJBException) IntrospectionException(it.cnr.jada.persistency.IntrospectionException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) NoSuchBeanDefinitionException(org.springframework.beans.factory.NoSuchBeanDefinitionException) ApplicationMessageFormatException(it.cnr.contab.util.ApplicationMessageFormatException) ComponentException(it.cnr.jada.comp.ComponentException) ApplicationException(it.cnr.jada.comp.ApplicationException) PersistencyException(it.cnr.jada.persistency.PersistencyException) ComuneBulk(it.cnr.contab.anagraf00.tabter.bulk.ComuneBulk)

Example 24 with AnagraficoBulk

use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.

the class AnagraficoComponent method findMaxFinMissione.

public java.sql.Timestamp findMaxFinMissione(UserContext context, AnagraficoBulk anagrafico) throws IntrospectionException, PersistencyException, ComponentException {
    MissioneHome missioneHome = (MissioneHome) getHome(context, MissioneBulk.class);
    SQLBuilder sql = missioneHome.createSQLBuilder();
    sql.addTableToHeader("TERZO");
    sql.addSQLJoin("MISSIONE.CD_TERZO", "TERZO.CD_TERZO");
    sql.addSQLClause("AND", "TERZO.CD_ANAG", SQLBuilder.EQUALS, anagrafico.getCd_anag());
    sql.addOrderBy("DT_FINE_MISSIONE DESC");
    java.util.List result = missioneHome.fetchAll(sql);
    if (result == null || result.isEmpty())
        return null;
    else {
        MissioneBulk missione = (MissioneBulk) result.get(0);
        return missione.getDt_fine_missione();
    }
}
Also used : MissioneBulk(it.cnr.contab.missioni00.docs.bulk.MissioneBulk) it.cnr.contab.anagraf00.util(it.cnr.contab.anagraf00.util) java.util(java.util) MissioneHome(it.cnr.contab.missioni00.docs.bulk.MissioneHome)

Example 25 with AnagraficoBulk

use of it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk in project sigla-main by consiglionazionaledellericerche.

the class AnagraficoComponent method validaCarichiFamiliari.

protected void validaCarichiFamiliari(UserContext userContext, AnagraficoBulk anagrafico) throws ApplicationException {
    for (java.util.Iterator i = anagrafico.getCarichi_familiari_anag().iterator(); i.hasNext(); ) {
        Carico_familiare_anagBulk carico_familiare = (Carico_familiare_anagBulk) i.next();
        /* Carichi Familiari se di tipo "Figlio" aggiorno la data "Fine figlio ha treanni" uguale a "Data inizio validità" + 3 */
        if (carico_familiare.FIGLIO.equals(carico_familiare.getTi_persona()) && carico_familiare.getDt_ini_validita() != null) {
            GregorianCalendar dffht = new GregorianCalendar();
            dffht.setTime(carico_familiare.getDt_nascita_figlio());
            dffht.add(dffht.YEAR, 3);
            carico_familiare.setDt_fine_figlio_ha_treanni(new java.sql.Timestamp(dffht.getTime().getTime()));
        }
        if (carico_familiare.getTi_persona() != null && carico_familiare.getDt_fin_validita() != null) {
            try {
                Timestamp dataFineValiditaCarico = Utility.createConfigurazioneCnrComponentSession().getDataFineValiditaCaricoFamiliare(userContext, carico_familiare.getTi_persona());
                if (dataFineValiditaCarico != null && carico_familiare.getDt_fin_validita().compareTo(dataFineValiditaCarico) > 0) {
                    throw new ApplicationException("La data fine validità del carico familiare " + Carico_familiare_anagBulk.PERSONA.get(carico_familiare.getTi_persona()) + " non deve superare la data di fine del beneficio stabilita che è " + new SimpleDateFormat("dd/MM/yyyy").format(dataFineValiditaCarico));
                }
            } catch (ComponentException | RemoteException e) {
                throw new ApplicationException(e);
            }
        }
    }
}
Also used : ApplicationException(it.cnr.jada.comp.ApplicationException) it.cnr.contab.anagraf00.util(it.cnr.contab.anagraf00.util) java.util(java.util) Timestamp(java.sql.Timestamp) ComponentException(it.cnr.jada.comp.ComponentException) RemoteException(java.rmi.RemoteException) Timestamp(java.sql.Timestamp) SimpleDateFormat(java.text.SimpleDateFormat) it.cnr.jada.persistency.sql(it.cnr.jada.persistency.sql)

Aggregations

AnagraficoBulk (it.cnr.contab.anagraf00.core.bulk.AnagraficoBulk)48 ApplicationException (it.cnr.jada.comp.ApplicationException)33 TerzoBulk (it.cnr.contab.anagraf00.core.bulk.TerzoBulk)31 PersistencyException (it.cnr.jada.persistency.PersistencyException)26 ComponentException (it.cnr.jada.comp.ComponentException)24 RemoteException (java.rmi.RemoteException)24 IntrospectionException (it.cnr.jada.persistency.IntrospectionException)17 BigDecimal (java.math.BigDecimal)14 Timestamp (java.sql.Timestamp)14 ComuneBulk (it.cnr.contab.anagraf00.tabter.bulk.ComuneBulk)13 it.cnr.jada.bulk (it.cnr.jada.bulk)13 java.util (java.util)13 it.cnr.contab.anagraf00.core.bulk (it.cnr.contab.anagraf00.core.bulk)12 AnagraficoComponentSession (it.cnr.contab.anagraf00.ejb.AnagraficoComponentSession)12 EJBException (javax.ejb.EJBException)12 BusinessProcessException (it.cnr.jada.action.BusinessProcessException)11 Iterator (java.util.Iterator)11 AnagraficoHome (it.cnr.contab.anagraf00.core.bulk.AnagraficoHome)10 IOException (java.io.IOException)10 TerzoHome (it.cnr.contab.anagraf00.core.bulk.TerzoHome)9