Page tree
Skip to end of metadata
Go to start of metadata
  1.  Agregar sentencia en formato JsonQuery en la tabla t_query.

Ejemplo de jsonquery del query_id = 3

JsonQuery
{   "select": [
    "do.operacion_id",
    "do.cuenta_origen",
    "do.cuenta_destino",
    "dc.ci",
    "dc.nombre_completo",    "dc.tipo_cuenta",
    "do.moneda",
    "do.importe",
    "do.glosa", "do.tipo",
    "TO_CHAR(do.f_operacion,'YYYY-MM-DD HH24.MI.SS') as f_operacion", "do.f_operacion as f_operaciondate",
    "do.estado", "dp.cod_participante_gw", "dpa.cod_participante_gw as cod_participante_gw_ori","dc.nro_cuenta"
  ],
  "from": [
    "d_operacion_caja do",
    "d_cliente_caja dc", 
    "d_participante dp", "d_participante dpa"
  ],
  "where": [
    "do.cliente_caja_id = dc.cliente_caja_id","do.participante_id = dp.participante_id", "dc.participante_id = dpa.participante_id",
    "do.usuario_caja = CASE WHEN :usuario_caja = '0' THEN do.usuario_caja ELSE :usuario_caja END",
    "do.cod_usuario = CASE WHEN :cod_caja = '0' THEN do.cod_usuario ELSE :cod_caja END",
    "do.f_operacion BETWEEN :dia_inicio and :dia_fin "
  ],
  "orderBy": "1 desc"
}


2. Procesar los JsonQuery de la siguiente manera los registros. Adjunto el ejemplo.

        QueryDto query = querySpec.findByCode("", DimoSicoop.QUERY_FIND_LAST_DOPERACIONS_CAJA);// se obtiene el query correspondiente de la tabla t_query mediante el metodo correspondiente
        String sql = query.getDefinition();

        Map param = new TreeMap();//se declara la variable árbol que contendrá las variables a ser reemplazadas en el query
        param.put("usuario_caja", requestTransacciones.getData().getUsuarioCaja());
        param.put("cod_caja", requestTransacciones.getData().getCodCaja());
        param.put("dia_inicio", UtilesGenerales.str_toDate(requestTransacciones.getData().getFechaInicio()+" 00:00:00", "dd-MM-yyyy hh:mm:ss"));
        param.put("dia_fin",  UtilesGenerales.str_toDate(requestTransacciones.getData().getFechaFin()+" 23:59:59", "dd-MM-yyyy hh:mm:ss"));
        LOGGER.log(INFO, param.toString());
        List<Object[]> list = QueryBuilder.query(sql, param, tQueryDaoSpec.getEM());//
        List<String> names = QueryBuilder.getCabecera(query.getDefinition());
        List<UltimasTransacciones> dOperacionEntityList = ObjectUtil.getObjectByList(UltimasTransacciones.class, list, names);// se declara un listado utilizando una clase con los valores retornados por el query
 



  • No labels