Versions Compared

Key

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

...


Este servicio será utilizado por las aplicaciones que necesiten eliminar usuarios con rol staff de colegios en la BDC.

Situación actual


Descripción

Elimina una persona con rol staff de colegios en BDC aplicando el borrado lógico. 

Validaciones
  • Debe tener rol de staff: Administrador, profesor o coordinador. 
  • No puede estar relacionado
en la tabla
  • con un alumno
,
  • como padre, madre, tutor, otro o pagador.
No
  • El usuario no debe participar en clases
el usuario
  • como coordinador
.
  • , profesor o profesor invitado
Referencia SIFExtensión de SIF 3.0.1
Entidad BDCPersona
Entidad SIFUNOStaff (Lista).
Tipo de PeticiónDELETE
Parámetros o campos


Campos

Descripción

Reglas de negocio

UUID del Staff
  • UUID del Staff que se consulta
  • Obligatorio
  • El identificador debe existir.
  • En caso de ser un ID de staff no válido o con borrado lógico,
entrega el siguiente mensaje:
<error refId="00000000-0000-1000-0000-000179262049">
  • devuelve:

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

  • En caso de tener un rol asociado diferente a staff, devuelve:
    <code>400</code><message>Uno o más roles asociados al usuario no son válidos.</message>

  • En caso de existir una relación con el alumno como padre, madre, tutor o responsable de pago, devuelve:
    <code>400</code><message>El userId tiene una relación de Familiar.</message>

  • En caso de participa en clases como coordinador, profesor o profesor invitado, devuelve:
    <code>400</code><message>El userId tiene clases asociadas.</message>


Ejemplo de llamada o de formulario
http

https://

desenv

homol.uno-internacional.com/sif/unoStaff/00000000-0000-1000-0000-000001363444

Respuesta

<deleteResponse>
<deletes>
<delete id="00000000-0000-1000-0000-000005557400" statusCode="200"/>
</deletes>
</deleteResponse>

Campos actualizados en BDCp.oculto_mge = 1,
p.fecha_baja = case when p.fecha_baja is null then now() else p.fecha_baja end,
p.email = concat(date_format(now(), '%Y-%m%d_%T_'), p.email),
p.fecha_actualizacion = now(),
p.persona_rol_id = 1,
p.apellido_materno = concat(date_format(now(), '%Y-%m%d_%T_'), p.apellido_materno),
p.id_oficial = concat(date_format(now(), '%Y-%m%d_%T_'), p.id_oficial),
pl.activo = 0,
pl.login = concat(date_format(now(), '%Y-%m%d_%T_'), pl.login),
pl.fecha_actualizacion = now(),
pl.persona_rol_id = 1,
pr.activo = 0,
pr.fecha_actualizacion = now(), 
pr.persona_rol_actualizacion_id = 1
WHERE p.persona_id = pl.persona_id 
and p.persona_id = pr.persona_id
and p.fecha_baja is null
¿Quién lo utiliza y cómo?