USE usuarios_cepaim;


CREATE TABLE `usuarios_cepaim`.`li_multiples_catalogo_lineas_proy` (
  `id_linea` int NOT NULL,
  `id_catalogo` INT UNSIGNED NOT NULL,
  PRIMARY KEY (`id_linea`,`id_catalogo`),
  CONSTRAINT `fk-li_multiples_catalogo_lineas_proy-lineas` FOREIGN KEY (`id_linea`) REFERENCES `usuarios_cepaim`.`li_lineas_proyectos` (id),
  CONSTRAINT `fk-li_multiples_catalogo_lineas_proy-catalogo` FOREIGN KEY (`id_catalogo`) REFERENCES `beneficiarios`.`multiples_catalogo` (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;


-- ACCIONES GRUPALES


DELETE FROM `beneficiarios`.`multiples_catalogo` WHERE id BETWEEN 127 AND 150;

-- Campos que dejan de ser obligatorios en la tabla beneficiarios.acciones_grupales
ALTER TABLE beneficiarios.`acciones_grupales` CHANGE `id_objetivo` `id_objetivo` INT(11) NULL;
ALTER TABLE beneficiarios.`acciones_grupales` CHANGE `id_tipoaccion` `id_tipoaccion` INT(11) NULL;
ALTER TABLE beneficiarios.`acciones_grupales` CHANGE `objetivos` `objetivos` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci NULL; 
ALTER TABLE beneficiarios.`acciones_grupales` CHANGE `desarrollo` `desarrollo` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci NULL; 
ALTER TABLE beneficiarios.`acciones_grupales` CHANGE `logros` `logros` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci NULL; 
ALTER TABLE beneficiarios.`acciones_grupales` CHANGE `dificultades` `dificultades` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci NULL; 
ALTER TABLE beneficiarios.`acciones_grupales` CHANGE `evaluacion` `evaluacion` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci NULL; 

/* ¡ATENCIÓN! --> Ejecutar por orden las siguientes consultas debido a que si introduces primero las tipologías nuevas, la primera consulta 
va a coger todos los nuevos catálogos de id_tipoaccion. Debe de coger las que hay ahora. */

-- Las consultas insertan las líneas de proyecto de las áreas del WHERE de la consulta t1, junto con todos los id de catálogo de la consulta t2 (multiplicación)

-- Área: Interculturalidad y Desarrollo Comunitario (Acción Comunitaria) (id area = 4)
-- Área: Igualdad y No Discriminación (id area = 6)
-- Área: Intervención con Jóvenes y Familias (id area = 9)
-- Estas áreas tendrán los catálogos que estaban ya predefinidos en el formulario.

INSERT INTO `usuarios_cepaim`.`li_multiples_catalogo_lineas_proy`
SELECT t1.id_linea, t2.id_catalogo
FROM
    (SELECT id AS id_linea
    FROM `usuarios_cepaim`.`li_lineas_proyectos`
    WHERE id_area IN (4, 6, 9) ORDER BY id) AS t1,
    (SELECT id AS id_catalogo
    FROM `beneficiarios`.`multiples_catalogo`
    WHERE tabla = 'acciones_grupales' AND campo IN ('id_tipoaccion','id_objetivo','ejes') AND caducado = 0) AS t2;

-- Área: Desarrollo Rural (id area = 12)
-- Contiene tipologías para benef y entidades

INSERT INTO `beneficiarios`.`multiples_catalogo` (id,tabla, campo, tipo, valor, caducado) VALUES
(127,'acciones_grupales', 'id_tipoaccion', 'b', 'Encuentro', 0),
(128,'acciones_grupales', 'id_tipoaccion', 'b', 'Información/Difusión', 0),
(129,'acciones_grupales', 'id_tipoaccion', 'b', 'Seminario', 0),
(130,'acciones_grupales', 'id_tipoaccion', 'b', 'Asesoría', 0),
(131,'acciones_grupales', 'id_tipoaccion', 'b', 'Jornadas de Reflexión', 0),
(132,'acciones_grupales', 'id_tipoaccion', 'b', 'Participación en redes de comercialización', 0),
(133,'acciones_grupales', 'id_tipoaccion', 'e', 'Encuentro', 0),
(134,'acciones_grupales', 'id_tipoaccion', 'e', 'Charlas informativas', 0),
(135,'acciones_grupales', 'id_tipoaccion', 'e', 'Sensibilización', 0),
(136,'acciones_grupales', 'id_tipoaccion', 'e', 'Jornadas de Reflexión', 0),
(137,'acciones_grupales', 'id_tipoaccion', 'e', 'Ferias', 0);

INSERT INTO `usuarios_cepaim`.`li_multiples_catalogo_lineas_proy`
SELECT t1.id_linea, t2.id_catalogo
FROM
    (SELECT id AS id_linea 
    FROM `usuarios_cepaim`.`li_lineas_proyectos` 
    WHERE id_area IN (12)) AS t1,
    (SELECT id AS id_catalogo
    FROM `beneficiarios`.`multiples_catalogo`
    WHERE tabla = 'acciones_grupales' AND (campo IN ('ejes','id_objetivo') OR id IN (23,124) OR id BETWEEN 126 AND 137) AND caducado = 0) AS t2;

-- Área: de Acogida (id area = 2)
-- Contiene tipologías sólo para benef

INSERT INTO `beneficiarios`.`multiples_catalogo` (id,tabla, campo, tipo, valor, caducado) VALUES
(138,'acciones_grupales', 'id_tipoaccion', 'b', 'Acción lúdico-cultural', 0),
(139,'acciones_grupales', 'id_tipoaccion', 'b', 'Acción relacionadas con la igualdad y convivencia intercultural', 0),
(140,'acciones_grupales', 'id_tipoaccion', 'b', 'Acción relacionada con el medio-ambiente', 0),
(141,'acciones_grupales', 'id_tipoaccion', 'b', 'Acción relacionada con el ejercicio físico ', 0);

INSERT INTO `usuarios_cepaim`.`li_multiples_catalogo_lineas_proy`
SELECT t1.id_linea, t2.id_catalogo
FROM
    (SELECT id AS id_linea
    FROM `usuarios_cepaim`.`li_lineas_proyectos`
    WHERE id_area IN (2)) AS t1,
    (SELECT id AS id_catalogo
    FROM `beneficiarios`.`multiples_catalogo`
    WHERE tabla = 'acciones_grupales' AND caducado = 0 AND (campo IN ('ejes','id_objetivo') OR id BETWEEN 138 AND 141)
    ) AS t2;

-- Área: de Empleo y Formación (id area = 3)
-- Contiene tipologías para benef y entidades

INSERT INTO `beneficiarios`.`multiples_catalogo` (id,tabla, campo, tipo, valor, caducado) VALUES
(142,'acciones_grupales', 'id_tipoaccion', 'b', 'Jornada/Encuentro', 0),
(143,'acciones_grupales', 'id_tipoaccion', 'b', 'Ferias', 0),
(144,'acciones_grupales', 'id_tipoaccion', 'b', 'Emprendimiento/Autoempleo', 0),
(145,'acciones_grupales', 'id_tipoaccion', 'e', 'Información/Difusión', 0),
(146,'acciones_grupales', 'id_tipoaccion', 'e', 'Asesoría', 0),
(147,'acciones_grupales', 'id_tipoaccion', 'e', 'Jornada/Encuentro', 0),
(148,'acciones_grupales', 'id_tipoaccion', 'e', 'Emprendimiento/Autoempleo', 0);

INSERT INTO `usuarios_cepaim`.`li_multiples_catalogo_lineas_proy`
SELECT t1.id_linea, t2.id_catalogo
FROM
    (SELECT id AS id_linea
    FROM `usuarios_cepaim`.`li_lineas_proyectos`
    WHERE id_area IN (3)) AS t1,
    (SELECT id AS id_catalogo
    FROM `beneficiarios`.`multiples_catalogo`
    WHERE tabla = 'acciones_grupales' AND caducado = 0 AND 
    (campo IN ('ejes','id_objetivo') OR ( id IN (23, 121, 122, 124, 126, 128, 130, 135, 137) OR id BETWEEN 142 AND 148 ) )
    ) AS t2;

-- Área: de Vivienda (id area = 13)
-- Contiene tipologías sólo para benef

INSERT INTO `beneficiarios`.`multiples_catalogo` (id,tabla, campo, tipo, valor, caducado) VALUES
(149,'acciones_grupales', 'id_tipoaccion', 'b', 'Acción de diagnóstico', 0),
(150,'acciones_grupales', 'id_tipoaccion', 'b', 'Mediación', 0);


INSERT INTO `usuarios_cepaim`.`li_multiples_catalogo_lineas_proy`
SELECT t1.id_linea, t2.id_catalogo
FROM
    (SELECT id AS id_linea
    FROM `usuarios_cepaim`.`li_lineas_proyectos`
    WHERE id_area IN (13)) AS t1,
    (SELECT id AS id_catalogo
    FROM `beneficiarios`.`multiples_catalogo`
    WHERE tabla = 'acciones_grupales' AND caducado = 0 AND
    (campo IN ('ejes','id_objetivo') OR (id IN (22, 23, 128, 130, 138, 149, 150)))
    ) AS t2;



-- ACCIONES COLECTIVAS


USE participacion;


ALTER TABLE participacion.`li_objetivos` CHANGE `id` `id` INT UNSIGNED NOT NULL AUTO_INCREMENT; 

CREATE TABLE `li_multiples_catalogo_lineas_proy` (
  `id_linea` int NOT NULL,
  `id_catalogo` INT UNSIGNED NOT NULL,
  `campo` enum('objetivo','eje','medio') NOT NULL,
  PRIMARY KEY (`id_linea`,`id_catalogo`,`campo`),
  CONSTRAINT `fk-li_multiples_catalogo_lineas_proy-lineas` FOREIGN KEY (`id_linea`) REFERENCES `usuarios_cepaim`.`li_lineas_proyectos` (id)
/*  CONSTRAINT `fk-li_multiples_catalogo_lineas_proy-catalogo` FOREIGN KEY (`id_catalogo`) REFERENCES `participacion`.`multiples_catalogo` (id),
  CONSTRAINT `fk-li_multiples_catalogo_lineas_proy-objetivo` FOREIGN KEY (`id_catalogo`) REFERENCES `participacion`.`li_objetivos` (id)*/
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

-- Campos que dejan de ser obligatorios en la tabla participacion.acciones_colect
ALTER TABLE participacion.`acciones_colect` CHANGE `tipo` `tipo` VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
ALTER TABLE participacion.`acciones_colect` CHANGE `objetivo` `objetivo` VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
ALTER TABLE participacion.`acciones_colect` CHANGE `objetivos` `objetivos` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
ALTER TABLE participacion.`acciones_colect` CHANGE `desarrollo` `desarrollo` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
ALTER TABLE participacion.`acciones_colect` CHANGE `logros` `logros` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
ALTER TABLE participacion.`acciones_colect` CHANGE `dificultades` `dificultades` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; 
ALTER TABLE participacion.`acciones_colect` CHANGE `evaluacion` `evaluacion` TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL;

-- Esta consulta es para que todas las líneas tengan todos los ejes y objetivos: (los medios y países se mantendrán como estaban)

INSERT INTO `participacion`.`li_multiples_catalogo_lineas_proy`
SELECT t1.id_linea, t2.id_catalogo, t2.campo
FROM
    (SELECT id AS id_linea
    FROM `usuarios_cepaim`.`li_lineas_proyectos`
    WHERE id_area IN (3, 4, 6, 9, 12, 13) ORDER BY id) AS t1, /*Empleo, Acción Comunitaria, Igualdad, Jóvenes y familias, Desarrollo Rural, Vivienda*/
    (
        (SELECT id AS id_catalogo, campo AS campo
        FROM `participacion`.`multiples_catalogo`
        WHERE campo IN ('eje'))
            UNION ALL
        (SELECT id AS id_catalogo, 'objetivo' AS campo
        FROM `participacion`.`li_objetivos`)
    ) AS t2;
