Unificar personas

Buen día, nos encontramos con un problema luego de unificar personas en G3. Estamos utilizando el script que nos brindaron desde el SIU para unificar personas en el GDS #59627.
El problema que nos surge actualmente es que las personas unificadas (particularmente detectamos el caso de unos docentes) pierden los derechos de cargar las notas en autogestion.
Supongo que el problema viene dado por el delete de la linea 191 en el script, ya que ningún momento se asigna a la persona que debiera quedar los derechos de la persona que se borra.
La duda es si la opción correcta seria hacer un update de esos datos antes del delete. Por ejemplo :


UPDATE gdu_derechos_personas
SET persona = pPersonaOK
WHERE persona = pPersonaaReemplazar
  AND NOT EXISTS
    (SELECT 1
     FROM gdu_derechos_personas AS dp
     WHERE dp.persona = pPersonaOK
       AND dp.entidad=gdu_derechos_personas.entidad
       AND dp.derecho=gdu_derechos_personas.derecho);

DELETE FROM gdu_derechos_personas WHERE persona = pPersonaaReemplazar;

O existe alguna manera de asignarle por sistema los derechos que se perdieron la unificación?

Cabe aclarar que esto se esta haciendo en una instancia de pruebas y que estamos en la version 3.20.2 de Guarani.

Muchas gracias!

O existe alguna manera de asignarle por sistema los derechos que se perdieron la unificación?
Si existe. Podes ir al sistema a la operacion[b] Administrar derechos por Rol/Responsabilidad[/b]. Alli accedes a [b]Cursadas [/b]y/o [b]Exámenes[/b], y en cada caso vas eligiendo un rol/responsabilidad docente, le quitas los derechos que tenga, grabas y se los volves a asignar. De esta forma volverá a asignar derechos a los docentes de las comisiones vigentes y futuras, lo mismo para las mesas de examen

DerechosdeDocentesEnComisiones.png

DerechosdeDocentesEnComisiones.png

Muchas gracias Alejandro por tu respuesta, lo probamos y te comento si podemos solucionarlo. Te consulto adicionalmente si los demas deletes pueden llegar a repercutir en algo esencial ? . Me refiero a los siguientes :


DELETE FROM mdp_personas_tipo_usuario WHERE persona = pPersonaaReemplazar;
DELETE FROM mdp_personas_grupo_acc WHERE persona = pPersonaaReemplazar;
DELETE FROM men_destinatarios WHERE persona = pPersonaaReemplazar;
DELETE FROM men_grupos_personas WHERE persona = pPersonaaReemplazar;
DELETE FROM not_noticias_personas WHERE persona = pPersonaaReemplazar;
DELETE FROM gdu_derechos_personas WHERE persona = pPersonaaReemplazar;
DELETE FROM sga_usuarios_recordatorios WHERE persona = pPersonaaReemplazar;
DELETE FROM int_arau_nominal_actividades WHERE persona = pPersonaaReemplazar;
DELETE FROM int_arau_nominal_alumnos WHERE persona = pPersonaaReemplazar;
DELETE FROM int_arau_nominal_oferta WHERE persona = pPersonaaReemplazar;

Muchas gracias

Uds tienen persona 1 y persona 2 (pPersonaaReemplazar), si unifican todo en persona 1, persona 2 debe dejar de existir en la base, no?
En este caso esos DELETES hace eso, borrar todo lo relacionado con persona 2.
Igualmente queda el registro en mdp_personas, lo tendran que borrar luego del proceso de unificación de datos.

Totalmente de acuerdo, el problema es que no todos los datos de persona 2 se están unificando en persona 1 (como ser el caso planteado arriba de los derechos o tablas mdp_personas_tipo_usuario, mdp_personas_grupo_acc, etc) incluso hay algunos datos que se encuentran comentado en el script que tampoco se incluiran en persona 1 (adjunto imagen)


Captura desde 2022-12-01 10-09-51.png

Captura desde 2022-12-01 10-09-51.png

Efectivamente, no se unifican todos porque podrían haber datos duplicados. Pueden evaluar que datos unificar y descomentar el código correspondiente.

Muchas gracias Alejandro al parecer quedo bien!

Saludos