Example usage for org.hibernate.type BigDecimalType BigDecimalType

List of usage examples for org.hibernate.type BigDecimalType BigDecimalType

Introduction

In this page you can find the example usage for org.hibernate.type BigDecimalType BigDecimalType.

Prototype

public BigDecimalType() 

Source Link

Usage

From source file:com.vega.service.configuration.SQLQueryBuilder.java

public static <T> Object buildQuery(Class<T> classe, String sql) {

    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    session.beginTransaction();//  w w  w .j  av  a  2  s  .c o m

    ResultTransformer resultTransformer = new AliasToBeanResultTransformer(classe);

    Field[] fields = classe.getDeclaredFields();
    SQLQuery sqlQuery = session.createSQLQuery(sql);

    for (Field field : fields) {
        if (field.getType().getSimpleName().equals("Integer")) {
            sqlQuery.addScalar(field.getName(), new IntegerType());
        } else if (field.getType().getSimpleName().equals("GregorianCalendar")) {
            sqlQuery.addScalar(field.getName(), new DateType());
        } else if (field.getType().getSimpleName().equals("BigDecimal")) {
            sqlQuery.addScalar(field.getName(), new BigDecimalType());
        } else if (field.getType().getSimpleName().equals("String")) {
            sqlQuery.addScalar(field.getName(), new StringType());
        }
    }

    Object object = sqlQuery.setResultTransformer(resultTransformer).list().get(0);

    session.getTransaction().commit();

    return object;

}

From source file:lt.emasina.resthub.server.factory.DataFactory.java

License:Open Source License

public CcData getData(final Session session, final DataHandler handler) throws Exception {
    final Query q = handler.getQuery();
    final SQLQuery query = getPagedSQLQuery(session, handler);

    for (MdColumn c : q.getColumns()) {
        switch (c.getType()) {
        case BLOB:
            query.addScalar(c.getName(), new BlobType());
            break;
        case CLOB:
            query.addScalar(c.getName(), new ClobType());
            break;
        case DATE:
            query.addScalar(c.getName(), new CalendarType());
            break;
        case NUMBER:
            query.addScalar(c.getName(), new BigDecimalType());
            break;
        case STRING:
            query.addScalar(c.getName(), new StringType());
            break;
        }/*  w  w  w.j  a  va 2s.  c o m*/
    }

    if (log.isDebugEnabled()) {
        log.debug(query.getQueryString());
    }

    ExecutorService executor = Executors.newSingleThreadExecutor();
    Future<CcData> loopRows = executor.submit(new Callable<CcData>() {

        @Override
        @SuppressWarnings("unchecked")
        public CcData call() throws Exception {
            CcData cc = new CcData();
            for (Object o : query.list()) {
                cc.addRow(q, o);
            }
            return cc;
        };
    });

    try {

        return loopRows.get(q.getTimeOut(), TimeUnit.SECONDS);

    } catch (ExecutionException | InterruptedException ex) {
        throw ex;
    } catch (TimeoutException ex) {
        throw new ServerErrorException(Status.SERVER_ERROR_GATEWAY_TIMEOUT, ex);
    }

}

From source file:lt.emasina.resthub.server.handler.Handler.java

License:Open Source License

public void applyParameters(SQLQuery query) throws SQLException {
    for (Map.Entry<QueryParameter, Object> e : parameters.entrySet()) {

        QueryParameter p = e.getKey();/*from w ww. java2 s. co  m*/
        Object value = e.getValue();
        String name = p.getSqlName();

        if (value != null && p.getArray()) {

            switch (p.getType()) {
            case DATE:
                query.setParameterList(name, (Object[]) value, new DateType());
                break;
            case NUMBER:
                query.setParameterList(name, (Object[]) value, new BigDecimalType());
                break;
            case STRING:
                query.setParameterList(name, (Object[]) value, new StringType());
                break;
            case CLOB:
            case BLOB:
                throw new ClientErrorException(Status.CLIENT_ERROR_BAD_REQUEST,
                        String.format("LOBs are not supported as parameters: %s", name));
            }

        } else {

            switch (p.getType()) {
            case DATE:
                query.setDate(name, (Date) value);
                break;
            case NUMBER:
                query.setBigDecimal(name, (BigDecimal) value);
                break;
            case STRING:
                query.setString(name, (String) value);
                break;
            case CLOB:
            case BLOB:
                throw new ClientErrorException(Status.CLIENT_ERROR_BAD_REQUEST,
                        String.format("LOBs are not supported as parameters: %s", name));
            }
        }
    }
}

From source file:org.egov.egf.web.actions.report.BankBookReportAction.java

License:Open Source License

private List<BankBookEntry> getResults(final String glCode1) {
    final String miscQuery = getMiscQuery();
    String OrderBy = "";
    final String voucherStatusToExclude = getAppConfigValueFor("EGF", "statusexcludeReport");
    final String query1 = "SELECT distinct vh.id as voucherId,vh.voucherDate AS voucherDate, vh.voucherNumber AS voucherNumber,"
            + " gl.glcode||' - '||case when gl.debitAmount  = 0 then (case (gl.creditamount) when 0 then gl.creditAmount||'.00cr' when floor(gl.creditamount) then gl.creditAmount||'.00cr' else  gl.creditAmount||'cr'  end ) else (case (gl.debitamount) when 0 then gl.debitamount||'.00dr' when floor(gl.debitamount)  then gl.debitamount||'.00dr' else  gl.debitamount||'dr'     end ) end"
            + " AS particulars,case when gl1.debitAmount = 0 then gl1.creditamount else gl1.debitAmount end AS amount, case when gl1.debitAmount = 0 then 'Payment' else 'Receipt' end AS type,"
            + " case when (case when ch.instrumentnumber is NULL then ch.transactionnumber else ch.instrumentnumber  ||' , ' ||TO_CHAR(case when ch.instrumentdate is NULL THEN ch.transactiondate else ch.instrumentdate end,'dd/mm/yyyy') end )  is NULL then case when ch.instrumentnumber is NULL then ch.transactionnumber else ch.instrumentnumber end ||' , ' ||TO_CHAR(case when ch.instrumentdate is NULL then ch.transactiondate else ch.instrumentdate end,'dd/mm/yyyy') end"
            + " AS chequeDetail,gl.glcode as glCode,ch.description as instrumentStatus  ";
    queryFrom = " FROM generalLedger gl,generalLedger gl1"
            + ",vouchermis vmis, VOUCHERHEADER vh left outer join (select iv.voucherheaderid,ih.instrumentnumber,ih.instrumentdate,"
            + "es.description,ih.transactionnumber,ih.transactiondate from egf_instrumentheader ih,egw_status es,egf_instrumentvoucher iv where iv.instrumentheaderid=ih.id and "
            + "ih.id_status=es.id) ch on ch.voucherheaderid=vh.id  WHERE  gl.voucherHeaderId = vh.id  AND vmis.VOUCHERHEADERID=vh.id  "
            + "and gl.voucherheaderid  IN (SELECT voucherheaderid FROM generalledger gl WHERE glcode='"
            + glCode1 + "') AND gl.voucherheaderid = gl1.voucherheaderid AND gl.glcode <> '" + glCode1
            + "' AND gl1.glcode = '" + glCode1 + "' and vh.voucherDate>='"
            + Constants.DDMMYYYYFORMAT1.format(startDate) + "' " + "and vh.voucherDate<='"
            + Constants.DDMMYYYYFORMAT1.format(endDate) + "' and vh.status not in(" + voucherStatusToExclude
            + ") " + miscQuery + " ";
    OrderBy = "order by voucherdate,vouchernumber";
    if (LOGGER.isDebugEnabled())
        LOGGER.debug("Main query :" + query1 + queryFrom + OrderBy);

    final Query query = persistenceService.getSession().createSQLQuery(query1 + queryFrom + OrderBy)
            .addScalar("voucherId", new BigDecimalType()).addScalar("voucherDate").addScalar("voucherNumber")
            .addScalar("particulars").addScalar("amount", new BigDecimalType()).addScalar("type")
            .addScalar("chequeDetail").addScalar("glCode").addScalar("instrumentStatus")
            .setResultTransformer(Transformers.aliasToBean(BankBookEntry.class));
    final List<BankBookEntry> results = query.list();
    return results;
}

From source file:sz.fcv.core.LottoMng.java

License:Open Source License

