Ir al contenido


Foto

reporte con store procedure en oracle


  • Por favor identifícate para responder
15 respuestas en este tema

#1 mariorockstar

mariorockstar

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 30 octubre 2012 - 11:26

hola!!! a todos quisiera ver si me pueden ayudar
pues resulta que necesito hacer un store procedure en oracle de estadisticas de estacionamiento
en un parqueo
tengo una tabla

create table parqueo(
correlativo integer primary key,
fecha_entrada date,
hora_entrada varchar2(50),
fecha_salida date,
hora_salida varchar2(50)

)


donde ingreso los datos del vehiculo entrada, hora,salida y hora
y necesito que el estore procedure me inserte en otra tabla el resultado de los parametros
que se le ingrese por ejemplo
                              DIA MES AÑO
execute pa_estado(0, 10, 2012)
al pasar estos parametros me debe de ingresar en otra tabla(que no he creado)
todos los vehiculos que se estacionaron en el mes de octubre, pero por rangos
por ejemplo

horarioRango    cantidadVehiculos
7am - 8am              10
8am - 9am              15
9am - 10am            45
10am - 11am            1

ahora bien si ingreso un vehiculo en la tabla parqueo
insert into parqueo values(1,'26/10/2012','7:33','26/10/12','11:00');
como este vehiculo esta 4 horas, este vehiculo de be aparecer
en todas los rangos en este caso hasta las 11am y si un vehiculo
solo esta una hora pues este solo debe aparecer en esa hora
ahh!! si en una determinada hora nadie se parqueo este rango no
debe de aparecer

si me pueden ayudar se los gradeceria mucho
Saludos
  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 30 octubre 2012 - 11:47

Saludos.

No comprendo porque necesitas guardar la hora en otro campo y sobre todo como varchar; hasta donde tengo entendido el tipo Date soporta horas.

Así de rápido se me ocurre que puedes usar varios subselect en conjunto con las sentencias SIBLINGS, START WITH, CONNECT BY y la pseudo columna LEVEL.

Info1
Info2

  • 0

#3 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 30 octubre 2012 - 12:08



Lo que puedes hacer, si deseas mantener la definición de tu tabla es convertir los campos a tipo date para poder hacer las comparaciones... necesarias. Para ello puedes hacer uso de la funcion to_date

Con relación a esto, tienes alguna duda en particular?


  • 0

#4 mariorockstar

mariorockstar

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 30 octubre 2012 - 01:19

ya hice la conversion de los datos varchar2 a tipo date
pero lo que no se!!! es como hacer para sumar las horas en que estuvo un vehiculo estacionado
es decir cuando un vehiculo se estaciona a las 7:15 am y sale hasta las 10:35am
como hago para que el vehiculo aparezca en el rango de
7am - 8am
9am-10am
10am-11am

en la que el vehiculo estuvo estacionado en esos periodos de tiempo
y la razon por lo que deseo almacenar la hora entro campo es porque solo interesa los intervalos enteros y no con minutos

para luego consulatar la tabla con los resultados.

Si se les ocurre alguna idea mejor se los agradeceria

saludos,
  • 0

#5 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 30 octubre 2012 - 01:35

Pues se me ocurre esta consulta para saber los vehículos estacionados determinado día entre las 12 y 4 de la tarde



Select *
  from parqueo
where HoraEntrada >= to_date('2012-10-01 12:00','YYYY-MM-DD HH:MI') and
            HoraSalida >= to_date('2012-10-01 16:00','YYYY-MM-DD HH:MI')


esto se ajusta al o que buscas?
  • 0

#6 mariorockstar

mariorockstar

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 30 octubre 2012 - 09:56

te agradezco tu ayuda pero fijate que esa consulta no me sirve pues yo necesito saber cuantos vehiculos se estacionan por hora

es decir, supangamos que entran dos vehiculos el 30/10/2012 uno a las 8:15am y el otro a las 8:18am
entoces tenemos que en el rango de
8am - 9am  hay 2 vehiculos en la fecha 30/10/2012

he estado probando una consulta como esta:

select fecha_entrada,count(hora_entrada)
from parqueo
group by fecha_entrada

