Search in sources :

Example 1 with Liquidazione_ivaVBulk

use of it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaVBulk in project sigla-main by consiglionazionaledellericerche.

the class StampaRegistriIvaComponent method callStampeIva.

// ^^@@
/**
 *  gestisce il richiamo delle procedure sul DB per la registrazione, la stampa,
 *  la liquidazione, la conferma dei registri e l'annullamento di un registro
 *  registro provvisorio o definitivo
 *    PreCondition:
 *      richiesta di creare un registro nuovo provvisorio o definitivo
 *    PostCondition:
 *      crea il registro
 *  stampa di un registro
 *    PreCondition:
 *      richiesta di stampa di un registro provvisorio o definitivo
 *    PostCondition:
 *      crea il prospetto di stampa
 *  liquidazione
 *	   PreCondition:
 *      liquidazione provvisoria o definitiva
 *    PostCondition:
 *      crea la liquidazione
 *  Si è verificato un errore.
 *    PreCondition:
 *      Si è verificato un errore.
 *    PostCondition:
 *      Viene inviato un messaggio e non permette l'operazione
 */
// ^^@@
public MTUWrapper callStampeIva(it.cnr.jada.UserContext userContext, Stampa_registri_ivaVBulk stampaBulk) throws it.cnr.jada.comp.ComponentException {
    // ricavo il progressivo unico pg_stampa
    java.math.BigDecimal pg_Stampa = null;
    if (stampaBulk instanceof IPrintable) {
        if (stampaBulk instanceof Liquidazione_massa_provvisoria_ivaVBulk)
            pg_Stampa = ((IPrintable) stampaBulk).getId_report();
        else {
            pg_Stampa = getSequence(userContext);
            ((IPrintable) stampaBulk).setId_report(pg_Stampa);
        }
    }
    MTUStuff message = new MTUStuff("");
    // per le liquidazioni aggiungo una riga con i dati i dati inseriti dall'utente
    if (stampaBulk.isLiquidazione()) {
        Liquidazione_ivaBulk liquidazione = aggiornaLiquidazione(userContext, (Liquidazione_ivaVBulk) stampaBulk, pg_Stampa);
        try {
            insertBulk(userContext, liquidazione);
        } catch (it.cnr.jada.persistency.PersistencyException ex) {
            throw new it.cnr.jada.comp.ApplicationException("Errore generale");
        }
    }
    String msgSP = "";
    if (stampaBulk.getTipo_stampa().equals("GESTIONE")) {
        controllaSezionali(userContext, stampaBulk);
        LoggableStatement cs = null;
        try {
            try {
                if (stampaBulk.getTipo_report().equals("CONFERMA"))
                    cs = new LoggableStatement(getConnection(userContext), "{call " + it.cnr.jada.util.ejb.EJBCommonServices.getDefaultSchema() + "CNRCTB250.conferma_registro(?,?,?,?,?,?,?) }", false, this.getClass());
                else
                    cs = new LoggableStatement(getConnection(userContext), "{call " + it.cnr.jada.util.ejb.EJBCommonServices.getDefaultSchema() + "CNRCTB250.annulla_registro(?,?,?,?,?,?,?) }", false, this.getClass());
                // CD CDS
                cs.setString(1, ((Gestione_registri_ivaVBulk) stampaBulk).getUnita_organizzativa().getUnita_padre().getCd_unita_organizzativa());
                // Cd_unita_organizzativa
                cs.setString(2, ((Gestione_registri_ivaVBulk) stampaBulk).getUnita_organizzativa().getCd_unita_organizzativa());
                // ESERCIZIO
                cs.setInt(3, stampaBulk.getEsercizio().intValue());
                // Cd_tipo_sezionale
                cs.setString(4, stampaBulk.getTipo_sezionale().getCd_tipo_sezionale());
                // Data inizio
                cs.setDate(5, new Date(stampaBulk.getData_da().getTime()));
                // Data fine
                cs.setDate(6, new Date(stampaBulk.getData_a().getTime()));
                // Utente
                cs.setString(7, stampaBulk.getUser());
                cs.executeQuery();
            } catch (java.sql.SQLException e) {
                throw SQLExceptionHandler.getInstance().handleSQLException(e);
            } finally {
                if (cs != null)
                    cs.close();
            }
        } catch (Throwable ex) {
            if (ex instanceof ApplicationWarningPersistencyException)
                message.setMessage(ex.getMessage());
            else
                throw handleException(ex);
        }
    } else {
        // richiamo la stored procedure per la generazione dei vari report
        LoggableStatement cs = null;
        try {
            try {
                cs = new LoggableStatement(getConnection(userContext), "{call " + it.cnr.jada.util.ejb.EJBCommonServices.getDefaultSchema() + "CNRCTB250.StampeIVA(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }", false, this.getClass());
                // CD CDS
                cs.setString(1, stampaBulk.getCd_cds());
                // Cd_unita_organizzativa
                cs.setString(2, stampaBulk.getCd_unita_organizzativa());
                // ESERCIZIO
                cs.setInt(3, stampaBulk.getEsercizio().intValue());
                if (stampaBulk.isStarSezionali())
                    // Cd_tipo_sezionale
                    cs.setString(4, "*");
                else
                    // Cd_tipo_sezionale
                    cs.setString(4, stampaBulk.getTipo_sezionale().getCd_tipo_sezionale());
                // Data inizio
                cs.setDate(5, new Date(stampaBulk.getData_da().getTime()));
                // Data fine
                cs.setDate(6, new Date(stampaBulk.getData_a().getTime()));
                if (stampaBulk.getTipo_stampa().equals(stampaBulk.TIPO_STAMPA_LIQUIDAZIONE) && stampaBulk.getTipo_report().equals(stampaBulk.DEFINITIVO))
                    // TipoStampa = 'LIQUIDAZIONE_DEF'
                    cs.setString(7, stampaBulk.getTipo_stampa() + "_DEF");
                else
                    // TipoStampa = 'REGISTRI'/ 'RIEPILOGATIVI' / 'LIQUIDAZIONE' / 'LIQUIDAZIONE DI MASSA'
                    cs.setString(7, stampaBulk.getTipo_stampa());
                if (stampaBulk.isStarRegistro()) {
                    if (stampaBulk.isRiepilogativo())
                        cs.setString(8, ((Riepilogativi_ivaVBulk) stampaBulk).getSezionaliFlag());
                    else
                        // TipoRegistro
                        cs.setString(8, "*");
                } else if (stampaBulk.getTipo_stampa() != null && stampaBulk.getTipo_stampa().equals(stampaBulk.TIPO_STAMPA_RIEPILOGATIVI_IVA_DIFFERITA))
                    cs.setString(8, ((Riepilogativi_ivaVBulk) stampaBulk).getSezionaliFlag());
                else
                    // TipoRegistro
                    cs.setString(8, stampaBulk.getTipo_sezionale().getTi_acquisti_vendite());
                // TipoReport = 'P' [provvisorio] / 'D' [definitivo]
                cs.setString(9, stampaBulk.getTipo_report());
                cs.setString(10, ((stampaBulk.isRistampa()) ? stampaBulk.RISTAMPA : // Ristampa = 'N' [no ristampa] / 'Y' [ristampa]
                stampaBulk.NON_RISTAMPA));
                // repId [dalla sequence]
                cs.setBigDecimal(11, pg_Stampa);
                // logId [?] (al momento non è gestito...)
                cs.setInt(12, 1);
                cs.registerOutParameter(13, java.sql.Types.VARCHAR);
                cs.setString(14, stampaBulk.getUser());
                cs.setString(15, (stampaBulk.getTipoSezionaleFlag() == null) ? "" : stampaBulk.getTipoSezionaleFlag());
                cs.setString(16, stampaBulk.getTipoImpegnoFlag());
                cs.executeQuery();
                msgSP = cs.getString(13);
            } catch (java.sql.SQLException e) {
                throw SQLExceptionHandler.getInstance().handleSQLException(e);
            } finally {
                if (cs != null)
                    cs.close();
            }
        } catch (Throwable ex) {
            if (ex instanceof ApplicationWarningPersistencyException)
                message.setMessage(ex.getMessage());
            else
                throw handleException(ex);
        }
        // per la liquidazione vado a rileggere i dati updatati dalla stored procedure
        if (stampaBulk.isLiquidazione()) {
            try {
                Liquidazione_ivaBulk liquidazione = ((Liquidazione_ivaVBulk) stampaBulk).getLiquidazione_iva();
                it.cnr.jada.bulk.BulkHome home = getHome(userContext, Liquidazione_ivaBulk.class);
                it.cnr.jada.persistency.sql.SQLBuilder sql = home.createSQLBuilder();
                sql.addClause("AND", "cd_cds", sql.EQUALS, liquidazione.getCd_cds());
                sql.addClause("AND", "esercizio", sql.EQUALS, liquidazione.getEsercizio());
                sql.addClause("AND", "cd_unita_organizzativa", sql.EQUALS, liquidazione.getCd_unita_organizzativa());
                sql.addClause("AND", "dt_inizio", sql.EQUALS, liquidazione.getDt_inizio());
                sql.addClause("AND", "dt_fine", sql.EQUALS, liquidazione.getDt_fine());
                if (stampaBulk instanceof Liquidazione_definitiva_ivaVBulk)
                    sql.addClause("AND", "report_id", sql.EQUALS, new Long(0L));
                else
                    sql.addClause("AND", "report_id", sql.EQUALS, liquidazione.getReport_id());
                sql.addClause("AND", "tipo_liquidazione", sql.EQUALS, stampaBulk.getTipoSezionaleFlag());
                it.cnr.jada.persistency.Broker broker = home.createBroker(sql);
                if (!broker.next())
                    throw new ApplicationException("Impossibile recuperare i dati della liquidazione dopo l'esecuzione della procedura!");
                ((Liquidazione_ivaVBulk) stampaBulk).setLiquidazione_iva((Liquidazione_ivaBulk) broker.fetch(Liquidazione_ivaBulk.class));
            } catch (it.cnr.jada.persistency.PersistencyException e) {
                throw handleException(e);
            }
        }
    }
    if (msgSP != null && msgSP != "")
        message.setMessage(msgSP);
    return new MTUWrapper(stampaBulk, message);
}
Also used : MTUWrapper(it.cnr.jada.bulk.MTUWrapper) Liquidazione_ivaVBulk(it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaVBulk) Liquidazione_massa_provvisoria_ivaVBulk(it.cnr.contab.gestiva00.core.bulk.Liquidazione_massa_provvisoria_ivaVBulk) SQLException(java.sql.SQLException) Gestione_registri_ivaVBulk(it.cnr.contab.gestiva00.core.bulk.Gestione_registri_ivaVBulk) ApplicationWarningPersistencyException(it.cnr.jada.persistency.sql.ApplicationWarningPersistencyException) MTUStuff(it.cnr.jada.bulk.MTUStuff) PersistencyException(it.cnr.jada.persistency.PersistencyException) ApplicationException(it.cnr.jada.comp.ApplicationException) LoggableStatement(it.cnr.jada.persistency.sql.LoggableStatement) Liquidazione_ivaBulk(it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaBulk) SQLBuilder(it.cnr.jada.persistency.sql.SQLBuilder) Riepilogativi_ivaVBulk(it.cnr.contab.gestiva00.core.bulk.Riepilogativi_ivaVBulk) Date(java.sql.Date) Liquidazione_definitiva_ivaVBulk(it.cnr.contab.gestiva00.core.bulk.Liquidazione_definitiva_ivaVBulk) IPrintable(it.cnr.contab.gestiva00.core.bulk.IPrintable) ApplicationException(it.cnr.jada.comp.ApplicationException)

Example 2 with Liquidazione_ivaVBulk

use of it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaVBulk in project sigla-main by consiglionazionaledellericerche.

the class StampaRegistriIvaComponent method aggiornaLiquidazione.

private Liquidazione_ivaBulk aggiornaLiquidazione(it.cnr.jada.UserContext userContext, Liquidazione_ivaVBulk stampaBulk, java.math.BigDecimal pg_Stampa) throws it.cnr.jada.comp.ComponentException {
    Liquidazione_ivaBulk liquidazione = stampaBulk.getLiquidazione_iva();
    liquidazione.setReport_id(new Long(pg_Stampa.longValue()));
    liquidazione.setDt_inizio(stampaBulk.getData_da());
    liquidazione.setDt_fine(stampaBulk.getData_a());
    liquidazione.setTipo_liquidazione(stampaBulk.getTipoSezionaleFlag());
    return liquidazione;
}
Also used : Liquidazione_ivaBulk(it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaBulk)

Aggregations

Liquidazione_ivaBulk (it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaBulk)2 Gestione_registri_ivaVBulk (it.cnr.contab.gestiva00.core.bulk.Gestione_registri_ivaVBulk)1 IPrintable (it.cnr.contab.gestiva00.core.bulk.IPrintable)1 Liquidazione_definitiva_ivaVBulk (it.cnr.contab.gestiva00.core.bulk.Liquidazione_definitiva_ivaVBulk)1 Liquidazione_ivaVBulk (it.cnr.contab.gestiva00.core.bulk.Liquidazione_ivaVBulk)1 Liquidazione_massa_provvisoria_ivaVBulk (it.cnr.contab.gestiva00.core.bulk.Liquidazione_massa_provvisoria_ivaVBulk)1 Riepilogativi_ivaVBulk (it.cnr.contab.gestiva00.core.bulk.Riepilogativi_ivaVBulk)1 MTUStuff (it.cnr.jada.bulk.MTUStuff)1 MTUWrapper (it.cnr.jada.bulk.MTUWrapper)1 ApplicationException (it.cnr.jada.comp.ApplicationException)1 PersistencyException (it.cnr.jada.persistency.PersistencyException)1 ApplicationWarningPersistencyException (it.cnr.jada.persistency.sql.ApplicationWarningPersistencyException)1 LoggableStatement (it.cnr.jada.persistency.sql.LoggableStatement)1 SQLBuilder (it.cnr.jada.persistency.sql.SQLBuilder)1 Date (java.sql.Date)1 SQLException (java.sql.SQLException)1