Versions Compared

Key

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

...

Descripción

Ejecuta el proceso de promoción para todos los niveles de un colegio o solo un nivel, segun lo que se indique en los parámetros. Se crean los registros del colegio en el siguiente ciclo escolar copiando las relaciones de colegio_nivel_ciclo, persona_rol, alumnos_grado y familiares de los alumnos del ciclo indicado en los parámetros. Los alumnos activos del colegio son promovidos al siguiente grado escolar que les corresponde.

Referencia SIFExtensión de SIF 3.0.1
Tipo de PeticiónPUT
Parámetros o Campos
CamposDescripciónReglas de negocio
school
  • (Obligatorio) Id del Colegio correspondiente 
  • El identificador del colegio debe existir, en caso de no ser válido devuelve:
    •  <code>404</code>

      <message>No se encontraron datos con los parámetros especificados.</message>

  • Si no ese especifica el parámetro, como es obligatorio devuelve:
    •  <code>400</code>
      <message>Debe especificar el identificador del colegio.</message>
schoolYear
  • (Obligatorio) Año escolar actual que se desea promover.

  • El colegio debe existir en el año escolar, en caso de no ser válido devuelve:
    •  <code>404</code>

      <message>No se encontraron datos con los parámetros especificados.</message>

  • 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.
level
  • (Opcional) - Id del Nivel correspondiente. Ver maestro de niveles.
  • Si se especifica esta variable entonces solo se promociona el nivel correspondiente.
  • El nivel debe existir para el colegio, en caso de no ser válido devuelve:

    <error refId="00000000-0000-1000-0000-001790978606">
    <code>404</code>
    <message>No se encontraron datos con los parámetros especificados.</message>
    </error>

 

 

Ejemplo 1 de llamada

http://desenv.uno-internacional.com/sif/unoSchool/promote;contextId={"school":1135, "schoolYear":2014}

Respuesta

<updateResponse>

    <updates>

        <update id="00000000-0000-1000-0000-000000001135" statusCode="200" /> Se realizó exitosamente.

    </updates>

</updateResponse>

Ejemplo 2 de llamada

http://desenv.uno-internacional.com/sif/unoSchool/promote;contextId={"school":1074, "schoolYear":2014, "level":18}

Respuesta

<updateResponse>

    <updates>

        <update id="00000000-0000-1000-0000-000000001074" statusCode="200" /> Se realizó exitosamente.

    </updates>

</updateResponse>

¿Quién lo utiliza y cómo?

Proceso utilizado por SIS para la promoción anual de sus colegios y alumnos.

Procedimiento

Este proceso realiza la p romoción promoción del nivel, la promoción de alumnos y la promoción de alumnosusuarios.

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.


Promoción de alumnos

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.