PHP - Actualizar secuencias

   
Vista:
Imágen de perfil de Munsen

Actualizar secuencias

Publicado por Munsen (3 intervenciones) el 01/06/2017 02:59:26
Hola tengo un problema que no se me ocurre como resolver.
Estoy haciendo un sistema para venta en rutas de venta, preventa y reparto en PHP y MySql. Cada ruta tiene unos 50 clientes diarios y constantemente se están agregando y quitando clientes.
El sistema les acomoda los clientes de cada día de acuerdo a una secuencia de visita que cada vendedor decide. Así pues cada uno y cada día tienen un cliente con secuencia 1 otro con 2 etc. para ir a visitarlos en ese orden.

El problema, por ejemplo, es cuando están ocupados del 1 al 50 y vienen a meter un cliente nuevo con la secuencia de visita 5. Entonces ya se repite el 5 y se desordenan ambos.

Hay algún modo de meter ese 5 nuevo y que automáticamente se recorran en +1 del 5 viejo hasta el final?
Y también, en caso de que se deshabilite un cliente, se recorran en -1 a partir de él hasta el final?

Ideas por favor, que llevo unos días sin "iluminación".

Mil gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Actualizar secuencias

Publicado por César (1 intervención) el 01/06/2017 15:13:29
Algo así te serviría?

update tabla_clientes_vendedores
set orden_cliente=orden_cliente + 1
where orden_cliente>=5 and vendedor=vendedor_actual
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Munsen

Actualizar secuencias

Publicado por Munsen (3 intervenciones) el 01/06/2017 15:34:40
Ya. Y lo puedo poner en un trigger.
Está muy sencillo, creo que estaba embotado para no verlo.
Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Munsen

Actualizar secuencias

Publicado por Munsen (3 intervenciones) el 02/06/2017 02:08:45
Hola. No me está funcionando. Te platico las complejidades.
Los clientes llevan secuencias por cada día de la semana y hay un campo que calcula el número de de cada día que tienen visita.
Así un cliente queda con lun= 0, mar= 3, mie= 0, jue= 0, vie= 7, sab=0, dias=36 donde cada día tiene su secuencia en esa lista y en días concateno los número de días de la semana que se van a visitar (lo saca en base a los días que no son cero) y donde los "vendedores" son rutas de venta.

Así que hice este código pero me marca error y no le encuentro donde. A ver si me puedes sugerir donde estoy mal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
CREATE TRIGGER `trigger_secuencias` BEFORE INSERT ON `clientes`
 FOR EACH ROW BEGIN
	IF (NEW.lun > 0) THEN
		UPDATE clientes set lun = lun + 1
		WHERE ruta = NEW.ruta AND dias REGEXP NEW.dias AND lun >= NEW.lun;
	END IF;
	IF (NEW.mar > 0) THEN
		UPDATE clientes set mar = mar + 1
		WHERE ruta = NEW.ruta AND dias REGEXP NEW.dias AND mar >= NEW.mar;
	END IF;
	IF (NEW.mie > 0) THEN
		UPDATE clientes set mie = mie + 1
		WHERE ruta = NEW.ruta AND dias REGEXP NEW.dias AND mie >= NEW.mie;
	END IF;
	IF (NEW.jue > 0) THEN
		UPDATE clientes set jue = jue + 1
		WHERE ruta = NEW.ruta AND dias REGEXP NEW.dias AND jue >= NEW.jue;
	END IF;
	IF (NEW.vie > 0) THEN
		UPDATE clientes set vie = vie + 1
		WHERE ruta = NEW.ruta AND dias REGEXP NEW.dias AND vie >= NEW.vie;
	END IF;
	IF (NEW.sab > 0) THEN
		UPDATE clientes set sab = sab + 1
		WHERE ruta = NEW.ruta AND dias REGEXP NEW.dias AND sab >= NEW.sab;
	END IF;
	IF (NEW.dom > 0) THEN
		UPDATE clientes set dom = dom + 1
		WHERE ruta = NEW.ruta AND dias REGEXP NEW.dias AND dom >= NEW.dom;
	END IF;
END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar