...
Code Block | ||||
---|---|---|---|---|
| ||||
-- Obtiene información de la nueva empresa select e.empresa_id into @i_empresa_id from empresa e where e.pais_id = @i_pais_id and e.empresa_clave = 'SV.LIVE'; |
Ciclo escolar y periodos de evaluación
Es necesario crear el ciclo escolar y periodos de evaluación que serán utilizados para la nueva empresa.
Si la empresa se está basando en la información de otra empresa ya creada, se utiliza el siguiente script para crear los ciclos escolares a partir del año que se indique.
Code Block | ||
---|---|---|
| ||
insert into ciclo_escolar(empresa_id, ciclo_escolar_clave, ciclo_escolar, ciclo_escolar_orden, fecha_desde, fecha_hasta, pagando, activo, impide_alta_usuario, version)
select @empresa_id,
ciclo_escolar_clave,
ciclo_escolar,
ciclo_escolar_orden,
fecha_desde,
fecha_hasta,
pagando,
activo,
impide_alta_usuario,
version
from ciclo_escolar
where empresa_id = 6 -- Se coloca el id de empresa base
and year(fecha_desde) >= '2018'
and ciclo_escolar_clave not in
(select ciclo_escolar_clave
from ciclo_escolar
where empresa_id = @empresa_id)
and ciclo_escolar not in
(select ciclo_escolar
from ciclo_escolar
where empresa_id = @empresa_id)
order by ciclo_escolar_clave; |
Si solicitan un ciclo escolar diferente a otra empresa o uno específico para la empresa nueva, se utiliza el siguiente script.
Code Block | ||
---|---|---|
| ||
insert into ciclo_escolar(empresa_id, ciclo_escolar_clave, ciclo_escolar, ciclo_escolar_orden, fecha_desde, fecha_hasta, pagando, activo, impide_alta_usuario, version, fecha_actualizacion, persona_rol_id)
select @i_empresa_id as empresa_id,
2020 as ciclo_escolar_clave,
'Ciclo 2020' as ciclo_escolar,
100 as ciclo_escolar_orden,
'2020-01-02 00:00:01' as fecha_desde,
'2020-11-30 23:59:59' as fecha_hasta,
0 as pagando,
0 as activo,
0 as impide_alta_usuario,
0 as version,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from ciclo_escolar
where ciclo_escolar_id = 0
and 2020 not in
(select ciclo_escolar_clave
from ciclo_escolar
where empresa_id = @i_empresa_id)
and 'Ciclo 2020' not in
(select ciclo_escolar
from ciclo_escolar
where empresa_id = @i_empresa_id); |
Para la creación de los periodos de evaluación se pueden utilizar los siguientes scripts dependiendo el caso.
Desde una empresa base:
Code Block | ||
---|---|---|
| ||
-- INSERTA PERIODO_CICLO
insert into periodo_ciclo (empresa_id, ciclo_escolar_id, periodo_ciclo_clave, periodo_ciclo, periodo_ciclo_orden, activo, fecha_inicio, fecha_fin, parametro, fecha_actualizacion, persona_rol_id)
select @empresa_id,
ce2.ciclo_escolar_id,
pc.periodo_ciclo_clave,
pc.periodo_ciclo,
pc.periodo_ciclo_orden,
pc.activo,
pc.fecha_inicio,
pc.fecha_fin,
pc.parametro,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from periodo_ciclo pc
inner join ciclo_escolar ce on ce.ciclo_escolar_id = pc.ciclo_escolar_id
inner join ciclo_escolar ce2 on ce2.ciclo_escolar_clave = ce.ciclo_escolar_clave
where pc.empresa_id = 6 -- Se coloca el id de empresa base
and ce2.empresa_id = @empresa_id
and pc.periodo_ciclo_clave not in
(select periodo_ciclo_clave
from periodo_ciclo
where empresa_id = @empresa_id)
and pc.periodo_ciclo not in
(select periodo_ciclo
from periodo_ciclo
where empresa_id = @empresa_id)
order by ce.ciclo_escolar_orden, pc.periodo_ciclo_orden, pc.fecha_inicio; |
Para utilizar el siguiente script se necesita obtener la información del ciclo_escolar previamente creado.
Code Block | ||
---|---|---|
| ||
Select ciclo_escolar_id into @i_ciclo_escolar_id
from ciclo_escolar
where empresa_id = @i_empresa_id
and ciclo_escolar_clave = 2020; |
Después se utiliza el script para la creación de periodos de evaluación.
Code Block | ||
---|---|---|
| ||
-- PERIODO_CICLO
insert into periodo_ciclo (empresa_id, ciclo_escolar_id, periodo_ciclo_clave, periodo_ciclo, periodo_ciclo_orden, activo, fecha_inicio, fecha_fin, parametro, fecha_actualizacion, persona_rol_id)
select ce.empresa_id,
ce.ciclo_escolar_id,
'2020.A' as periodo_ciclo_clave,
'Anual' as periodo_ciclo,
100 as periodo_ciclo_orden,
1 as activo,
ce.fecha_desde as fecha_inicio,
ce.fecha_hasta as fecha_fin,
'ANUAL' as parametro,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from ciclo_escolar ce
where ce.ciclo_escolar_id = @i_ciclo_escolar_id
and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id)
UNION
select ce.empresa_id,
ce.ciclo_escolar_id,
'2020.BIM 01' as periodo_ciclo_clave,
'1er.BIM CICLO. 2020' as periodo_ciclo,
110 as periodo_ciclo_orden,
1 as activo,
'2020-01-02 00:00:01' as fecha_inicio,
'2020-03-08 23:59:59' as fecha_fin,
'' as parametro,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from ciclo_escolar ce
where ce.ciclo_escolar_id = @i_ciclo_escolar_id
and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id)
UNION
select ce.empresa_id,
ce.ciclo_escolar_id,
'2020.BIM 02' as periodo_ciclo_clave,
'2do.BIM CICLO. 2020' as periodo_ciclo,
120 as periodo_ciclo_orden,
1 as activo,
'2020-03-09 00:00:01' as fecha_inicio,
'2020-05-03 23:59:59' as fecha_fin,
'' as parametro,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from ciclo_escolar ce
where ce.ciclo_escolar_id = @i_ciclo_escolar_id
and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id)
UNION
select ce.empresa_id,
ce.ciclo_escolar_id,
'2020.BIM 03' as periodo_ciclo_clave,
'3er.BIM CICLO. 2020' as periodo_ciclo,
130 as periodo_ciclo_orden,
1 as activo,
'2020-05-04 00:00:01' as fecha_inicio,
'2020-07-19 23:59:59' as fecha_fin,
'' as parametro,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from ciclo_escolar ce
where ce.ciclo_escolar_id = @i_ciclo_escolar_id
and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id)
UNION
select ce.empresa_id,
ce.ciclo_escolar_id,
'2020.BIM 04' as periodo_ciclo_clave,
'4to.BIM CICLO. 2020' as periodo_ciclo,
140 as periodo_ciclo_orden,
1 as activo,
'2020-07-20 00:00:01' as fecha_inicio,
'2020-08-23 23:59:59' as fecha_fin,
'' as parametro,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from ciclo_escolar ce
where ce.ciclo_escolar_id = @i_ciclo_escolar_id
and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id)
UNION
select ce.empresa_id,
ce.ciclo_escolar_id,
'2020.BIM 05' as periodo_ciclo_clave,
'5to.BIM CICLO. 2020' as periodo_ciclo,
150 as periodo_ciclo_orden,
1 as activo,
'2020-08-24 00:00:01' as fecha_inicio,
'2020-11-30 23:59:59' as fecha_fin,
'' as parametro,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from ciclo_escolar ce
where ce.ciclo_escolar_id = @i_ciclo_escolar_id
and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id); |
Tipo Materia
Este catálogo es necesario para la creación de las materias.
Code Block | ||
---|---|---|
| ||
-- TIPO DE MATERIA
insert into tipo_materia(empresa_id, tipo_materia_clave, tipo_materia, tipo_materia_orden, parametro)
select @empresa_id,
tipo_materia_clave,
tipo_materia,
tipo_materia_orden,
parametro
from tipo_materia
where empresa_id = 6 -- Se coloca el id de empresa base
and tipo_materia_clave not in
(select tipo_materia_clave
from tipo_materia
where empresa_id = @empresa_id)
and tipo_materia not in
(select tipo_materia
from tipo_materia
where empresa_id = @empresa_id); |
Si se necesita crear otro tipo de actividad, se puede utilizar el siguiente script.
Code Block | ||
---|---|---|
| ||
-- TIPO DE MATERIA
insert into tipo_materia(empresa_id, tipo_materia_clave, tipo_materia, tipo_materia_orden, parametro)
select @empresa_id as empresa_id,
'OFI' as tipo_materia_clave,
'OFICIAL' as tipo_materia,
100 as tipo_materia_orden,
'SEP' as parametro
from tipo_materia
where tipo_materia_id = 0
and tipo_materia_clave not in
(select tipo_materia_clave
from tipo_materia
where empresa_id = @empresa_id)
and tipo_materia not in
(select tipo_materia
from tipo_materia
where empresa_id = @empresa_id); |
Tipo Actividad
Basado en empresa:
Code Block | ||
---|---|---|
| ||
-- TIPOS DE ACTIVIDAD
insert into tipo_actividad(empresa_id, colegio_nivel_ciclo_id, tipo_actividad_clave, tipo_actividad,
tipo_actividad_orden, fecha_actualizacion, persona_rol_id)
select @i_empresa_id,
colegio_nivel_ciclo_id,
tipo_actividad_clave,
tipo_actividad,
tipo_actividad_orden,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from tipo_actividad
where empresa_id = 47 -- Se coloca el id de empresa base
and colegio_nivel_ciclo_id = 0
and tenantid = 0
and tipo_actividad_clave not in
(select tipo_actividad_clave
from tipo_actividad
where empresa_id = @i_empresa_id)
and tipo_actividad not in
(select tipo_actividad
from tipo_actividad
where empresa_id = @i_empresa_id); |
Para crear nuevo tipo de actividad:
Code Block | ||
---|---|---|
| ||
-- TIPOS DE ACTIVIDAD
insert into tipo_actividad(empresa_id, colegio_nivel_ciclo_id, tipo_actividad_clave, tipo_actividad, tipo_actividad_orden, fecha_actualizacion, persona_rol_id)
select 57 as empresa_id,
0 as colegio_nivel_ciclo_id,
'TAREA' as tipo_actividad_clave,
'TAREAS' as tipo_actividad,
100 as tipo_actividad_orden,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from tipo_actividad
where tipo_actividad_id = 0
and colegio_nivel_ciclo_id = 0
and tenantId = 0
and tipo_actividad_clave not in
(select tipo_actividad_clave
from tipo_actividad
where empresa_id = 57)
and tipo_actividad not in
(select tipo_actividad
from tipo_actividad
where empresa_id = 57); |
Tipo recurso
Basado en empresa:
Code Block | ||
---|---|---|
| ||
-- TIPO DE RECURSO
insert into tipo_recurso(empresa_id, tipo_recurso_clave, tipo_recurso, tipo_recurso_orden, parametro,
liga_icono, mime, fecha_actualizacion, persona_rol_id)
select @i_empresa_id,
tipo_recurso_clave,
tipo_recurso,
tipo_recurso_orden,
parametro,
liga_icono,
mime,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from tipo_recurso
where empresa_id = 47 -- Se coloca el id de empresa base
and tenantid = 0
and tipo_recurso_clave not in
(select tipo_recurso_clave
from tipo_recurso
where empresa_id = @i_empresa_id)
and tipo_recurso not in
(select tipo_recurso
from tipo_recurso
where empresa_id = @i_empresa_id); |
Para crear tipo de recurso nuevo:
Code Block | ||
---|---|---|
| ||
INSERT INTO tipo_recurso(empresa_id, tipo_recurso_clave, tipo_recurso, tipo_recurso_orden, parametro, liga_icono, fecha_actualizacion, persona_rol_id)
select 57 as empresa_id,
'AUD' as tipo_recurso_clave,
'Audio' as tipo_recurso,
100 as tipo_recurso_orden,
'AUD' as parametro,
'https://www.sistemauno.com/sync/Iconos/audio.png' as liga_icono,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id
from tipo_recurso
where tipo_recurso_id = 0
and tipo_recurso_clave not in
(select tipo_actividad_clave
from tipo_actividad
where empresa_id = 57)
and tipo_recurso not in
(select tipo_actividad
from tipo_actividad
where empresa_id = 57); |
Escalas
Basado en otra empresa:
Code Block | ||
---|---|---|
| ||
-- ESCALAS
insert into escala(empresa_id, colegio_nivel_ciclo_id, escala_clave, escala, escala_orden, discreta,
decimales, calificacion_minima, calificacion_maxima, decima_sube, suma, fecha_actualizacion,
persona_rol_id, tenantId, version)
select @i_empresa_id,
colegio_nivel_ciclo_id,
escala_clave,
escala,
escala_orden,
discreta,
decimales,
calificacion_minima,
calificacion_maxima,
decima_sube,
suma,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id,
tenantid,
version
from escala
where empresa_id = 47 -- Se coloca el id de empresa base
and colegio_nivel_ciclo_id = 0
and tenantid = 0
and escala_clave not in
(select escala_clave
from escala
where empresa_id = @i_empresa_id)
and escala not in
(select escala
from escala
where empresa_id = @i_empresa_id); |
Crear nueva escala:
Code Block | ||
---|---|---|
| ||
-- ESCALAS
insert into escala(empresa_id, colegio_nivel_ciclo_id, escala_clave, escala, escala_orden, discreta,
decimales, calificacion_minima, calificacion_maxima, decima_sube, suma, fecha_actualizacion,
persona_rol_id, tenantId, version)
select @i_empresa_id as empresa_id,
0 as colegio_nivel_ciclo_id,
'(5-10),0' as escala_clave,
'CINCO-DIEZ - MIN:5, MAX:10, DEC:0' as escala,
100 as escala_orden,
0 as discreta,
0 as decimales,
5 as calificacion_minima,
10 as calificacion_maxima,
6 as decima_sube,
0 as suma,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id,
0 as tenantId,
0 as version
from escala
where escala_id = 0
and colegio_nivel_ciclo_id = 0
and tenantid = 0
and escala_clave not in
(select escala_clave
from escala
where empresa_id = @i_empresa_id)
and escala not in
(select escala
from escala
where empresa_id = @i_empresa_id); |
Escalas alfanuméricas
Code Block | ||
---|---|---|
| ||
-- ESCALA_LINEAS (escalas alfanumérica que utiliza LMS)
insert into escala_linea(escala_id, linea, calificacion, porcentaje_operacion, porcentaje_minimo,
porcentaje_maximo, fecha_actualizacion, persona_rol_id, escala_linea_descripcion,
version)
select
(select x.escala_id
from escala x
where x.empresa_id = @i_empresa_id
and x.colegio_nivel_ciclo_id = 0
and x.tenantid = 0
and x.escala_clave = e.escala_clave),
el.linea,
el.calificacion,
el.porcentaje_operacion,
el.porcentaje_minimo,
el.porcentaje_maximo,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id,
el.escala_linea_descripcion,
el.version
from escala e
inner join escala_linea el on el.escala_id = e.escala_id
where e.empresa_id = 47 -- Se coloca el id de empresa base
and e.colegio_nivel_ciclo_id = 0
and e.tenantid = 0
and el.escala_id not in
(select el.escala_id
from escala e
inner join escala_linea el on el.escala_id = e.escala_id
where e.empresa_id = @i_empresa_id
and e.colegio_nivel_ciclo_id = 0
and e.tenantid = 0); |
Materias
Basado en otra empresa:
Code Block | ||
---|---|---|
| ||
-- MATERIAS
insert into materia(empresa_id, tipo_materia_id, materia_clave, materia, materia_orden, liga_icono,
fecha_actualizacion, persona_rol_id, programa_id, materia_nombre_corto)
select @i_empresa_id as empresa_id,
(select x.tipo_materia_id
from tipo_materia x
where x.empresa_id = @i_empresa_id
and x.tipo_materia_clave = tm.tipo_materia_clave) as tipo_materia_id,
m.materia_clave,
m.materia,
m.materia_orden,
m.liga_icono,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id,
m.programa_id,
m.materia_nombre_corto
from materia m,
tipo_materia tm
where m.empresa_id = 47 -- Se coloca el id de empresa base
and m.colegio_nivel_ciclo_id is null
and m.tenantid = 0
and tm.tipo_materia_id = m.tipo_materia_id
and m.materia_clave not in
(select materia_clave
from materia
where empresa_id = @i_empresa_id)
and materia not in
(select materia
from materia
where empresa_id = @i_empresa_id); |
Nueva materia:
Code Block | ||
---|---|---|
| ||
-- MATERIAS
INSERT INTO materia (empresa_id, tipo_materia_id, materia_clave, materia, materia_orden, liga_icono, fecha_actualizacion, persona_rol_id, programa_id, materia_nombre_corto)
SELECT 57 as empresa_id,
(select tipo_materia_id from tipo_materia where empresa_id = 57 and tipo_materia_clave = 'OFI') as tipo_materia_id,
'MAT' as materia_clave,'Matemática' as materia,
100 as materia_orden,
'https://www.sistemauno.com/sync/Iconos/IconeDisciplinaEstandar.png' as liga_icono,
now() as fecha_actualizacion,
@i_persona_rol_id as persona_rol_id,
Null as programa_id,
Null as materia_nombre_corto
from materia
where materia_id = 0
and 'MAT' not in (select materia_clave from materia where empresa_id = 57 and colegio_nivel_ciclo_id is null and tenantId = 0)
and 'Matemática' not in (select materia from materia where empresa_id = 57 and colegio_nivel_ciclo_id is null and tenantId = 0); |
Alta de catálogos
Para la creación de una empresa, se necesita insertar catálogos en la base de datos para el funcionamiento de las aplicaciones.
...