Parámetros o Campos | Campos | Descripción | Reglas de negocio |
---|
school | - (Obligatorio) Id del Colegio correspondiente
| - El identificador del colegio debe existir, en caso de no ser válido devuelve:
- Si no ese especifica el parámetro, como es obligatorio devuelve:
- <code>400</code>
<message>Debe especificar el identificador del colegio.</message>
| schoolYear | | - El colegio debe existir en el año escolar, en caso de no ser válido devuelve:
- Si no ese especifica el parámetro, como es obligatorio devuelve:
- <code>400</code>
<message>Debe especificar un ciclo para consultar.</message>
- Debe existir el siguiente ciclo escolar al que se promoverán el colegio y alumnos.
- La fecha desde del siguiente ciclo debe ser mayor a la fecha hasta del ciclo escolar actual y pertenecer a la misma empresa del colegio.
- Si el ciclo escolar es un año y no un rango, como es el caso de Brasil se debe poner el valor del ciclo escolar +1.
Por ejemplo: Si el ciclo escolar actual es 2016 y la promoción se realiza para el siguiente ciclo escolar se deberá enviar '2017' - Si el ciclo escolar es un rango, como es el caso de México, se debe poner el valor del mayor año, por ejemplo si el ciclo actual es 2016-2017, se debe pasar por parámetro 2017.
| level | - (Opcional) - Id del Nivel correspondiente. Ver maestro de niveles.
| |
|
Procedimiento | Este proceso realiza la promoción del nivel, la promoción de alumnos y la promoción de usuarios. El procedimiento promueve_colegio_nivel_ciclo se ejecuta para cada nivel del colegio. El cual procesa la promoción del nivel y los alumnos. Promoción del nivel Inserta registros en la tabla 'colegio_nivel_ciclo' - Recupera el valor 'colegio_nivel_ciclo.colegio_nivel_ciclo_id' que corresponde al colegio, ciclo_escolar y nivel dados en los parámetros y que además cumpla 'colegio_nivel_ciclo.baja = 0'.
- Recupera el siguiente 'ciclo_escolar.ciclo_escolar_id' de la empresa. Validando que la fecha desde sea mayor a la fecha hasta del ciclo_escolar anterior y que las versiones sean iguales.
- Verifica que no exista registro en la tabla 'colegio_nivel_ciclo' para el colegio, nivel_id y siguiente ciclo_escolar.
- En caso de que no exista, se inserta un nuevo registro en la tabla 'colegio_nivel_ciclo' con los siguiente valores:
- empresa_id – El dato se toma del registro anterior.
- colegio_id – El dato se toma del registro anterior.
- nivel_id – El dato se toma del registro anterior.
- ciclo_escolar_id – siguiente ciclo_escolar_id
- turno_id – El dato se toma del registro anterior.
- persona_id – El dato se toma del registro anterior.
- Clave – El dato se toma del registro anterior y se le concatena “+” para evitar duplicados en BDC.
- clave_oficial – El dato se toma del registro anterior.
- fecha_adopcion– El dato se toma del registro anterior.
- Observaciones – El dato se toma del registro anterior.
- idioma_id – El dato se toma del registro anterior.
- zona_horaria_id - – El dato se toma del registro anterior.
- activo – El dato se toma del registro anterior.
- paga_colegio – El dato se toma del registro anterior.
- fecha_actualizacion – Fecha en la que se realiza la promoción.
- persona_rol_id – Id del registro de persona_rol de quién realiza la promoción.
- alias_ciclo_escolar - – El dato se toma del registro anterior.
- alias_nivel – El dato se toma del registro anterior.
- versión – El dato se toma del registro anterior.
- alumno_consulta_boleta – El dato se toma del registro anterior.
- familiar_consulta_boleta – El dato se toma del registro anterior.
- colegio_sis – El dato se toma del registro anterior.
- colegio_r4 - – El dato se toma del registro anterior.
Inserta registros en 'persona_rol' - Recupera de la tabla 'persona_rol' los registros relacionados al 'colegio_nivel_ciclo_id' anterior, que tengan activo = 1 y que tengan alguno de los siguientes roles administrativos: ADCOL-Administrador (Sólo para Colombia este rol no está considerado), COACH-Coach, CONS-Consultor, C_PRAL-Contacto principal, C_LOG-Contacto logística, RL-Representante Legal, CTU-Contacto telefónico, C_FAC-Contacto facturación, DG-Diseñador Gráfico, CCU-Centro de Contacto, SSU-Staff Sistema, ADMM-Administrador aplicación server colegio, VEN-Vendedor, C_TI-Contacto para Tecnologías de Información o DIST-Distribuidor.
- Posteriormente verificando que no existan los registros en la tabla 'persona_rol' con el nuevo 'colegio_nivel_ciclo_id'. Se insertan y quedan con los siguientes valores:
- sistema_id - Default envía 1
- persona_id - Id de la persona que le corresponde en la tabla persona ( persona_id)
- rol_id – Id que tiene en la tabla persona_rol del ciclo anterior
- colegio_nivel_ciclo_id – nuevo colegio_nivel_ciclo_id
- activo – ya que sólo se buscan roles activos este campo siempre va en 1
- fecha_actualizacion – Fecha en la que se realiza la promoción.
- persona_rol_actualizacion_id – Id del registro de persona_rol de quién realiza la promoción
- version - Default envía 0
Inserta registros en 'empresa_persona_rol' - Por cuestiones de permisos para las app's los id's, los registros que se acaban de insertar en la tabla 'persona_rol' se insertan en la tabla 'empresa_persona_rol' con los siguientes valores.
- empresa_id – Id del empresa a la que pertenece el nivel
- persona_rol_id – ID del registro nuevo generado en el proceso anterior
- activo – 1 por default ya que sólo se toman usuarios activos
- fecha_actualizacion - – Fecha en la que se realiza la promoción.
- persona_rol_actualizacion_id - Id del registro de persona_rol de quién realiza la promoción.
Inserta registros en 'colegio_grado_grupo' - De la tabla 'colegio_grado_grupo' se recuperan los grupos/grados activos para el colegio con colegio_nivel_ciclo_id anterior.
- Para cada grado/grupo se valida que tenga alumnos activos en la tabla 'alumno' ('alumno.activo' = 1).
- Se calcula el siguente grado que corresponde a cada grado/grupo. Se verifica que no exista y en caso de que no, lo inserta en la tabla 'colegio_grado_grupo' con los siguientes valores:
- colegio_nivel_ciclo_id – El valor es el colegio_nivel_ciclo_id nuevo.
- grado_id – El siguiente grado que le corresponde en el ciclo escolar nuevo.
- grupo_id – El dato se toma del registro anterior.
- fecha_actualizacion – Fecha en la que se realiza la promoción.
- persona_rol_id – Id del registro de persona_rol de quién realiza la promoción.
- alias_grado – El dato se manda en blanco para que pueda ser configurada.
- alias_grupo – El dato se manda en blanco para que pueda ser configurada.
- version – Se manda en 0.
Inserta registros en 'alumno' - Se recuperan los registros activos de la tabla 'alumno' relacionados al 'colegio_nivel_ciclo_id' anterior.
- Verificando que no existan en la tabla 'alumno', se insertan con los siguientes valores:
- empresa_id – El dato se toma del registro anterior.
- persona_id – El dato se toma del registro anterior.
- colegio_nivel_ciclo_id – El valor es el colegio_nivel_ciclo_id nuevo.
- colegio_grado_grupo_id - El valor es el colegio_grado_grupo_id nuevo.
- alumno_clave - El dato se toma del registro anterior en algunos países corresponde a la matrícula
- id_responsable - El dato se toma del registro anterior, en el caso de Brasil Id de la persona que paga.
- fecha_desde – Fecha en que se realiza la promoción.
- activo - El valos es 1 ya que sólo se tomaron alumnos activos para la promoción.
- no_cobrar - El dato se toma del registro anterior.
- no_entregar - El dato se toma del registro anterior.
- fecha_actualizacion – Fecha en la que se realiza la promoción.
- persona_rol_id - Id del registro de persona_rol de quién realiza la promoción.
- version - Se manda en 0 por default.
Inserta registros de alumnos en 'persona_rol' - Se recuperan los alumnos que se acaban de relacionar al nuevo colegio_nivel_ciclo_id en la tabla 'alumno'.
- Verificando que no existan en la tabla 'persona_rol', se insertan con los siguientes valores:
- sistema_id - Default envía 1
- persona_id - El dato se toma del registro alumno.persona_id.
- rol_id - El dato se toma de la tabla 'rol' donde el parámetro = '001' (Alumno)
- colegio_nivel_ciclo_id - El valor es el colegio_nivel_ciclo_id nuevo.
- colegio_grado_grupo_id - El valor es el colegio_grado_grupo_id nuevo.
- activo - El valor1 es 1 ya que sólo se tomaron alumnos activos para la promoción.
- fecha_actualizacion - Fecha en la que se realiza la promoción.
- persona_rol_actualizacion_id Id del registro de persona_rol de quién realiza la promoción.
- version - Se manda en 0 por default.
Para la promocion de usuarios se ejecuta el procedimiento promueve_usuario_colegio para cada nivel escolar del colegio. Promoción de usuarios Inserta registros en 'persona_rol' - Para poder ejecutar la promoción de usuarios, primero se debe ejecutar la promoción por nivel. Ya que si no existe el 'colegio_nivel_ciclo_id' para el siguiente ciclo_escolar_id no hace nada.
- Se recuperan los registros de la tabla 'persona_rol' y con los roles: ADCOL - Administrador, ADMM - Administrador aplicación server colegio, AS - Asistente, COACH - Coach, CONS - Consultor, COOR - Coordinador, DIR - Director, GC - Gestor Censo, GG - Gestor Grade, PF - Familiar, PROF - Profesor, RL - Representante Legal, SOC - Socio, SSU - Staff Sistema, SUBD - Subdirector.
- Verifica que no existan los registros relacionados al siguiente colegio_nivel_ciclo_id.Si no existen los inserta en la tabla 'persona_rol' con los siguiente valores:
- sistema_id - El dato se toma del registro anterior, que por default es 1
- persona_id - El dato se toma del registro anterior
- rol_id- El dato se toma del registro anterior.
- colegio_nivel_ciclo_id - valor del colegio_nivel_ciclo_id que insertó para el nuevo ciclo
- colegio_grado_grupo_id - valor del colegio_nivel_ciclo_id que insertó para el nuevo ciclo
- activo - ya que sólo se buscan roles activos este campo siempre va en 1
- fecha_actualizacion– Fecha en la que se realiza la promoción.
- persona_rol_actualizacion_id - – Id del registro de persona_rol de quién realiza la promoción.
Inserta registros en 'empresa_persona_rol' - Verifica si los 'persona_rol_id' recien insertados de los usuarios existen en 'empresa_persona_rol', si no existen los inserta con los siguientes valores:
- persona_rol_id – ID del registro nuevo generado en el proceso anterior
- activo – 1 por default, ya que sólo se toman usuarios activos
- fecha_actualizacion - – Fecha en la que se realiza la promoción.
- persona_rol_actualizacion_id - Id del registro de persona_rol de quién realiza la promoción.
|