Example usage for org.hibernate Query setResultTransformer

List of usage examples for org.hibernate Query setResultTransformer

Introduction

In this page you can find the example usage for org.hibernate Query setResultTransformer.

Prototype

@Deprecated
Query<R> setResultTransformer(ResultTransformer transformer);

Source Link

Document

Set a strategy for handling the query results.

Usage

From source file:pe.gob.mef.gescon.hibernate.impl.VinculoHistDaoImpl.java

@Override
public List<HashMap> getConcimientosVinculadosByHistorial(HashMap filters) throws Exception {
    String nhistorialid = (String) filters.get("nhistorialid");
    String nconocimientoid = (String) filters.get("nconocimientoid");
    String ntipoconocimientoid = (String) filters.get("ntipoconocimientoid");
    Boolean flag = (Boolean) filters.get("flag");
    Object object = null;/*from  www .  jav a  2 s.  co m*/
    final StringBuilder sql = new StringBuilder();
    if (StringUtils.isNotBlank(ntipoconocimientoid)
            && (ntipoconocimientoid.equals("3") || ntipoconocimientoid.equals("4")
                    || ntipoconocimientoid.equals("5") || ntipoconocimientoid.equals("6"))) {
        sql.append("SELECT ");
        sql.append(
                "    a.nvinculohid as ID, a.nconocimientovinc as IDCONOCIMIENTO, '' AS NUMERO, b.vtitulo AS NOMBRE, b.vdescripcion AS SUMILLA, ");
        sql.append("    b.ncategoriaid AS IDCATEGORIA, c.vnombre AS CATEGORIA, b.dfechapublicacion AS FECHA, ");
        sql.append("    b.ntpoconocimientoid AS IDTIPOCONOCIMIENTO, e.vnombre AS TIPOCONOCIMIENTO, ");
        sql.append("    b.nsituacionid AS IDESTADO, d.vnombre AS ESTADO ");
        sql.append("FROM TVINCULO_HIST a ");
        sql.append("INNER JOIN TCONOCIMIENTO b ");
        sql.append("    INNER JOIN MTCATEGORIA c ON b.ncategoriaid = c.ncategoriaid ");
        sql.append("    INNER JOIN MTSITUACION d ON b.nsituacionid = d.nsituacionid ");
        sql.append("    INNER JOIN MTTIPO_CONOCIMIENTO e ON b.ntpoconocimientoid = e.ntpoconocimientoid ");
        sql.append("ON a.nconocimientovinc = b.nconocimientoid ");
        sql.append("AND a.ntipoconocimientovinc = b.ntpoconocimientoid ");
        sql.append("AND b.nactivo = :ACTIVO ");
        sql.append("WHERE a.nconocimientoid = ").append(nconocimientoid).append(" ");
        sql.append("AND a.nhistorialid = ").append(nhistorialid).append(" ");
        if (flag) {
            sql.append("AND a.ntipoconocimientovinc = ").append(ntipoconocimientoid).append(" ");
        }
        sql.append("ORDER BY 7 DESC ");
    }
    if (StringUtils.isNotBlank(ntipoconocimientoid) && ntipoconocimientoid.equals("2")) {
        sql.append("SELECT ");
        sql.append(
                "    a.nvinculohid as ID, a.nconocimientovinc as IDCONOCIMIENTO, '' AS NUMERO, b.vasunto AS NOMBRE , b.vdetalle AS SUMILLA, ");
        sql.append("    b.ncategoriaid AS IDCATEGORIA, c.vnombre AS CATEGORIA, b.dfechapublicacion AS FECHA, ");
        sql.append("    2 AS IDTIPOCONOCIMIENTO, 'Preguntas y Respuestas' AS TIPOCONOCIMIENTO, ");
        sql.append("    b.nsituacionid AS IDESTADO, d.vnombre AS ESTADO ");
        sql.append("FROM TVINCULO_HIST a ");
        sql.append("INNER JOIN TPREGUNTA b ");
        sql.append("    INNER JOIN MTCATEGORIA c ON b.ncategoriaid = c.ncategoriaid ");
        sql.append("    INNER JOIN MTSITUACION d ON b.nsituacionid = d.nsituacionid ");
        sql.append("ON a.nconocimientovinc = b.npreguntaid ");
        sql.append("AND a.ntipoconocimientovinc = 2 ");
        sql.append("AND b.nactivo = :ACTIVO ");
        sql.append("WHERE a.nconocimientoid = ").append(nconocimientoid).append(" ");
        sql.append("AND a.nhistorialid = ").append(nhistorialid).append(" ");
        sql.append("ORDER BY 7 DESC ");
    }
    if (StringUtils.isNotBlank(ntipoconocimientoid) && ntipoconocimientoid.equals("1")) {
        sql.append("SELECT ");
        sql.append(
                "    a.nvinculohid as ID, a.nconocimientovinc as IDCONOCIMIENTO, b.vnumero AS NUMERO, b.vnombre AS NOMBRE , b.vsumilla AS SUMILLA, ");
        sql.append("    b.ncategoriaid AS IDCATEGORIA, c.vnombre AS CATEGORIA, b.dfechapublicacion AS FECHA, ");
        sql.append("    1 AS IDTIPOCONOCIMIENTO, 'Base Legal' AS TIPOCONOCIMIENTO, ");
        sql.append("    b.nestadoid AS IDESTADO, d.vnombre AS ESTADO ");
        sql.append("FROM TVINCULO_HIST a ");
        sql.append("INNER JOIN TBASELEGAL b ");
        sql.append("    INNER JOIN MTCATEGORIA c ON b.ncategoriaid = c.ncategoriaid ");
        sql.append("    INNER JOIN MTESTADO_BASELEGAL d ON b.nestadoid = d.nestadoid ");
        sql.append("ON a.nconocimientovinc = b.nbaselegalid ");
        sql.append("AND a.ntipoconocimientovinc = 1 ");
        sql.append("AND b.nactivo = :ACTIVO ");
        sql.append("WHERE a.nconocimientoid = ").append(nconocimientoid).append(" ");
        sql.append("AND a.nhistorialid = ").append(nhistorialid).append(" ");
        sql.append("ORDER BY 7 DESC ");
    }
    try {
        object = getHibernateTemplate().execute(new HibernateCallback() {
            @Override
            public Object doInHibernate(Session session) throws HibernateException {
                Query query = session.createSQLQuery(sql.toString());
                query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
                if (StringUtils.isNotBlank(sql.toString())) {
                    query.setParameter("ACTIVO", BigDecimal.ONE);
                }
                return query.list();
            }
        });
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
    return (List<HashMap>) object;
}

From source file:pe.gob.mef.gescon.hibernate.impl.WikiDaoImpl.java

@Override
public List<HashMap> getConcimientosVinculados(HashMap filters) {
    String nconocimientoid = (String) filters.get("nconocimientoid");
    String ntipoconocimientoid = (String) filters.get("ntipoconocimientoid");
    Boolean flag = (Boolean) filters.get("flag");
    Object object = null;/*from   w  w w.j a  v a 2 s.  c  om*/
    final StringBuilder sql = new StringBuilder();
    if (StringUtils.isNotBlank(ntipoconocimientoid)
            && (ntipoconocimientoid.equals("3") || ntipoconocimientoid.equals("4")
                    || ntipoconocimientoid.equals("5") || ntipoconocimientoid.equals("6"))) {
        sql.append("SELECT ");
        sql.append(
                "    a.nvinculoid as ID, a.nconocimientovinc as IDCONOCIMIENTO, '' AS NUMERO, b.vtitulo AS NOMBRE, b.vdescripcion AS SUMILLA, ");
        sql.append("    b.ncategoriaid AS IDCATEGORIA, c.vnombre AS CATEGORIA, b.dfechacreacion AS FECHA, ");
        sql.append("    b.ntpoconocimientoid AS IDTIPOCONOCIMIENTO, e.vnombre AS TIPOCONOCIMIENTO, ");
        sql.append("    b.nsituacionid AS IDESTADO, d.vnombre AS ESTADO ");
        sql.append("FROM TVINCULO a ");
        sql.append("INNER JOIN TCONOCIMIENTO b ");
        sql.append("    INNER JOIN MTCATEGORIA c ON b.ncategoriaid = c.ncategoriaid ");
        sql.append("    INNER JOIN MTSITUACION d ON b.nsituacionid = d.nsituacionid ");
        sql.append("    INNER JOIN MTTIPO_CONOCIMIENTO e ON b.ntpoconocimientoid = e.ntpoconocimientoid ");
        sql.append("ON a.nconocimientovinc = b.nconocimientoid ");
        sql.append("AND a.ntipoconocimientovinc = b.ntpoconocimientoid ");
        sql.append("AND b.nactivo = :ACTIVO ");
        sql.append("WHERE a.nconocimientoid = ").append(nconocimientoid).append(" ");
        if (flag) {
            sql.append("AND a.ntipoconocimientovinc = ").append(ntipoconocimientoid).append(" ");
        }
        sql.append("ORDER BY 7 DESC ");
    }
    if (StringUtils.isNotBlank(ntipoconocimientoid) && ntipoconocimientoid.equals("2")) {
        sql.append("SELECT ");
        sql.append(
                "    a.nvinculoid as ID, a.nconocimientovinc as IDCONOCIMIENTO, '' AS NUMERO, b.vasunto AS NOMBRE , b.vdetalle AS SUMILLA, ");
        sql.append("    b.ncategoriaid AS IDCATEGORIA, c.vnombre AS CATEGORIA, b.dfechacreacion AS FECHA, ");
        sql.append("    2 AS IDTIPOCONOCIMIENTO, 'Preguntas y Respuestas' AS TIPOCONOCIMIENTO, ");
        sql.append("    b.nsituacionid AS IDESTADO, d.vnombre AS ESTADO ");
        sql.append("FROM TVINCULO a ");
        sql.append("INNER JOIN TPREGUNTA b ");
        sql.append("    INNER JOIN MTCATEGORIA c ON b.ncategoriaid = c.ncategoriaid ");
        sql.append("    INNER JOIN MTSITUACION d ON b.nsituacionid = d.nsituacionid ");
        sql.append("ON a.nconocimientovinc = b.npreguntaid ");
        sql.append("AND a.ntipoconocimientovinc = 2 ");
        sql.append("AND b.nactivo = :ACTIVO ");
        sql.append("WHERE a.nconocimientoid = ").append(nconocimientoid).append(" ");
        sql.append("ORDER BY 7 DESC ");
    }
    if (StringUtils.isNotBlank(ntipoconocimientoid) && ntipoconocimientoid.equals("1")) {
        sql.append("SELECT ");
        sql.append(
                "    a.nvinculoid as ID, a.nconocimientovinc as IDCONOCIMIENTO, b.vnumero AS NUMERO, b.vnombre AS NOMBRE , b.vsumilla AS SUMILLA, ");
        sql.append("    b.ncategoriaid AS IDCATEGORIA, c.vnombre AS CATEGORIA, b.dfechacreacion AS FECHA, ");
        sql.append("    1 AS IDTIPOCONOCIMIENTO, 'Base Legal' AS TIPOCONOCIMIENTO, ");
        sql.append("    b.nestadoid AS IDESTADO, d.vnombre AS ESTADO ");
        sql.append("FROM TVINCULO a ");
        sql.append("INNER JOIN TBASELEGAL b ");
        sql.append("    INNER JOIN MTCATEGORIA c ON b.ncategoriaid = c.ncategoriaid ");
        sql.append("    INNER JOIN MTESTADO_BASELEGAL d ON b.nestadoid = d.nestadoid ");
        sql.append("ON a.nconocimientovinc = b.nbaselegalid ");
        sql.append("AND a.ntipoconocimientovinc = 1 ");
        sql.append("AND b.nactivo = :ACTIVO ");
        sql.append("WHERE a.nconocimientoid = ").append(nconocimientoid).append(" ");
        sql.append("ORDER BY 7 DESC ");
    }
    try {
        object = getHibernateTemplate().execute(new HibernateCallback() {
            @Override
            public Object doInHibernate(Session session) throws HibernateException {
                Query query = session.createSQLQuery(sql.toString());
                query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
                if (StringUtils.isNotBlank(sql.toString())) {
                    query.setParameter("ACTIVO", BigDecimal.ONE);
                }
                return query.list();
            }
        });
    } catch (Exception e) {
        e.getMessage();
        e.printStackTrace();
    }
    return (List<HashMap>) object;
}

From source file:pe.gob.mef.gescon.hibernate.impl.WikiDaoImpl.java

@Override
public List<HashMap> getConcimientosDisponibles(HashMap filters) {
    String ntipoconocimientoid = ((BigDecimal) filters.get("ntipoconocimientoid")).toString();
    String nconocimientovinc = (String) filters.get("nconocimientovinc");
    final StringBuilder sql = new StringBuilder();
    Object object = null;/*  w  w w. j a va  2  s  .c  om*/
    try {
        if (StringUtils.isNotBlank(ntipoconocimientoid) && ntipoconocimientoid.equals("1")) {
            sql.append("SELECT ");
            sql.append(
                    "    a.nbaselegalid AS ID, a.vnumero AS NUMERO, a.vnombre AS NOMBRE, a.vsumilla AS SUMILLA, ");
            sql.append(
                    "    a.ncategoriaid AS IDCATEGORIA, b.vnombre AS CATEGORIA, a.dfechapublicacion AS FECHA, ");
            sql.append(
                    "    1 AS IDTIPOCONOCIMIENTO, 'Base Legal' AS TIPOCONOCIMIENTO, a.nestadoid AS IDESTADO, c.vnombre AS ESTADO ");
            sql.append("FROM TBASELEGAL a ");
            sql.append("    INNER JOIN MTCATEGORIA b ON a.ncategoriaid = b.ncategoriaid ");
            sql.append("    INNER JOIN MTESTADO_BASELEGAL c ON a.nestadoid = c.nestadoid ");
            sql.append("WHERE a.nactivo = :ACTIVO ");
            sql.append("AND a.nestadoid IN (3,5,6) "); // Publicada, Concordada y Modificada.
            if (StringUtils.isNotBlank(nconocimientovinc)) {
                sql.append("AND a.nbaselegalid NOT IN (").append(nconocimientovinc).append(") ");
            }
        }
        if (StringUtils.isNotBlank(ntipoconocimientoid) && ntipoconocimientoid.equals("2")) {
            sql.append("SELECT ");
            sql.append("    a.npreguntaid AS ID, '' AS NUMERO, a.vasunto AS NOMBRE, a.vdetalle AS SUMILLA, ");
            sql.append(
                    "    a.ncategoriaid AS IDCATEGORIA, b.vnombre AS CATEGORIA, a.dfechacreacion AS FECHA, ");
            sql.append("    2 AS IDTIPOCONOCIMIENTO, 'Preguntas y Respuestas' AS TIPOCONOCIMIENTO, ");
            sql.append("    a.nsituacionid AS IDESTADO, c.vnombre AS ESTADO ");
            sql.append("FROM TPREGUNTA a ");
            sql.append("    INNER JOIN MTCATEGORIA b ON a.ncategoriaid = b.ncategoriaid ");
            sql.append("    INNER JOIN MTSITUACION c ON a.nsituacionid = c.nsituacionid ");
            sql.append("WHERE a.nactivo = :ACTIVO ");
            sql.append("AND a.nsituacionid = 6 "); // Publicado
            if (StringUtils.isNotBlank(nconocimientovinc)) {
                sql.append("AND a.npreguntaid NOT IN (").append(nconocimientovinc).append(") ");
            }
        }
        if (StringUtils.isNotBlank(ntipoconocimientoid)
                && (ntipoconocimientoid.equals("3") || ntipoconocimientoid.equals("4")
                        || ntipoconocimientoid.equals("5") || ntipoconocimientoid.equals("6"))) {
            sql.append("SELECT ");
            sql.append(
                    "    a.nconocimientoid AS ID, '' AS NUMERO, a.vtitulo AS NOMBRE, a.vdescripcion AS SUMILLA, ");
            sql.append(
                    "    a.ncategoriaid AS IDCATEGORIA, b.vnombre AS CATEGORIA, a.dfechacreacion AS FECHA, ");
            sql.append("    a.ntpoconocimientoid AS IDTIPOCONOCIMIENTO, d.vnombre AS TIPOCONOCIMIENTO, ");
            sql.append("    a.nsituacionid AS IDESTADO, c.vnombre AS ESTADO ");
            sql.append("FROM TCONOCIMIENTO a ");
            sql.append("    INNER JOIN MTCATEGORIA b ON a.ncategoriaid = b.ncategoriaid ");
            sql.append("    INNER JOIN MTSITUACION c ON a.nsituacionid = c.nsituacionid ");
            sql.append("    INNER JOIN MTTIPO_CONOCIMIENTO d ON a.ntpoconocimientoid = d.ntpoconocimientoid ");
            sql.append("WHERE a.nactivo = :ACTIVO ");
            sql.append("AND a.nsituacionid = 6 "); // Publicado
            if (StringUtils.isNotBlank(nconocimientovinc)) {
                sql.append("AND a.nconocimientoid NOT IN (").append(nconocimientovinc).append(") ");
            }
        }
        sql.append("ORDER BY 5, 7 DESC ");

        object = getHibernateTemplate().execute(new HibernateCallback() {
            @Override
            public Object doInHibernate(Session session) throws HibernateException {
                Query query = session.createSQLQuery(sql.toString());
                query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
                if (StringUtils.isNotBlank(sql.toString())) {
                    query.setParameter("ACTIVO", BigDecimal.ONE);
                }
                return query.list();
            }
        });
    } catch (DataAccessException e) {
        e.getMessage();
        e.printStackTrace();
    }
    return (List<HashMap>) object;
}

From source file:services.fluxo.ContaService.java

public List<Conta> findContas(String filtro, boolean aPagar, boolean aReceber) throws ServiceException {
    return (List<Conta>) selectOnSession((Session s) -> {
        boolean isNumber = Utils.isNumber(filtro);

        String hql = " select p" + " from Conta p  " + " left outer join fetch p.parcelas e";
        List<String> w = new ArrayList<>();

        List<ContaCategoria.TipoCategoria> in = new ArrayList<>();
        if (aPagar) {
            in.add(ContaCategoria.TipoCategoria.saida);
        }/*  w ww. j av a  2  s . co  m*/
        if (aReceber) {
            in.add(ContaCategoria.TipoCategoria.entrada);
        }

        if (isNumber) {
            w.add(" p.id = :n");
        }
        w.add("p.descricao like :d");
        w.add("p.pessoa.nome like :d");
        if (w.size() > 0) {
            hql += " where (" + String.join(" OR ", w) + ") and p.categoria.tipo"
                    + (in.size() > 0 ? " in (:t)" : "");
        }
        Query q = s.createQuery(hql + " order by p.id");
        if (isNumber) {
            q.setInteger("n", Integer.parseInt(filtro));
        }
        if (in.size() > 0) {
            q.setParameterList("t", in);
        }
        q.setString("d", "%" + filtro + "%");
        q.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // Yes, really!  

        return q.list();

    });
}

From source file:uk.ac.kcl.iop.brc.core.pipeline.dncpipeline.data.CoordinatesDao.java

License:Open Source License

/**
 *
 * @return A list of all coordinates to be processed. Coordinates are retreieved
 * via the named-query "getCoordinates".
 *//*from w w  w. j  av  a2  s  .  com*/
public List<DNCWorkCoordinate> getCoordinates() {
    SessionWrapper session = getCurrentSourceSession();
    try {
        Query getCoordinates = session.getNamedQuery("getCoordinates");
        List<DNCWorkCoordinate> coordinateList = getCoordinates
                .setResultTransformer(Transformers.aliasToBean(DNCWorkCoordinate.class)).list();
        return coordinateList;
    } catch (Exception ex) {
        logger.error("Error loading coordinates. Please check getCoordinates query. " + ex.getMessage());
        return new ArrayList<>();
    } finally {
        session.closeSession();
    }
}

From source file:Valuacion.valuacion.java

private void buscaCuentas(int x, int y) {
     double imp = 0.0;
     if (orden != null) {
         Session session = HibernateUtil.getSessionFactory().openSession();
         try {/*from  ww w  . j  av  a2 s.  c om*/
             session.beginTransaction().begin();
             ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));

             if (ord.getRValuacionCierre() != null)
                 this.r_cerrar_valuacion.setSelected(true);
             else
                 this.r_cerrar_valuacion.setSelected(false);

             if (ord.getRCotizaCierre() != null)
                 this.r_cerrar_cotizacion.setSelected(true);
             else
                 this.r_cerrar_cotizacion.setSelected(false);
             if (ord.getDeducible() != null) {
                 this.t_deducible.setText("" + ord.getDeducible());
                 this.t_deducible.setValue(ord.getDeducible());
             } else {
                 this.t_deducible.setText("0.00");
                 this.t_deducible.setValue(0);
             }
             if (ord.getDemerito() != null) {
                 this.t_demerito.setText("" + ord.getDemerito());
                 t_demerito.setValue(ord.getDemerito());
             } else {
                 this.t_demerito.setText("0.00");
                 this.t_demerito.setValue(0);
             }
             if (ord.getVales() != null) {
                 this.t_vales.setText("" + ord.getVales());
                 this.t_vales.setValue(ord.getVales());
             } else {
                 this.t_vales.setText("0.00");
                 this.t_vales.setValue(0);
             }

             this.t_ref_autorizadas_directo.setValue(ord.getRefAutorizadas());
             this.t_ref_presupuesto.setValue(ord.getRefPresupuesto());
             this.t_mo_directa.setValue(ord.getMoDirecta());
             this.t_mo_directa1.setValue(ord.getMoPresupuestada());

             imp = ord.getCompania().getImporteHora();
             Partida[] cuentas = new Partida[0];
             Query query;
             ArrayList lista = new ArrayList();

             if (menu == 3) {
                 query = session.createSQLQuery(
                         "select id_evaluacion, sub_partida, especialidad.descripcion, catalogo.nombre, dm, rep_min, rep_med, rep_max, cam, pint, cant, med, if(Instruccion is null, '', Instruccion)as dato,  \n"
                                 + "if(id_Parte is null, '', id_Parte) as parte, c_u, porcentaje, Precio_cia_seguros_c_u, Cantidad_aut, Precio_aut_c_u, (Cantidad_aut*Precio_aut_c_u) as total, \n"
                                 + "autorizado, ref_coti, ref_comp, tot, so, pd, if(partida.ori=1, 'ORI', if(partida.nal=1, 'NAL', if(partida.desm=1, 'DES', if(partida.pd=1, 'REC', '')))) as orig, id_pedido, if(int_desm=-1, 'false', 'true') as i_desm, if(Int_camb=-1, 'false', 'true') as i_cam, if(Int_rep_min=-1, 'false', 'true') as i_r_min, \n"
                                 + "if(Int_rep_med=-1, 'false', 'true') as i_r_med, if(Int_rep_max=-1, 'false', 'true') as i_r_max, if(int_pin_min=-1, 'false', 'true') as i_p_min, if(int_pin_med=-1, 'false', 'true') as i_p_med, \n"
                                 + "if(int_pin_max=-1, 'false', 'true')as i_p_max, \n"
                                 + "tipo, if(enlazada is null, '', enlazada) as ext, if(facturado is null, 'false', if(facturado=true, 'true', 'false'))as fac \n"
                                 + "from partida inner join catalogo on partida.id_catalogo=catalogo.id_catalogo \n"
                                 + "inner join especialidad on catalogo.id_grupo_mecanico=especialidad.id_grupo_mecanico where id_orden="
                                 + ord.getIdOrden()
                                 + " and autorizado_valuacion=true order by id_evaluacion, sub_partida asc;");
                 query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
                 lista = (ArrayList) query.list();
             } else {
                 query = session.createSQLQuery(
                         "select id_evaluacion, sub_partida, especialidad.descripcion, catalogo.nombre, dm, rep_min, rep_med, rep_max, cam, pint, cant, med, if(Instruccion is null, '', Instruccion)as dato,  \n"
                                 + "if(id_Parte is null, '', id_Parte) as parte, c_u, porcentaje, Precio_cia_seguros_c_u, Cantidad_aut, Precio_aut_c_u, (Cantidad_aut*Precio_aut_c_u) as total, \n"
                                 + "autorizado, ref_coti, ref_comp, tot, so, pd, if(partida.ori=1, 'ORI', if(partida.nal=1, 'NAL', if(partida.desm=1, 'DES', if(partida.pd=1, 'REC', '')))) as orig, id_pedido, if(int_desm=-1, 'false', 'true') as i_desm, if(Int_camb=-1, 'false', 'true') as i_cam, if(Int_rep_min=-1, 'false', 'true') as i_r_min, \n"
                                 + "if(Int_rep_med=-1, 'false', 'true') as i_r_med, if(Int_rep_max=-1, 'false', 'true') as i_r_max, if(int_pin_min=-1, 'false', 'true') as i_p_min, if(int_pin_med=-1, 'false', 'true') as i_p_med, \n"
                                 + "if(int_pin_max=-1, 'false', 'true')as i_p_max, \n"
                                 + "tipo, if(enlazada is null, '', enlazada) as ext, if(facturado is null, 'false', if(facturado=true, 'true', 'false'))as fac \n"
                                 + "from partida inner join catalogo on partida.id_catalogo=catalogo.id_catalogo \n"
                                 + "inner join especialidad on catalogo.id_grupo_mecanico=especialidad.id_grupo_mecanico where id_orden="
                                 + ord.getIdOrden()
                                 + " and autorizado_valuacion=true and ref_coti=true  order by id_evaluacion, sub_partida asc;");
                 query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
                 lista = (ArrayList) query.list();
             }

             Partida[] enlazadas = new Partida[0];
             if (menu == 3)
                 enlazadas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByEnlazada.idOrden", ord.getIdOrden()))
                         .add(Restrictions.eq("autorizadoValuacion", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
             //else
             //enlazadas = (Partida[])session.createCriteria(Partida.class).add(Restrictions.eq("ordenByEnlazada.idOrden", ord.getIdOrden())).add(Restrictions.eq("refCoti", true)).add(Restrictions.eq("autorizadoValuacion", true)).list().toArray(new Partida[0]);

             if (lista.size() > 0 || enlazadas.length > 0) {
                 model = new MyModel(lista.size() + enlazadas.length, columnas, this.types);
                 t_datos.setModel(model);
                 formatoTabla();
                 for (int i = 0; i < lista.size(); i++) {
                     java.util.HashMap map = (java.util.HashMap) lista.get(i);
                     model.setValueAt(map.get("id_evaluacion"), i, 0);
                     model.setCeldaEditable(i, 0, false);
                     model.setValueAt(map.get("sub_partida"), i, 1);
                     model.setCeldaEditable(i, 1, false);
                     model.setValueAt(map.get("descripcion"), i, 2);
                     model.setCeldaEditable(i, 2, false);
                     model.setValueAt(map.get("nombre"), i, 3);
                     model.setCeldaEditable(i, 3, false);

                     double dm = (double) map.get("dm");
                     if (dm == -1) {
                         model.setValueAt(null, i, 4);
                         model.setCeldaEditable(i, 4, false);
                     } else {
                         model.setValueAt(dm, i, 4);
                         model.setCeldaEditable(i, 4, this.edita_columnas[0]);
                     }

                     double repMin = (double) map.get("rep_min");
                     if (repMin == -1) {
                         model.setCeldaEditable(i, 5, false);
                         model.setValueAt(null, i, 5);
                     } else {
                         model.setValueAt(repMin, i, 5);
                         model.setCeldaEditable(i, 5, this.edita_columnas[0]);
                     }

                     double repMed = (double) map.get("rep_med");
                     if (repMed == -1) {
                         model.setCeldaEditable(i, 6, false);
                         model.setValueAt(null, i, 6);
                     } else {
                         model.setValueAt(repMed, i, 6);
                         model.setCeldaEditable(i, 6, this.edita_columnas[0]);
                     }

                     double repMax = (double) map.get("rep_max");
                     if (repMax == -1) {
                         model.setValueAt(null, i, 7);
                         model.setCeldaEditable(i, 7, false);
                     } else {
                         model.setValueAt(repMax, i, 7);
                         model.setCeldaEditable(i, 7, this.edita_columnas[0]);
                     }
                     double cam = (double) map.get("cam");
                     if (cam == -1) {
                         model.setValueAt(null, i, 8);
                         model.setCeldaEditable(i, 8, false);
                     } else {
                         model.setValueAt(cam, i, 8);
                         model.setCeldaEditable(i, 8, this.edita_columnas[0]);
                     }
                     double pint = (double) map.get("pint");
                     if (pint == -1) {
                         model.setValueAt(null, i, 9);
                         model.setCeldaEditable(i, 9, false);
                     } else {
                         model.setValueAt(pint, i, 9);
                         model.setCeldaEditable(i, 9, this.edita_columnas[0]);
                     }

                     model.setValueAt(map.get("cant"), i, 10);
                     model.setCeldaEditable(i, 10, false);
                     model.setValueAt(map.get("med"), i, 11);
                     model.setCeldaEditable(i, 11, false);

                     model.setValueAt(map.get("dato"), i, 12);
                     model.setCeldaEditable(i, 12, false);

                     model.setValueAt(map.get("parte"), i, 13);

                     model.setValueAt(map.get("c_u"), i, 14);
                     model.setCeldaEditable(i, 14, this.edita_columnas[1]);

                     double porcentaje = (double) map.get("porcentaje");
                     model.setValueAt(porcentaje, i, 15);
                     model.setCeldaEditable(i, 15, this.edita_columnas[2]);
                     double cu = (double) map.get("c_u");
                     if (porcentaje == 0.0) {
                         model.setValueAt(cu, i, 16);
                     } else {
                         model.setValueAt(0.0 + Math.round(cu / (1 - (porcentaje * 0.01))), i, 16);
                     }
                     model.setCeldaEditable(i, 16, false);

                     model.setValueAt(map.get("Cantidad_aut"), i, 17);
                     model.setCeldaEditable(i, 17, this.edita_columnas[3]);

                     model.setValueAt(map.get("Precio_aut_c_u"), i, 18);
                     model.setCeldaEditable(i, 18, this.edita_columnas[3]);

                     model.setValueAt(map.get("total"), i, 19);
                     model.setCeldaEditable(i, 19, false);

                     model.setValueAt(map.get("fac").toString().contentEquals("true"), i, 20);//vales
                     model.setCeldaEditable(i, 20, this.edita_columnas[4]);

                     model.setValueAt(map.get("autorizado"), i, 21);
                     model.setCeldaEditable(i, 21, this.edita_columnas[4]);

                     double horas = 0.0;
                     for (int r = 4; r < 10; r++) {
                         if (model.getValueAt(i, r) != null) {
                             double val = Double.parseDouble(model.getValueAt(i, r).toString());
                             horas += val;
                         }
                     }
                     horas = horas * cu;
                     model.setValueAt(horas, i, 22);
                     model.setCeldaEditable(i, 22, false);

                     model.setValueAt(map.get("ref_coti"), i, 23);
                     model.setCeldaEditable(i, 23, this.edita_columnas[5]);

                     model.setValueAt(map.get("ref_comp"), i, 24);
                     model.setCeldaEditable(i, 24, this.edita_columnas[6]);

                     model.setValueAt(map.get("tot"), i, 25);//proveedor
                     model.setCeldaEditable(i, 25, false);

                     model.setValueAt(map.get("so"), i, 26);
                     model.setCeldaEditable(i, 26, this.edita_columnas[7]);
                     model.setValueAt(map.get("pd"), i, 27);
                     model.setCeldaEditable(i, 27, this.edita_columnas[7]);

                     model.setValueAt(map.get("orig"), i, 28);
                     model.setCeldaEditable(i, 28, false);

                     //recorree
                     model.setValueAt(map.get("id_pedido"), i, 29);//pedido
                     model.setCeldaEditable(i, 29, false);

                     model.setValueAt(map.get("i_desm").toString().contentEquals("true"), i, 30);
                     model.setCeldaEditable(i, 30, false);
                     model.setValueAt(map.get("i_cam").toString().contentEquals("true"), i, 31);
                     model.setCeldaEditable(i, 31, false);
                     model.setValueAt(map.get("i_r_min").toString().contentEquals("true"), i, 32);
                     model.setCeldaEditable(i, 32, false);
                     model.setValueAt(map.get("i_r_med").toString().contentEquals("true"), i, 33);
                     model.setCeldaEditable(i, 33, false);
                     model.setValueAt(map.get("i_r_max").toString().contentEquals("true"), i, 34);
                     model.setCeldaEditable(i, 34, false);
                     model.setValueAt(map.get("i_p_min").toString().contentEquals("true"), i, 35);
                     model.setCeldaEditable(i, 35, false);
                     model.setValueAt(map.get("i_p_med").toString().contentEquals("true"), i, 36);
                     model.setCeldaEditable(i, 36, false);
                     model.setValueAt(map.get("i_p_max").toString().contentEquals("true"), i, 37);
                     model.setCeldaEditable(i, 37, false);

                     model.setValueAt(map.get("tipo"), i, 38);
                     model.setCeldaEditable(i, 38, false);

                     model.setValueAt(map.get("ext"), i, 39);
                     model.setCeldaEditable(i, 39, false);
                 }

                 //**********cargamos las enlazadas
                 //cuentas.length+enlazadas.length
                 for (int i = 0; i < enlazadas.length; i++) {
                     model.setValueAt(enlazadas[i].getIdEvaluacion(), i + cuentas.length, 0);
                     model.setCeldaEditable(i + cuentas.length, 0, false);
                     model.setValueAt(enlazadas[i].getSubPartida(), i + cuentas.length, 1);
                     model.setCeldaEditable(i + cuentas.length, 1, false);
                     model.setValueAt(enlazadas[i].getCatalogo().getEspecialidad().getDescripcion(),
                             i + cuentas.length, 2);
                     model.setCeldaEditable(i + cuentas.length, 2, false);
                     model.setValueAt(enlazadas[i].getCatalogo().getNombre(), i + cuentas.length, 3);
                     model.setCeldaEditable(i + cuentas.length, 3, false);

                     if (enlazadas[i].getDm() == -1) {
                         model.setValueAt(null, i + cuentas.length, 4);
                         model.setCeldaEditable(i + cuentas.length, 4, false);
                     } else {
                         model.setValueAt(enlazadas[i].getDm(), i + cuentas.length, 4);
                         model.setCeldaEditable(i + cuentas.length, 4, false);
                     }

                     if (enlazadas[i].getRepMin() == -1) {
                         model.setCeldaEditable(i + cuentas.length, 5, false);
                         model.setValueAt(null, i + cuentas.length, 5);
                     } else {
                         model.setValueAt(enlazadas[i].getRepMin(), i + cuentas.length, 5);
                         model.setCeldaEditable(i + cuentas.length, 5, false);
                     }

                     if (enlazadas[i].getRepMed() == -1) {
                         model.setCeldaEditable(i + cuentas.length, 6, false);
                         model.setValueAt(null, i + cuentas.length, 6);
                     } else {
                         model.setValueAt(enlazadas[i].getRepMed(), i + cuentas.length, 6);
                         model.setCeldaEditable(i + cuentas.length, 6, false);
                     }

                     if (enlazadas[i].getRepMax() == -1) {
                         model.setValueAt(null, i + cuentas.length, 7);
                         model.setCeldaEditable(i + cuentas.length, 7, false);
                     } else {
                         model.setValueAt(enlazadas[i].getRepMax(), i + cuentas.length, 7);
                         model.setCeldaEditable(i + cuentas.length, 7, false);
                     }

                     if (enlazadas[i].getCam() == -1) {
                         model.setValueAt(null, i + cuentas.length, 8);
                         model.setCeldaEditable(i + cuentas.length, 8, false);
                     } else {
                         model.setValueAt(enlazadas[i].getCam(), i + cuentas.length, 8);
                         model.setCeldaEditable(i + cuentas.length, 8, false);
                     }

                     if (enlazadas[i].getPint() == -1) {
                         model.setValueAt(null, i + cuentas.length, 9);
                         model.setCeldaEditable(i + cuentas.length, 9, false);
                     } else {
                         model.setValueAt(enlazadas[i].getPint(), i + cuentas.length, 9);
                         model.setCeldaEditable(i + cuentas.length, 9, false);
                     }

                     model.setValueAt(enlazadas[i].getCant(), i + cuentas.length, 10);
                     model.setCeldaEditable(i + cuentas.length, 10, false);
                     model.setValueAt(enlazadas[i].getMed(), i + cuentas.length, 11);
                     model.setCeldaEditable(i + cuentas.length, 11, false);

                     //model.setValueAt(enlazadas[i].getCatalogo().getIdCatalogo(), i+cuentas.length, 12);
                     //model.setCeldaEditable(i+cuentas.length, 12, false);
                     if (enlazadas[i].getInstruccion() != null)
                         model.setValueAt(enlazadas[i].getInstruccion(), i + cuentas.length, 12);
                     else
                         model.setValueAt("", i + cuentas.length, 12);
                     model.setCeldaEditable(i + cuentas.length, 12, false);

                     try {
                         model.setValueAt(enlazadas[i].getEjemplar().getIdParte(), i + cuentas.length, 13);
                     } catch (Exception e) {
                         model.setValueAt("", i + cuentas.length, 13);
                     }

                     model.setValueAt(enlazadas[i].getCU(), i + cuentas.length, 14);
                     model.setCeldaEditable(i + cuentas.length, 14, false);

                     model.setValueAt(enlazadas[i].getPorcentaje(), i + cuentas.length, 15);
                     model.setCeldaEditable(i + cuentas.length, 15, false);
                     if (enlazadas[i].getPorcentaje() == 0.0) {
                         model.setValueAt(enlazadas[i].getCU(), i + cuentas.length, 16);
                     } else {
                         model.setValueAt(
                                 0.0 + Math.round(
                                         enlazadas[i].getCU() / (1 - (enlazadas[i].getPorcentaje() * 0.01))),
                                 i + cuentas.length, 16);
                     }
                     model.setCeldaEditable(i + cuentas.length, 16, false);

                     model.setValueAt(enlazadas[i].getCantidadAut(), i + cuentas.length, 17);
                     model.setCeldaEditable(i + cuentas.length, 17, false);

                     model.setValueAt(enlazadas[i].getPrecioAutCU(), i + cuentas.length, 18);
                     model.setCeldaEditable(i + cuentas.length, 18, false);

                     model.setValueAt((enlazadas[i].getCantidadAut() * enlazadas[i].getPrecioAutCU()),
                             i + cuentas.length, 19);
                     model.setCeldaEditable(i + cuentas.length, 19, false);

                     model.setValueAt(enlazadas[i].getFacturado(), i + cuentas.length, 20);//vales
                     model.setCeldaEditable(i + cuentas.length, 20, false);

                     model.setValueAt(enlazadas[i].isAutorizado(), i + cuentas.length, 21);
                     model.setCeldaEditable(i + cuentas.length, 21, false);

                     double horas = 0.0;
                     for (int r = 4; r < 10; r++) {
                         if (model.getValueAt(i + cuentas.length, r) != null) {
                             double val = Double.parseDouble(model.getValueAt(i + cuentas.length, r).toString());
                             horas += val;
                         }
                     }
                     model.setValueAt(horas, i + cuentas.length, 22);
                     model.setCeldaEditable(i + cuentas.length, 22, false);

                     model.setValueAt(enlazadas[i].isRefCoti(), i + cuentas.length, 23);
                     model.setCeldaEditable(i + cuentas.length, 23, false);

                     model.setValueAt(enlazadas[i].isRefComp(), i + cuentas.length, 24);
                     model.setCeldaEditable(i + cuentas.length, 24, false);

                     if (enlazadas[i].getProveedor() != null)
                         model.setValueAt(enlazadas[i].getProveedor().getIdProveedor(), i + cuentas.length, 25);//proveedor
                     else
                         model.setValueAt("", i + cuentas.length, 25);//proveedor
                     model.setCeldaEditable(i + cuentas.length, 25, false);

                     model.setValueAt(enlazadas[i].isSo(), i + cuentas.length, 26);
                     model.setCeldaEditable(i + cuentas.length, 26, false);
                     model.setValueAt(enlazadas[i].isPd(), i + cuentas.length, 27);
                     model.setCeldaEditable(i + cuentas.length, 27, false);

                     if (enlazadas[i].isOri() == true)
                         model.setValueAt("ORI", i + cuentas.length, 28);
                     if (enlazadas[i].isNal() == true)
                         model.setValueAt("NAL", i + cuentas.length, 28);
                     if (enlazadas[i].isDesm() == true)
                         model.setValueAt("DES", i + cuentas.length, 28);
                     if (cuentas[i].isPd() == true)
                         model.setValueAt("RECON", i, 28);
                     model.setCeldaEditable(i + cuentas.length, 28, false);

                     if (enlazadas[i].getPedido() != null)
                         model.setValueAt(enlazadas[i].getPedido().getProveedorByIdProveedor().getIdProveedor(),
                                 i + cuentas.length, 29);//pedido
                     else
                         model.setValueAt("", i + cuentas.length, 29);//pedido
                     model.setCeldaEditable(i + cuentas.length, 29, false);

                     if (enlazadas[i].getIntDesm() == -1)
                         model.setValueAt(false, i + cuentas.length, 30);
                     else
                         model.setValueAt(true, i + cuentas.length, 30);
                     model.setCeldaEditable(i + cuentas.length, 30, false);

                     if (enlazadas[i].getIntCamb() == -1)
                         model.setValueAt(false, i + cuentas.length, 31);
                     else
                         model.setValueAt(true, i + cuentas.length, 31);
                     model.setCeldaEditable(i + cuentas.length, 31, false);

                     if (enlazadas[i].getIntRepMin() == -1)
                         model.setValueAt(false, i + cuentas.length, 32);
                     else
                         model.setValueAt(true, i + cuentas.length, 32);
                     model.setCeldaEditable(i + cuentas.length, 32, false);

                     if (enlazadas[i].getIntRepMed() == -1)
                         model.setValueAt(false, i + cuentas.length, 33);
                     else
                         model.setValueAt(true, i + cuentas.length, 33);
                     model.setCeldaEditable(i + cuentas.length, 33, false);

                     if (enlazadas[i].getIntRepMax() == -1)
                         model.setValueAt(false, i + cuentas.length, 34);
                     else
                         model.setValueAt(true, i + cuentas.length, 34);
                     model.setCeldaEditable(i + cuentas.length, 34, false);

                     if (enlazadas[i].getIntPinMin() == -1)
                         model.setValueAt(false, i + cuentas.length, 35);
                     else
                         model.setValueAt(true, i + cuentas.length, 35);
                     model.setCeldaEditable(i + cuentas.length, 35, false);

                     if (enlazadas[i].getIntPinMed() == -1)
                         model.setValueAt(false, i + cuentas.length, 36);
                     else
                         model.setValueAt(true, i + cuentas.length, 36);
                     model.setCeldaEditable(i + cuentas.length, 36, false);

                     if (enlazadas[i].getIntPinMax() == -1)
                         model.setValueAt(false, i + cuentas.length, 37);
                     else
                         model.setValueAt(true, i + cuentas.length, 37);
                     model.setCeldaEditable(i + cuentas.length, 37, false);

                     model.setValueAt("e", i + cuentas.length, 38);
                     model.setCeldaEditable(i + cuentas.length, 38, false);

                     if (enlazadas[i].getOrdenByEnlazada() != null) {
                         if (enlazadas[i].getOrdenByEnlazada().getIdOrden() == ord.getIdOrden())
                             model.setValueAt(enlazadas[i].getOrdenByIdOrden().getIdOrden(), i + cuentas.length,
                                     39);
                         else
                             model.setValueAt(enlazadas[i].getOrdenByEnlazada().getIdOrden(), i + cuentas.length,
                                     39);
                     } else
                         model.setValueAt("", i, 39);
                     model.setCeldaEditable(i + cuentas.length, 39, false);
                 }
             } else {
                 model = new MyModel(0, columnas, this.types);
                 t_datos.setModel(model);
                 formatoTabla();
             }
             //session.beginTransaction().rollback();
         } catch (Exception e) {
             e.printStackTrace();
         }
         if (session != null)
             if (session.isOpen() == true) {
                 session.flush();
                 session.clear();
                 session.close();
             }
     } else {
         model = new MyModel(0, columnas, this.types);
         t_datos.setModel(model);
         formatoTabla();
     }
     sumaTotales(imp);
     verEstado();
     if (x >= 0 && y >= 0) {
         t_datos.setColumnSelectionInterval(y, y);
         t_datos.setRowSelectionInterval(x, x);
     }
 }

From source file:Valuacion.valuacionDirecta.java

private void buscaCuentas(int x, int y) {
     if (orden != null) {
         Session session = HibernateUtil.getSessionFactory().openSession();
         try {//  w ww.  ja v a 2s . co m
             Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
             Query query = session.createSQLQuery(
                     "select id_evaluacion, sub_partida, esp_hoj, esp_mec, esp_sus, esp_ele, if(dm=-1, 'false', 'true')as desmontar, if(cam=-1, 'false', 'true') as cambiar, if(rep_min=-1, 'false', 'true') as r_min, \n"
                             + "if(rep_med=-1, 'false', 'true')as r_med,  if(rep_max=-1, 'false', 'true') as r_max, if(pint=-1, 'false', 'true') as pintura, cant, med, catalogo.nombre as miNombre, partida.id_catalogo, \n"
                             + "id_Parte, incluida, ori, nal, desm, pd, tot, if(int_desm=-1, 'false', 'true') as i_desm, if(Int_camb=-1, 'false', 'true') as i_cam, if(Int_rep_min=-1, 'false', 'true') as i_r_min, \n"
                             + "if(Int_rep_med=-1, 'false', 'true') as i_r_med, if(Int_rep_max=-1, 'false', 'true') as i_r_max, if(int_pin_min=-1, 'false', 'true') as i_p_min, if(int_pin_med=-1, 'false', 'true') as i_p_med, \n"
                             + "if(int_pin_max=-1, 'false', 'true')as i_p_max, if(Instruccion is null, '', Instruccion) as instruccion_f,  tipo, if(enlazada is null, '', enlazada)as freeze, autorizado_valuacion \n"
                             + "from partida inner join catalogo on partida.id_catalogo=catalogo.id_catalogo where partida.id_orden="
                             + orden + " order by id_evaluacion, sub_partida asc;");
             query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
             ArrayList partidas = (ArrayList) query.list();
             Partida[] enlazadas = (Partida[]) session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByEnlazada.idOrden", ord.getIdOrden()))
                     .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                     .toArray(new Partida[0]);
             if (partidas.size() > 0 || enlazadas.length > 0) {
                 model = new MyModel(partidas.size() + enlazadas.length, columnas);
                 t_datos.setModel(model);
                 for (int i = 0; i < partidas.size(); i++) {
                     java.util.HashMap map = (java.util.HashMap) partidas.get(i);
                     model.setValueAt(map.get("id_evaluacion"), i, 0);
                     model.setCeldaEditable(i, 0, false);
                     model.setValueAt(map.get("sub_partida"), i, 1);
                     model.setCeldaEditable(i, 1, false);
                     model.setValueAt(map.get("esp_hoj"), i, 2);
                     model.setValueAt(map.get("esp_mec"), i, 3);
                     model.setValueAt(map.get("esp_sus"), i, 4);
                     model.setValueAt(map.get("esp_ele"), i, 5);
                     model.setValueAt(map.get("desmontar").toString().contentEquals("true"), i, 6);
                     model.setValueAt(map.get("cambiar").toString().contentEquals("true"), i, 7);
                     model.setValueAt(map.get("r_min").toString().contentEquals("true"), i, 8);
                     model.setValueAt(map.get("r_med").toString().contentEquals("true"), i, 9);
                     model.setValueAt(map.get("r_max").toString().contentEquals("true"), i, 10);
                     model.setValueAt(map.get("pintura").toString().contentEquals("true"), i, 11);

                     model.setValueAt(map.get("cant"), i, 12);
                     model.setValueAt(map.get("med"), i, 13);
                     model.setValueAt(map.get("miNombre"), i, 14);
                     model.setCeldaEditable(i, 14, false);
                     model.setValueAt(map.get("id_catalogo"), i, 15);
                     model.setCeldaEditable(i, 15, false);
                     model.setValueAt(map.get("id_parte"), i, 16);
                     model.setValueAt(map.get("incluida"), i, 17);
                     model.setValueAt(map.get("ori"), i, 18);
                     model.setValueAt(map.get("nal"), i, 19);
                     model.setValueAt(map.get("desm"), i, 20);
                     model.setValueAt(map.get("pd"), i, 21);

                     model.setValueAt(map.get("tot"), i, 22);
                     model.setCeldaEditable(i, 22, true);

                     model.setValueAt(map.get("i_desm").toString().contentEquals("true"), i, 23);
                     model.setValueAt(map.get("i_cam").toString().contentEquals("true"), i, 24);
                     model.setValueAt(map.get("i_r_min").toString().contentEquals("true"), i, 25);
                     model.setValueAt(map.get("i_r_med").toString().contentEquals("true"), i, 26);
                     model.setValueAt(map.get("i_r_max").toString().contentEquals("true"), i, 27);
                     model.setValueAt(map.get("i_p_min").toString().contentEquals("true"), i, 28);
                     model.setValueAt(map.get("i_p_med").toString().contentEquals("true"), i, 29);
                     model.setValueAt(map.get("i_p_max").toString().contentEquals("true"), i, 30);

                     model.setValueAt(map.get("instruccion_f"), i, 31);

                     model.setValueAt(map.get("tipo"), i, 32);
                     model.setCeldaEditable(i, 32, false);

                     model.setValueAt(map.get("freeze"), i, 33);
                     model.setCeldaEditable(i, 33, false);
                     model.setValueAt(map.get("autorizado_valuacion"), i, 34);
                 }

                 //**********cargamos las enlazadas
                 //cuentas.length+enlazadas.length
                 for (int i = 0; i < enlazadas.length; i++) {
                     model.setValueAt(enlazadas[i].getIdEvaluacion(), partidas.size() + i, 0);
                     model.setCeldaEditable(partidas.size() + i, 0, false);
                     model.setValueAt(enlazadas[i].getSubPartida(), partidas.size() + i, 1);
                     model.setCeldaEditable(partidas.size() + i, 1, false);
                     model.setValueAt(enlazadas[i].isEspHoj(), partidas.size() + i, 2);
                     model.setCeldaEditable(partidas.size() + i, 2, false);
                     model.setValueAt(enlazadas[i].isEspMec(), partidas.size() + i, 3);
                     model.setCeldaEditable(partidas.size() + i, 3, false);
                     model.setValueAt(enlazadas[i].isEspSus(), partidas.size() + i, 4);
                     model.setCeldaEditable(partidas.size() + i, 4, false);
                     model.setValueAt(enlazadas[i].isEspEle(), partidas.size() + i, 5);
                     model.setCeldaEditable(partidas.size() + i, 5, false);
                     if (enlazadas[i].getDm() == -1)
                         model.setValueAt(false, partidas.size() + i, 6);
                     else
                         model.setValueAt(true, partidas.size() + i, 6);
                     model.setCeldaEditable(partidas.size() + i, 6, false);

                     if (enlazadas[i].getCam() == -1)
                         model.setValueAt(false, partidas.size() + i, 7);
                     else
                         model.setValueAt(true, partidas.size() + i, 7);
                     model.setCeldaEditable(partidas.size() + i, 7, false);

                     if (enlazadas[i].getRepMin() == -1)
                         model.setValueAt(false, partidas.size() + i, 8);
                     else
                         model.setValueAt(true, partidas.size() + i, 8);
                     model.setCeldaEditable(partidas.size() + i, 8, false);

                     if (enlazadas[i].getRepMed() == -1)
                         model.setValueAt(false, partidas.size() + i, 9);
                     else
                         model.setValueAt(true, partidas.size() + i, 9);
                     model.setCeldaEditable(partidas.size() + i, 9, false);

                     if (enlazadas[i].getRepMax() == -1)
                         model.setValueAt(false, partidas.size() + i, 10);
                     else
                         model.setValueAt(true, partidas.size() + i, 10);
                     model.setCeldaEditable(partidas.size() + i, 10, false);

                     if (enlazadas[i].getPint() == -1)
                         model.setValueAt(false, partidas.size() + i, 11);
                     else
                         model.setValueAt(true, partidas.size() + i, 11);
                     model.setCeldaEditable(partidas.size() + i, 11, false);

                     model.setValueAt(enlazadas[i].getCant(), partidas.size() + i, 12);
                     model.setCeldaEditable(partidas.size() + i, 12, false);

                     model.setValueAt(enlazadas[i].getMed(), partidas.size() + i, 13);
                     model.setCeldaEditable(partidas.size() + i, 13, false);

                     model.setValueAt(enlazadas[i].getCatalogo().getNombre(), partidas.size() + i, 14);
                     model.setCeldaEditable(partidas.size() + i, 14, false);

                     model.setValueAt(enlazadas[i].getCatalogo().getIdCatalogo(), partidas.size() + i, 15);
                     model.setCeldaEditable(partidas.size() + i, 15, false);

                     try {
                         model.setValueAt(enlazadas[i].getEjemplar().getIdParte(), partidas.size() + i, 16);
                     } catch (Exception e) {
                         model.setValueAt("", partidas.size() + i, 16);
                     }
                     model.setCeldaEditable(partidas.size() + i, 16, false);

                     //model.setValueAt(enlazadas[i].isIncluida(), i, 17);
                     model.setValueAt(false, partidas.size() + i, 17);
                     model.setCeldaEditable(partidas.size() + i, 17, false);

                     model.setValueAt(enlazadas[i].isOri(), partidas.size() + i, 18);
                     model.setCeldaEditable(partidas.size() + i, 18, false);

                     model.setValueAt(enlazadas[i].isNal(), partidas.size() + i, 19);
                     model.setCeldaEditable(partidas.size() + i, 19, false);

                     model.setValueAt(enlazadas[i].isDesm(), partidas.size() + i, 20);
                     model.setCeldaEditable(partidas.size() + i, 20, false);

                     model.setValueAt(enlazadas[i].isPd(), partidas.size() + i, 21);
                     model.setCeldaEditable(partidas.size() + i, 21, false);

                     if (enlazadas[i].getProveedor() != null)
                         model.setValueAt(enlazadas[i].getProveedor().getIdProveedor(), partidas.size() + i, 22);
                     else
                         model.setValueAt("", partidas.size() + i, 22);
                     model.setCeldaEditable(partidas.size() + i, 22, false);

                     if (enlazadas[i].getIntDesm() == -1)
                         model.setValueAt(false, partidas.size() + i, 23);
                     else
                         model.setValueAt(true, partidas.size() + i, 23);
                     model.setCeldaEditable(partidas.size() + i, 23, false);

                     if (enlazadas[i].getIntCamb() == -1)
                         model.setValueAt(false, partidas.size() + i, 24);
                     else
                         model.setValueAt(true, partidas.size() + i, 24);
                     model.setCeldaEditable(partidas.size() + i, 24, false);

                     if (enlazadas[i].getIntRepMin() == -1)
                         model.setValueAt(false, partidas.size() + i, 25);
                     else
                         model.setValueAt(true, partidas.size() + i, 25);
                     model.setCeldaEditable(partidas.size() + i, 25, false);

                     if (enlazadas[i].getIntRepMed() == -1)
                         model.setValueAt(false, partidas.size() + i, 26);
                     else
                         model.setValueAt(true, partidas.size() + i, 26);
                     model.setCeldaEditable(partidas.size() + i, 26, false);

                     if (enlazadas[i].getIntRepMax() == -1)
                         model.setValueAt(false, partidas.size() + i, 27);
                     else
                         model.setValueAt(true, partidas.size() + i, 27);
                     model.setCeldaEditable(partidas.size() + i, 27, false);

                     if (enlazadas[i].getIntPinMin() == -1)
                         model.setValueAt(false, partidas.size() + i, 28);
                     else
                         model.setValueAt(true, partidas.size() + i, 28);
                     model.setCeldaEditable(partidas.size() + i, 28, false);

                     if (enlazadas[i].getIntPinMed() == -1)
                         model.setValueAt(false, partidas.size() + i, 29);
                     else
                         model.setValueAt(true, partidas.size() + i, 29);
                     model.setCeldaEditable(partidas.size() + i, 29, false);

                     if (enlazadas[i].getIntPinMax() == -1)
                         model.setValueAt(false, partidas.size() + i, 30);
                     else
                         model.setValueAt(true, partidas.size() + i, 30);
                     model.setCeldaEditable(partidas.size() + i, 30, false);

                     if (enlazadas[i].getInstruccion() != null)
                         model.setValueAt(enlazadas[i].getInstruccion(), partidas.size() + i, 31);
                     else
                         model.setValueAt("", partidas.size() + i, 31);
                     model.setCeldaEditable(partidas.size() + i, 31, false);

                     //model.setValueAt(enlazadas[i].getTipo(), cuentas.length+i, 33);
                     model.setValueAt("e", partidas.size() + i, 32);
                     model.setCeldaEditable(partidas.size() + i, 32, false);

                     if (enlazadas[i].getOrdenByEnlazada() != null)
                         model.setValueAt(enlazadas[i].getOrdenByIdOrden().getIdOrden(), partidas.size() + i,
                                 33);
                     else
                         model.setValueAt("", partidas.size() + i, 33);
                     model.setCeldaEditable(partidas.size() + i, 33, false);

                     model.setValueAt(enlazadas[i].isAutorizadoValuacion(), partidas.size() + i, 34);
                     model.setCeldaEditable(partidas.size() + i, 34, false);
                 }
             } else {
                 model = new MyModel(0, columnas);
                 t_datos.setModel(model);
             }
             session.beginTransaction().rollback();
         } catch (Exception e) {
             e.printStackTrace();
         }
         if (session != null)
             if (session.isOpen() == true) {
                 session.flush();
                 session.clear();
                 session.close();
             }
     } else {
         model = new MyModel(0, columnas);
         t_datos.setModel(model);
     }
     formatoTabla();
     if (x >= 0 && y >= 0) {
         t_datos.setColumnSelectionInterval(y, y);
         t_datos.setRowSelectionInterval(x, x);
     }
 }