que me devuelve cuantos vehiculos se estacionaron por fecha en el caso anterior me diria que
fecha_entrada    count(hora_entrada)
30/10/2012                      2

y lo que necesito es que me diga cuantos se estacionan por hora
7am - 8am        ?
8am- 9am          ?  etc.

y lo que no se tambien es como hacer para que me despliegue el rango
  • 0

#7 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 30 octubre 2012 - 10:59

Supongo que estás buscando algo como esto:

*** probado en Oracle11g



SELECT PERIODO, COUNT(*) CUANTOS
  FROM (
        SELECT 'DE ' || to_char(FECHAYHORA,'HH') || ' ' || to_char(FECHAYHORA,'AM') || ' A ' ||
                  CAST(
                        (CAST(to_char(FECHAYHORA,'HH') AS INTEGER) + 1)
                        AS VARCHAR2(10)
                        ) || ' ' || to_char(FECHAYHORA,'AM')  PERIODO
            FROM (
        SELECT TO_DATE('2012-10-01 14:25:23','YYYY-mm-dd HH24:MI:SS') FECHAYHORA FROM DUAL UNION
        SELECT TO_DATE('2012-10-02 15:25:23','YYYY-mm-dd HH24:MI:SS') FROM DUAL UNION
        SELECT TO_DATE('2012-10-03 15:55:23','YYYY-mm-dd HH24:MI:SS') FROM DUAL UNION
        SELECT TO_DATE('2012-10-04 16:55:23','YYYY-mm-dd HH24:MI:SS') FROM DUAL UNION
        SELECT TO_DATE('2012-10-05 18:20:23','YYYY-mm-dd HH24:MI:SS') FROM DUAL UNION
        SELECT TO_DATE('2012-10-06 18:00:23','YYYY-mm-dd HH24:MI:SS') FROM DUAL UNION
        SELECT TO_DATE('2012-10-06 18:30:23','YYYY-mm-dd HH24:MI:SS') FROM DUAL UNION
        SELECT TO_DATE('2012-10-06 15:55:23','YYYY-mm-dd HH24:MI:SS') FROM DUAL union
        SELECT TO_DATE('2012-10-06 10:55:23','YYYY-mm-dd HH24:MI:SS') FROM DUAL
            ) DATDUMMY
      ) DATOS           
    group by periodo






  • 0

#8 mariorockstar

mariorockstar

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 30 octubre 2012 - 11:11

voy a probar...gracias!!!!!!!!!!
  • 0

#9 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 01 noviembre 2012 - 12:53

No uso Oracle por lo que no sabría como asesorar bien sobre el armado de la consulta, pero en vista al tipo de duda me parece que lo más sensato es definir un procedimiento almacenado del tipo seleccionable.

Veo la consulta de Edgar y me parece que con más razón lo sano es ir por un SP. Y que dentro de él se ejecuten las consultas para cada rango y devuelva el conjunto de datos formado.

Saludos,
  • 0

#10 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 01 noviembre 2012 - 01:05

No uso Oracle por lo que no sabría como asesorar bien sobre el armado de la consulta, pero en vista al tipo de duda me parece que lo más sensato es definir un procedimiento almacenado del tipo seleccionable.


Efectivamente amigo mio, usar oracle y no usar procedimientos almacenados es una contradicción tremenda.



Veo la consulta de Edgar y me parece que con más razón lo sano es ir por un SP. Y que dentro de él se ejecuten las consultas para cada rango y devuelva el conjunto de datos formado.

Saludos,



jajajaja se ve algo aparatosa por el armado de una pseudo tabla que tuve que hacer para ejemplificar el caso. Ya con tablas reales el tamaño de la consulta será mínimo

  • 0

#11 mariorockstar

mariorockstar

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 02 noviembre 2012 - 09:23

sigo sin poder armar la consulta, porque al procedimiento almacenado le tengo que pasar parametros por ejemplo
execute pa_parqueo( 2,11,2012) esto deberia obtener todos los autos que se estacionaron el 2 de noviembre de 2012
y desplegarme por rangos de:
7a-8am        cantidadVehiculos
8am-9am    cantidadVehiculos

si mi tabla es:
create table parqueo(
correlativo integer primary key,
fecha_entrada date,
hora_entrada date,
fecha_salida date,
hora_salida date
)

aunque el resultado de ejecutar el procedimiento  pienso almacenarlo en otra tabla a traves de un insert en el procedimiento para luego solo consultar el resultado...eso es lo que se me ocurre!!!

se que tengo que usar cursores aqui pero aun no hayo la forma de rescolverlo

agradeceria seguir con su orientacion en esto!!!!

saludos!!!!!!!!
  • 0

#12 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 03 noviembre 2012 - 10:21

sigo sin poder armar la consulta, porque al procedimiento almacenado le tengo que pasar parametros por ejemplo
execute pa_parqueo( 2,11,2012) esto deberia obtener todos los autos que se estacionaron el 2 de noviembre de 2012
y desplegarme por rangos de:
7a-8am        cantidadVehiculos
8am-9am    cantidadVehiculos

si mi tabla es:
create table parqueo(
correlativo integer primary key,
fecha_entrada date,
hora_entrada date,
fecha_salida date,
hora_salida date
)



Podrías pegar aquí el encabezado de tu procedimiento almacenado para armarte el cuerpo y te devuelva la info que buscas
  • 0

#13 mariorockstar

mariorockstar

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 05 noviembre 2012 - 11:51

Gracias por tu ayuda!!!! Te comento que he cambiado la estructura de mi tabla ahora la tengo asi:
create table parqueo(
correlativo integer primary key,
fechaEntrada date,
FechaSalida date
);
//esto es para el autoincrementable
create sequence secuencia2
start with 1
increment by 1
nomaxvalue;

create or replace trigger secuencia2
before insert on parqueo
for each row
begin
select secuencia2.nextval into:new.correlativo from dual;
end;

