preinscripcion 3.22.0 personalizado para colegios preuniversitarios de UADER
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

57 lines
2.5 KiB

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.11 a 3.11.2
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- +++++++++++++++ Agrega el campo "es_mayor_25_sin_secundario" ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'es_mayor_25_sin_secundario'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN es_mayor_25_sin_secundario Char(1) NOT NULL DEFAULT 'N';
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_es_mayor_25_sin_secundario CHECK (es_mayor_25_sin_secundario IN ('N', 'S'));
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('es_mayor_25_sin_secundario','Es mayor de 25 años y no tiene estudios secundarios');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','es_mayor_25_sin_secundario',1,1,1);
-- si ya existe
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se replica la config de propuestas de Grado para los demás tipos
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime)
SELECT sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna,
sga_campos_conf.visible,
sga_campos_conf.obligatorio,
sga_campos_conf.se_imprime
FROM sga_campos_conf,
sga_propuestas_tipos
WHERE sga_campos_conf.propuesta_tipo = '200'
AND sga_propuestas_tipos.propuesta_tipo <> '200'
ORDER BY sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna;
END IF;
--Por si fue modificada manualmente
UPDATE sga_campos_conf SET visible=1, obligatorio=1, se_imprime=1 WHERE columna='es_mayor_25_sin_secundario';
END $BODY$;
-- ++++++++++++++++++ Fin agregado campo es_mayor_25_sin_secundario +++++++++++++++++++
COMMIT WORK;