Untitled
user_5465063857
mysql
3 years ago
8.8 kB
6
Indexable
BEGIN
SET @hdc = '';
SET @vh = 0;
SET @gen = NEW.Sexo;
SET @usu = NEW.IdUsuario;
#Validar si hay torneo Copa IngramMicro 2023
SET @torINGRAM = (SELECT COALESCE(registrostorneos.Torneo,'') AS Torneo FROM registrostorneos WHERE registrostorneos.IDUsuarios = @usu AND registrostorneos.Torneo = 'Copa IngramMicro 2023');
#Si hay torneo, actualizar
IF @torINGRAM = 'Copa IngramMicro 2023' THEN
SET @hmod = (SELECT registrostorneos.HCPModif FROM registrostorneos WHERE registrostorneos.IDUsuarios = @usu AND registrostorneos.Torneo = 'Copa IngramMicro 2023');
SET @jven = '[';
SET @v = 0;
IF @gen = 'Masculino' THEN
SET @con = (SELECT
GROUP_CONCAT(CONCAT_WS(',',
C.H1HcpB,
C.H2HcpB,
C.H3HcpB,
C.H4HcpB,
C.H5HcpB,
C.H6HcpB,
C.H7HcpB,
C.H8HcpB,
C.H9HcpB,
C.H10HcpB,
C.H11HcpB,
C.H12HcpB,
C.H13HcpB,
C.H14HcpB,
C.H15HcpB,
C.H16HcpB,
C.H17HcpB,
C.H18HcpB
)
SEPARATOR '')
FROM torneos T
INNER JOIN campos C ON (T.Campo = C.Campo)
INNER JOIN variables V ON (T.Torneo = V.Torneo)
WHERE T.Torneo = 'Copa IngramMicro 2023' LIMIT 1);
SET @Tv = CONCAT('[',@con,']');
ELSEIF @gen = 'Femenino' THEN
SET @con = (SELECT
GROUP_CONCAT(CONCAT_WS(',',
C.H1HcpR,
C.H2HcpR,
C.H3HcpR,
C.H4HcpR,
C.H5HcpR,
C.H6HcpR,
C.H7HcpR,
C.H8HcpR,
C.H9HcpR,
C.H10HcpR,
C.H11HcpR,
C.H12HcpR,
C.H13HcpR,
C.H14HcpR,
C.H15HcpR,
C.H16HcpR,
C.H17HcpR,
C.H18HcpR
)
SEPARATOR '')
FROM torneos T
INNER JOIN campos C ON (T.Campo = C.Campo)
INNER JOIN variables V ON (T.Torneo = V.Torneo)
WHERE T.Torneo = 'Copa IngramMicro 2023' LIMIT 1);
SET @Tv = CONCAT('[',@con,']');
END IF;
#FIN Validacion sexo
IF @hmod < 18 THEN
lme18 : LOOP
IF @v = 0 THEN
SET @vc = JSON_VALUE(@Tv, '$[0]');
ELSEIF @v = 1 THEN
SET @vc = JSON_VALUE(@Tv, '$[1]');
ELSEIF @v = 2 THEN
SET @vc = JSON_VALUE(@Tv, '$[2]');
ELSEIF @v = 3 THEN
SET @vc = JSON_VALUE(@Tv, '$[3]');
ELSEIF @v = 4 THEN
SET @vc = JSON_VALUE(@Tv, '$[4]');
ELSEIF @v = 5 THEN
SET @vc = JSON_VALUE(@Tv, '$[5]');
ELSEIF @v = 6 THEN
SET @vc = JSON_VALUE(@Tv, '$[6]');
ELSEIF @v = 7 THEN
SET @vc = JSON_VALUE(@Tv, '$[7]');
ELSEIF @v = 8 THEN
SET @vc = JSON_VALUE(@Tv, '$[8]');
ELSEIF @v = 9 THEN
SET @vc = JSON_VALUE(@Tv, '$[9]');
ELSEIF @v = 10 THEN
SET @vc = JSON_VALUE(@Tv, '$[10]');
ELSEIF @v = 11 THEN
SET @vc = JSON_VALUE(@Tv, '$[11]');
ELSEIF @v = 12 THEN
SET @vc = JSON_VALUE(@Tv, '$[12]');
ELSEIF @v = 13 THEN
SET @vc = JSON_VALUE(@Tv, '$[13]');
ELSEIF @v = 14 THEN
SET @vc = JSON_VALUE(@Tv, '$[14]');
ELSEIF @v = 15 THEN
SET @vc = JSON_VALUE(@Tv, '$[15]');
ELSEIF @v = 16 THEN
SET @vc = JSON_VALUE(@Tv, '$[16]');
ELSEIF @v = 17 THEN
SET @vc = JSON_VALUE(@Tv, '$[17]');
END IF;
IF @vc <= @hmod THEN
SET @jven = CONCAT(@jven,1);
ELSE
SET @jven = CONCAT(@jven,0);
END IF;
SET @v = @v + 1;
IF @v > 17 THEN
LEAVE lme18;
ELSE
SET @jven = CONCAT(@jven,',');
END IF;
END LOOP;
SET @jven = CONCAT(@jven,']');
ELSEIF @hmod = 18 THEN
SET @jven = '[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]';
ELSEIF @hmod > 18 THEN
lma18 : LOOP
SET @i = CONCAT('$[',@v,']');
#SET @vc = JSON_VALUE(@Tv, @i);
IF @v = 0 THEN
SET @vc = JSON_VALUE(@Tv, '$[0]');
ELSEIF @v = 1 THEN
SET @vc = JSON_VALUE(@Tv, '$[1]');
ELSEIF @v = 2 THEN
SET @vc = JSON_VALUE(@Tv, '$[2]');
ELSEIF @v = 3 THEN
SET @vc = JSON_VALUE(@Tv, '$[3]');
ELSEIF @v = 4 THEN
SET @vc = JSON_VALUE(@Tv, '$[4]');
ELSEIF @v = 5 THEN
SET @vc = JSON_VALUE(@Tv, '$[5]');
ELSEIF @v = 6 THEN
SET @vc = JSON_VALUE(@Tv, '$[6]');
ELSEIF @v = 7 THEN
SET @vc = JSON_VALUE(@Tv, '$[7]');
ELSEIF @v = 8 THEN
SET @vc = JSON_VALUE(@Tv, '$[8]');
ELSEIF @v = 9 THEN
SET @vc = JSON_VALUE(@Tv, '$[9]');
ELSEIF @v = 10 THEN
SET @vc = JSON_VALUE(@Tv, '$[10]');
ELSEIF @v = 11 THEN
SET @vc = JSON_VALUE(@Tv, '$[11]');
ELSEIF @v = 12 THEN
SET @vc = JSON_VALUE(@Tv, '$[12]');
ELSEIF @v = 13 THEN
SET @vc = JSON_VALUE(@Tv, '$[13]');
ELSEIF @v = 14 THEN
SET @vc = JSON_VALUE(@Tv, '$[14]');
ELSEIF @v = 15 THEN
SET @vc = JSON_VALUE(@Tv, '$[15]');
ELSEIF @v = 16 THEN
SET @vc = JSON_VALUE(@Tv, '$[16]');
ELSEIF @v = 17 THEN
SET @vc = JSON_VALUE(@Tv, '$[17]');
END IF;
SET @hmodr = @hmod - 18;
IF @vc <= @hmodr THEN
SET @jven = CONCAT(@jven,2);
ELSE
SET @jven = CONCAT(@jven,1);
END IF;
SET @v = @v + 1;
IF @v > 17 THEN
LEAVE lma18;
ELSE
SET @jven = CONCAT(@jven,',');
END IF;
END LOOP;
SET @jven = CONCAT(@jven,']');
END IF;#FIN validacion Hoyos
SIGNAL SQLSTATE '45000' SET message_text = @jven;
UPDATE
registrostorneos
SET
registrostorneos.VH1 = JSON_VALUE(@jven, '$[0]'),
registrostorneos.VH2 = JSON_VALUE(@jven, '$[1]'),
registrostorneos.VH3 = JSON_VALUE(@jven, '$[2]'),
registrostorneos.VH4 = JSON_VALUE(@jven, '$[3]'),
registrostorneos.VH5 = JSON_VALUE(@jven, '$[6]'),
registrostorneos.VH6 = JSON_VALUE(@jven, '$[5]'),
registrostorneos.VH7 = JSON_VALUE(@jven, '$[6]'),
registrostorneos.VH8 = JSON_VALUE(@jven, '$[7]'),
registrostorneos.VH9 = JSON_VALUE(@jven, '$[8]'),
registrostorneos.VH10 = JSON_VALUE(@jven, '$[9]'),
registrostorneos.VH11 = JSON_VALUE(@jven, '$[10]'),
registrostorneos.VH12 = JSON_VALUE(@jven, '$[11]'),
registrostorneos.VH13 = JSON_VALUE(@jven, '$[12]'),
registrostorneos.VH14 = JSON_VALUE(@jven, '$[13]'),
registrostorneos.VH15 = JSON_VALUE(@jven, '$[14]'),
registrostorneos.VH16 = JSON_VALUE(@jven, '$[15]'),
registrostorneos.VH17 = JSON_VALUE(@jven, '$[16]'),
registrostorneos.VH18 = JSON_VALUE(@jven, '$[17]')
WHERE registrostorneos.Torneo = 'Copa IngramMicro 2023' AND registrostorneos.IDUsuarios = @usu LIMIT 1;
END IF;#FIN Validación torneo ingram
ENDEditor is loading...