// los insert que tengo para probar:
insert into parqueo values(1,to_date('4-11-2012 10:28:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('4-11-2012 11:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('4-11-2012 11:28:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('4-11-2012 12:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('4-11-2012 9:18:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('4-11-2012 11:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('4-11-2012 7:28:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('4-11-2012 9:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('4-11-2012 7:15:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('4-11-2012 8:45:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('4-11-2012 8:10:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('4-11-2012 13:08:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('5-11-2012 10:28:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('5-11-2012 11:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('5-11-2012 10:28:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('5-11-2012 11:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('6-11-2012 7:15:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('6-11-2012 8:45:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('6-11-2012 8:10:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('6-11-2012 13:08:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('6-11-2012 10:45:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('6-11-2012 13:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('6-11-2012 10:28:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('6-11-2012 15:22:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('6-11-2012 16:45:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('6-11-2012 18:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('6-11-2012 17:28:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('6-11-2012 20:22:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('1-10-2012 16:45:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('1-10-2012 18:28:00', 'DD-MM-YYYY HH24:MI:SS'))

insert into parqueo values(1,to_date('1-10-2012 17:28:00', 'DD-MM-YYYY HH24:MI:SS'),to_date('1-10-2012 20:22:00', 'DD-MM-YYYY HH24:MI:SS'))




en esta tabla deseo almacenar el resultado para luego consultarla:
create table resultado(
rango varchar2(50),
cantidad integer
);

//mi procedimiento almacenado

create or replace procedure pa_parqueo((dia date,mes date,anio date)
is
cursor c_park is
SELECT  to_char(fechaEntrada, 'dd/mm/yyyy'),
to_char(fechaEntrada,' HH24' ),
count (to_char(fechaEntrada,' HH24' ) )  from parqueo

where to_char(fechaEntrada,' HH24' ) >6
and fechaEntrada> to_date('04/11/2012 ','DD-MM-YYYY ' )

GROUP BY  to_char(fechaEntrada, 'dd/mm/yyyy'),to_char(fechaEntrada,' HH24' );

m_reg c_park%rowtype;

begin

open c_park;
loop
fetch c_park into m_reg;
exit when c_park%notfound;
insert into resultado values(rango,m_reg.cantidad);
end loop;
close c_park;
commit;
end;



El cursor me devuelve cuantos carros hay por hora, pero aun no se como manipular el cursor para que me de el resultado esperado o si el cursor estara bien asi. Los resultados al ejecutar el procedimiento almacenado deberia ser asi,
por ejemplos con los insert que tengo en mi tabla serian:
POR AÑO
execute pa_parqueto(0,0,2012)  //todo el 2012
RANGO(horas)    CANTIDAD(vehiculos)
7 - 8                            3
8 - 9                            5
9 - 10                          4
10 - 11                        8
11 - 12                        9
12 - 13                        5
13 - 14                        4
14 - 15                        1
15 - 16                        1
16 - 17                        2
17 - 18                        4
18 - 19                        4
19 - 20                        2
20 - 21                        2       
     
si consulto por MES los datos serian:
execute pa_parqueto(0,10,2012)  //todo el mes de octubre del 2012

RANGO(horas)    CANTIDAD(vehiculos)  //solo tienen que aparecer los rangos de las horas en que hubo vehiculos
16 - 17                        1                            como en este caso solo hubo desde la 16 horas hasta las 21 horas
17 - 18                        2
18 - 19                        2
19 - 20                        1
20 - 21                        1     

si consulto por DIA los datos serian:
execute pa_parqueto(4,11,2012)  //todos los vehiculos estacionados el dia 4 de noviembre del 2012

RANGO(horas)    CANTIDAD(vehiculos) //solo los rangos de vehiculos estacionados hasta esa hora, las demas horas no
7 - 8                            3                          no aparecen porque no hubo vehiculos en esas horas
8 - 9                            4
9 - 10                          3
10 - 11                        3
11 - 12                        4
12 - 13                        2
13 - 14                        1

cada vehiculo debe aparecer en cada hora desde su entrada hasta su salida

He intentado hacer este procedimiento pero se me ha hecho muy dificil, ya que estoy aprendiendo a usar PL, si me pudieras ayudar te lo agradeceria mucho ya que me dara muchos conocimientos para manejar cursores y procedimientos, pues he hecho algunos procedimientos pero no han sido tan complicados como este.

Saludos!!!!!!!


  • 0

#14 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 05 noviembre 2012 - 10:52

Como te había comentado más arriba, lo que necesitas puede resolverse con un par de consultas... si observas la primera es por año y la segunda por mes. Por cierto tu tabla para el mes 10 es errónea por que solo insertaste dos filas para ese mes como bien da resultado la consulta que te pongo.

Cualquier duda amigo mio... con toda confianza :) pregunta



-- OBTIENE  LOS VEHÌCULOS AÑO
SELECT PERIODO, COUNT(*) CANTIDAD_VEHICULOS
  FROM (
        SELECT to_char(FECHAENTRADA,'YYYY') ANIO,
              to_char(FECHAENTRADA,'HH') || ' - ' || CAST( (CAST(to_char(FECHAENTRADA,'HH') AS INTEGER) + 1) AS VARCHAR2(10))  PERIODO
          from parqueo
    ) DATOSCULACULADOS
  WHERE ANIO = 2012
  GROUP BY PERIODO;
 
-- OBTIENE  LOS VEHÌCULOS POR MES Y AÑO
SELECT PERIODO, COUNT(*) CANTIDAD_VEHICULOS
  FROM (
        SELECT to_char(FECHAENTRADA,'YYYY') ANIO, to_char(FECHAENTRADA,'MM') MES,
              to_char(FECHAENTRADA,'HH') || ' - ' || CAST( (CAST(to_char(FECHAENTRADA,'HH') AS INTEGER) + 1) AS VARCHAR2(10))  PERIODO
          from parqueo
    ) DATOSCULACULADOS
  WHERE ANIO = 2012 AND
        MES = 10   
  GROUP BY PERIODO; 


  • 0

#15 mariorockstar

mariorockstar

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 06 noviembre 2012 - 09:55

Te agradezco tu valiosisima ayuda, hare lo que tu me dices

Saludos!!!!!!
  • 0

#16 mariorockstar

mariorockstar

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 08 noviembre 2012 - 10:07

que tal amigo!!!!! te cuento que ya casi tengo el store procedure que necesito, pero me he quedado estancado, porque me pidieron que la consulta la hiciera con un solo query, por eso no hice varias consultas como tu me indicaste y  en eso me he quedado, por lo que necesito de tu orientacion.
tambien me acaban de pasar las siguientes tablas:

create table ingresos (
correlativo decimal(10,0) not null,
fecha date not null,
hora_inicial varchar(20),
hora_final varchar(20),
constraint pk1 primary key (correlativo));

create table registros (
hora varchar (20),
cantidad decimal(10,0) not null);


mi procedimiento almacenado esta de la siguiente forma:

CREATE OR REPLACE PROCEDURE pr_llenado(dia varchar2,mes varchar2,anio varchar2)
IS
  rango        VARCHAR2 (20);--declaro dos variables donde
  existehora  VARCHAR2 (20);--guardare los datos

  CURSOR parqueo --declaro el nombre del cursor
  IS
 
 
      SELECT '07-08' AS rango, COUNT (*) AS existehora--realizo el select y lo guardo
        FROM ingresos --en la variable rango y luego ago un conteo y lo guardo en
      WHERE hora_inicial <= 7 AND hora_final >= 8 --la variable existehora
        and to_char(fecha,'dd') = dia
        and to_char(fecha,'mm') = mes
        and to_char(fecha,'yyyy') = anio
       
    UNION--luego le pongo la condidion necisaria y siguente ago una union
      SELECT '08-09' AS rango, COUNT (*) AS existehora-- con los demas querys
        FROM ingresos
      WHERE hora_inicial <= 8 AND hora_final >= 9
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio
      UNION
      SELECT '09-10' AS rango, COUNT (*) AS existehora
        FROM ingresos
      WHERE hora_inicial <= 9 AND hora_final >= 10
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio
      UNION
      SELECT '10-11' AS rango, COUNT (*) AS existehora
        FROM ingresos
      WHERE hora_inicial <= 10 AND hora_final >= 11
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio
      UNION
      SELECT '11-12' AS rango, COUNT (*) AS existehora
        FROM ingresos
      WHERE hora_inicial <= 11 AND hora_final >= 12
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio
      UNION
      SELECT '12-13' AS rango, COUNT (*) AS existehora
        FROM ingresos
      WHERE hora_inicial <= 12 AND hora_final >= 13
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio
      UNION
      SELECT '13-14' AS rango, COUNT (*) AS existehora
        FROM ingresos
      WHERE hora_inicial <= 13 AND hora_final >= 14
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio
      UNION
      SELECT '14-15' AS rango, COUNT (*) AS existehora
        FROM ingresos
      WHERE hora_inicial <= 14 AND hora_final >= 15
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio
      UNION
      SELECT '15-16' AS rango, COUNT (*) AS existehora
        FROM ingresos
      WHERE hora_inicial <= 15 AND hora_final >= 16
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio
      UNION
      SELECT '16-17' AS rango, COUNT (*) AS existehora
        FROM ingresos
      WHERE hora_inicial <= 16 AND hora_final >= 17
      and to_char(fecha,'dd') = dia
      and to_char(fecha,'mm') = mes
      and to_char(fecha,'yyyy') = anio;
     
     
BEGIN
  OPEN parqueo;--abro el cursor

  LOOP --inicia loop
      FETCH parqueo --ago el llamado del cursor
      INTO rango, existehora; --luego llamo a las variables

      EXIT WHEN parqueo%NOTFOUND;--si no funciona correctamente

      INSERT INTO registros --inserto los registros del cursor
          VALUES (rango, existehora);--y de las variables en la
          --tabla registros para ver el conteo de horas
  END LOOP; --cierro el loop
END;--finaliza el procedimiento


si yo paso los parametros al procedimiento de esta forma:

execute pr_llenado(4,11,2012)

todo funciona de maravilla porque me devuelve la cantidad de vehiculos estacionados en cada hora del dia 4 del mes de noviembre del 2012, pero si quiero consultar todo el año 2012 no me funciona.
execute pr_llenado(0,0,2012)  no me sale ningun registro.

espero me puedas orientar!!! :wink:

saludos!!!! :smiley:
  • 0




IP.Board spam blocked by CleanTalk.