public void save() throws FileNotFoundException, IOException {
    Session session = HQLExecuter.createSession();

    Object[] os = new Object[18];
    org.hibernate.type.Type[] types = new org.hibernate.type.Type[18];

    os[0] = this.getNome();
    types[0] = new StringType();
    os[1] = this.getNote();
    types[1] = new StringType();
    os[2] = this.getTarizzoAbete1();
    types[2] = new IntegerType();
    os[3] = this.getTarizzoAbete2();
    types[3] = new IntegerType();
    os[4] = this.getTarizzoLarice1();
    types[4] = new IntegerType();
    os[5] = this.getTarizzoLarice2();
    types[5] = new IntegerType();
    os[6] = this.getTarizzoTrusi1();
    types[6] = new IntegerType();
    os[7] = this.getTarizzoTrusi2();
    types[7] = new IntegerType();

    os[8] = this.getTarizzoTrusiAbete1();
    types[8] = new IntegerType();
    os[9] = this.getTarizzoTrusiAbete2();
    types[9] = new IntegerType();
    os[10] = this.getTarizzoTrusiLarice1();
    types[10] = new IntegerType();
    os[11] = this.getTarizzoTrusiLarice2();
    types[11] = new IntegerType();

    os[12] = this.getIdFornitore();
    types[12] = new IntegerType();
    os[13] = this.getDataAggiudicazione();
    types[13] = new DateType();
    os[14] = this.getDataMisurazione();
    types[14] = new DateType();

    os[17] = this.getId();
    types[17] = new IntegerType();

    volumeLordo = new BigDecimal(0);
    volumeNetto = new BigDecimal(0);

    LinkedList[] legnami = { abete, larice, trusi, trusiAbete, trusiLarice };
    Integer[] tarizzo1 = { tarizzoAbete1, tarizzoLarice1, tarizzoTrusi1, tarizzoTrusiAbete1,
            tarizzoTrusiLarice1 };/*from   w w w  .  jav a2 s.c o  m*/
    Integer[] tarizzo2 = { tarizzoAbete2, tarizzoLarice2, tarizzoTrusi2, tarizzoTrusiAbete2,
            tarizzoTrusiLarice2 };

    for (int i = 0; i < legnami.length; i++) {
        LinkedList<LegnameMng> legname = legnami[i];

        if (legname != null) {
            for (LegnameMng a : legname) {
                volumeLordo = volumeLordo.add(a.calcolaVolume());
                volumeNetto = volumeNetto.add(a.calcolaVolumeNetto(tarizzo1[i], tarizzo2[i]));

                // se esiste update
                if (a.getId() != 0) {
                    Object[] tos = new Object[4];
                    org.hibernate.type.Type[] ttypes = new org.hibernate.type.Type[4];

                    tos[0] = a.getLunghezza();
                    ttypes[0] = new BigDecimalType();
                    tos[1] = a.getDiametro();
                    ttypes[1] = new BigDecimalType();
                    tos[2] = a.getNumero();
                    ttypes[2] = new IntegerType();

                    tos[3] = a.getId();
                    ttypes[3] = new IntegerType();

                    HQLExecuter.executeHQLUpdate(session, "legname_update", tos, ttypes);
                } else if (a.getIdLotto() != 0 && a.getLunghezza().intValue() != 0
                        && a.getDiametro().intValue() != 0) {
                    // altrimenti create
                    int aid = HQLExecuter.executeHQLSave(session, a.legname());
                    a.setId(aid);
                }
            }
        }
    }

    os[15] = this.getVolumeLordo();
    types[15] = new BigDecimalType();
    os[16] = this.getVolumeNetto();
    types[16] = new BigDecimalType();

    HQLExecuter.executeHQLUpdate(session, "lotto_update", os, types);

    if (tronchiRimossi != null) {
        for (Integer id : tronchiRimossi) {
            Object[] dos = new Object[1];
            org.hibernate.type.Type[] dtypes = new org.hibernate.type.Type[1];

            dos[0] = id;
            dtypes[0] = new IntegerType();

            HQLExecuter.executeHQLDelete(session, "legname_delete", dos, dtypes);
        }

        this.resetTronchiRimossi();
    }

    HQLExecuter.executeHQLDelete(session, "prezzi_delete", new Object[] { id },
            new org.hibernate.type.Type[] { new IntegerType() });
    for (Prezzo prezzo : this.prezzi.values()) {

        if (prezzo != null) {
            System.out.println("TIPO: " + prezzo.getTipologia());

            System.out.println(prezzo.getId() + "|" + prezzo.getTipologia() + "|" + prezzo.getIdLotto() + "|"
                    + prezzo.getPrezzo());
            HQLExecuter.executeHQLSave(session, prezzo);
        }

    }

    HQLExecuter.commitSession(session);
}