Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Proceso almacenado
#1
Lightbulb 
Oscar,
Tengo un cliente que me ha hinchado un montón sobre realizar una categoría con los Happy Hours de tragos, cuya tarifa se cambie automáticamente entre ciertas horas, me explico

Hay una categoría que se llama Bar donde están los distintos tragos entre ellos mojito y caipiriña y este trago vale $3000 (peso chileno Big Grin ) y desde las 19 hrs hasta las 23 hrs estos tragos tienen un descuento del 50% por lo que valen $1500 y quiere que estos tragos se cambien automáticamente.

Actualmente yo les hice una categoría especial que se llama Happy Hours donde están estos 2 tragos con el precio de $1500, entonces le dije al cliente que cuando sean las 19 hrs habilite la categoría y a las 23 hrs la deshabilite la categoría, el problema está que no puede andar siempre atento y no confía mucho en sus empleados.

Entonces que es lo quiero hacer,
1.- Quiero eliminar la categoría Happy Hours
2.- Hacer 2 procesos almacenados:
a.- Uno que me actualice el precio de los tragos involucrados en los Happy Hours 19 hrs, colocando el descuento y,
b.- Me vuelva a actualizar los precios de los tragos a las 23 hrs.

Entonces mi pregunta es si la base de datos me permite hacer estos procesos almacenados y si el event-scheduler está en on, para hacer la tarea programada y quisiera saber cual es la tabla que tengo que modificar los precios a los productos (los tragos en este caso),,,


Espero tu respuesta Oscar

Saludos desde Chile Big Grin
"SBLpk"
CHILE
Responder
#2
Hola elistraus,

A ver, la base de datos si te permitirá los procedimientos almacenados, ahora bien, lo que no te permitirá es el event-sheduler puesto que utilizamos una versión anterior (5.0.51b) a que esta propiedad fuera implementada, por lo que tendrás que utilizar algún programa externo o similar.

La tabla para modificar los precios será "complementog" donde tendrás que actualizar el precio (antes de impuestos).

Ya me dices si te vale.
Oscar Guirado
Sysme Software

Sysme Software
Veravap
Responder
#3
buu obligao a utilizar las tareas programadas de windows, bueno lo voy hacer cuando lo tenga hecho te digo como me fue muchas gracias

Por otra parte, no has pensado en actualizar la base de datos, igual ya es muy antigua digo yo no?

Saludos dede chile Big Grin
"SBLpk"
CHILE
Responder
#4
No he querido actualizar la base de datos desde que la compró Oracle ... ya te imaginas porque ... incluso he pensado en migrar a MariaDB Wink
Oscar Guirado
Sysme Software

Sysme Software
Veravap
Responder
#5
Jajajajaj, de veras, pero igual sigue gratis, pero ya no es lo mismo,,,
Necesito otro datito como se llama la tabla de las categorias :/

Saludos
"SBLpk"
CHILE
Responder
#6
Si, sigue gratis pero no exactamente igual, prefiero mantener la versión anterior (que no es mala) y en caso de necesidad (o atisbo de problemas con esta empresa) migrar directamente a su clon (de los mismos desarrolladores) que mantiene la licencia original.

En cuanto a la tabla de categorías ... "tipo_comg" Wink
Oscar Guirado
Sysme Software

Sysme Software
Veravap
Responder
#7
Gracias Oscar,,,
Fue un éxito el pequeño scripts que realicé para cambiar el precio automáticamente, eso si, tuve que actualizar el precio PVP igual, ya que no se actualizaba, bueno, en fin, el código del proceso almacenado es

Código PHP:
DROP PROCEDURE IF EXISTS sysmehotel.happy;
CREATE PROCEDURE sysmehotel.happy()
BEGIN
-- sentencia para tragos menos el 50%
update sysmehotel.complementog 
set sysmehotel
.complementog.precio sysmehotel.complementog.precio 2,
sysmehotel.complementog.PVP sysmehotel.complementog.precio * ((sysmehotel.complementog.avgiva/100)+1)
where sysmehotel.complementog.alias 'hh';
END 

Bueno en realidad hice 2 uno para rebajar el trago y el otro para volverlo a su precio normal

Código PHP:
DROP PROCEDURE IF EXISTS sysmehotel.no_happy;
CREATE PROCEDURE sysmehotel.no_happy()
BEGIN
-- sentencia para dejar los tragos a precio normal
update sysmehotel
.complementog 
set sysmehotel
.complementog.precio sysmehotel.complementog.precio 2,
sysmehotel.complementog.PVP sysmehotel.complementog.precio * ((sysmehotel.complementog.avgiva/100)+1)
where sysmehotel.complementog.alias 'hh';
END 

aaah el alias lo ocupo para que sean genérico los tragos involucrados en los happy hours, esto significa que le coloco un alias "hh" a todos los tragos que van a ser considerados en el descuento jejjejje Big Grin

luego de esto creo 2 scripts para llamar a los procedimientos

happy.sql
Código PHP:
call sysmehotel.happy(): 

y

no_happy.sql
Código PHP:
call sysmehotel.no_happy(): 

y por ultimo 2 archivos batch para hacer la conexion a la base de datos y llamar al procedimiento almacenado

happy.bat
Código PHP:
@echo off
C
:\SYSME\sysmeserver\bin\mysql -[user] -p[pass] < happy.sql 

Y luego programo una tarea en windows bueno en este caso 2 uno a las 19hrs para happy.bat y el otro a las 23hrs para no_happy.bat Big Grin

Simple y sencillo Big Grin, ubiese hecho un solo proceso haciendo un select a la hora del servidor local y unas par de sentencias if me ubiese ahorrado un procedimiento y todo, pero me dio flojera pensar mas Big GrinBig GrinBig Grin

Bueno hasta el momento no me ha dado problema, haber si puedes ver algo que sea raro y no me he dando cuenta

Saludos desde chile Big Grin
"SBLpk"
CHILE
Responder
#8
Espectacular!!!

Buen trabajo y gran aporte Wink
Oscar Guirado
Sysme Software

Sysme Software
Veravap
Responder


Salto de foro:


Usuarios navegando en este tema: 3 invitado(s)

Contáctanos | Sysme Software | Volver arriba | | Archivo (Modo simple) | Sindicación RSS