Advertisement
payomaty666

jdoql

Aug 10th, 2014
495
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | None | 0 0
  1. public Vector<Pedido_PiezaDTO> obtener_piezas_con_ot(Date desde, Date hasta) throws Exception {
  2.         AccesoBD accesoBD = new AccesoBD();
  3.         Vector<Pedido_PiezaDTO> pedidos_PiezaDTO = new Vector<Pedido_PiezaDTO>();
  4.         try {
  5.             accesoBD.iniciarTransaccion();
  6.             Extent e0 = accesoBD.getPersistencia().getExtent(Entidad.class, true);
  7.             Query q0 = accesoBD.getPersistencia().newQuery(e0, "");
  8.             Collection entidad = (Collection) q0.execute();
  9.             String filtro = "entidad.contains(pedido.reclamo.registrante) && fecha_solicitud_fabrica==null";
  10.             Vector<Pedido_Pieza> pedidos_Pieza = new Vector<Pedido_Pieza>();
  11.             if(desde==null){
  12.                 if(hasta!=null){ //desde sin fecha hasta con fecha
  13.                     filtro += " && devolucion_pieza!=null";                        
  14.                     Extent e1 = accesoBD.getPersistencia().getExtent(Pedido_Pieza.class, true);
  15.                     Query q1 = accesoBD.getPersistencia().newQuery(e1, filtro);
  16.                     q1.declareImports("import java.util.Collection;import java.sql.Date;");
  17.                     q1.declareParameters("Collection entidad, Date hasta");
  18.                     pedidos_Pieza = new Vector<Pedido_Pieza>((Collection) q1.execute(entidad,hasta));
  19.                 }else{ //desde sin fecha hasta sin fecha
  20.                     Extent e1 = accesoBD.getPersistencia().getExtent(Pedido_Pieza.class, true);
  21.                     Query q1 = accesoBD.getPersistencia().newQuery(e1, filtro);
  22.                     q1.declareImports("import java.util.Collection;import java.sql.Date;");
  23.                     q1.declareParameters("Collection entidad, Date hasta");
  24.                     pedidos_Pieza = new Vector<Pedido_Pieza>((Collection) q1.execute(entidad,hasta));
  25.                 }
  26.             }else{
  27.                 if(hasta!=null){ //desde con fecha hasta con fecha
  28.                     filtro += " && (pedido.reclamo.fecha_reclamo >= desde || pedido.reclamo.fecha_reclamo == null) && (devolucion_pieza.fecha_devolucion <= hasta || devolucion_pieza == null)";
  29.                     Extent e1 = accesoBD.getPersistencia().getExtent(Pedido_Pieza.class, true);
  30.                     Query q1 = accesoBD.getPersistencia().newQuery(e1, filtro);
  31.                     q1.declareImports("import java.util.Collection; import java.sql.Date;");
  32.                     q1.declareParameters("Collection entidad, Date desde, Date hasta");
  33.                     pedidos_Pieza = new Vector<Pedido_Pieza>((Collection) q1.execute(entidad,desde,hasta));
  34.                 }else{ //desde con fecha hasta sin fecha
  35.                     filtro += " && (pedido.reclamo.fecha_reclamo >= desde || pedido.reclamo.fecha_reclamo == null)";
  36.                     Extent e1 = accesoBD.getPersistencia().getExtent(Pedido_Pieza.class, true);
  37.                     Query q1 = accesoBD.getPersistencia().newQuery(e1, filtro);
  38.                     q1.declareImports("import java.util.Collection;import java.sql.Date;");
  39.                     q1.declareParameters("Collection entidad,Date desde");
  40.                     pedidos_Pieza = new Vector<Pedido_Pieza>((Collection) q1.execute(entidad,desde));
  41.                 }
  42.             }
  43.             Pedido_PiezaAssembler pedido_PiezaAssemb = new Pedido_PiezaAssembler(accesoBD);
  44.             for (int i = 0; i < pedidos_Pieza.size(); i++) {
  45.                 Pedido_PiezaDTO pedido_PiezaDTO = pedido_PiezaAssemb.getPedido_PiezaDTO(pedidos_Pieza.elementAt(i));
  46.                 pedidos_PiezaDTO.add(pedido_PiezaDTO);
  47.             }
  48.             accesoBD.concretarTransaccion();
  49.         } catch (Exception e) {
  50.             accesoBD.rollbackTransaccion();
  51.         }
  52.         return pedidos_PiezaDTO;
  53.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement