Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
themeEclipse
titleInfo_empresa
-- 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
titleCiclo_escolar
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
titleCiclo_Escolar_2
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
titlePeriodo_evaluacion
-- 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
titleObtiene_info_ciclo_escolar
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
titlePeriodos_evaluacion_2
-- 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
titleTipo_materia
-- 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
titleTipo_materia_2
-- 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
titleTipo_actividad
-- 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
titleTipo_actividad_2
-- 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
titleTipo_recurso
-- 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
titleTipo_recurso_2
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
titleEscala
-- 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
titleEscalas_2
-- 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
titleEscalas_alfanumerica
-- 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
titleMaterias
-- 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
titleMaterias_2
-- 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.

...