Proyecto

General

Perfil

Correccion - Mejora #5033

Notificación de acuerdos expirados

Añadido por Santiago Ramos hace 9 meses. Actualizado hace 7 meses.

Estado:
Resuelta
Prioridad:
Normal
Asignado a:
Categoría:
Desarrollo
Versión prevista:
Fecha de inicio:
2023-08-07
Fecha fin:
% Realizado:

100%


Descripción

Especificación

Incluir tareas para la notificación a los usuarios involucrados de aquellos acuerdos que siguen abiertos pasada la fecha de finalización.

Según conversación con Sito, se trata de una notificación que el departamento de Jurídico ha demandado. Para no generar demasiados correos con acuerdos viejos, las notificaciones deberían generarse diariamente, mandando un correo si es un mes antes, una semana antes o el mismo día en que finaliza la vigencia del proyecto (acuerdo_datos.fecha_fin).

Parece que la cantidad de correos a enviar es enorme. En lugar de enviar los acuerdos abiertos expirados, para limitar el número de correos enviaremos diariamente los acuerdos que expiren en el dia de hoy, dentro de una semana y dentro de un mes.

Pruebas

Ya implementado en gor/lib/tareas.rb

  # Notificacion de acuerdos abiertos con fecha de finalizacion superada
  def self.notifica_acuerdos_abiertos
    Rails.logger.info "*** Notifica acuerdos abiertos (#{I18n.l(Time.now)})" 
    acuerdos = Acuerdo.expirados_y_abiertos
    num_acuerdos = acuerdos.count
    if num_acuerdos > 0
      Rails.logger.info "*** Hay #{num_acuerdos} acuerdos abiertos que han finalizado" 
      acuerdos.each do |acuerdo|
        fecha_finalizacion = acuerdo.ultimos_datos.fecha_fin
        acuerdo.usuarios_notificacion.each do |destinatario|
          Rails.logger.info "[Tareas.notifica_acuerdos_abiertos] Enviando notificación de acuerdo expirado (#{acuerdo.id}) a '#{destinatario.correoe}'" 
          begin
            AcuerdosMailer.acuerdo_expirado_abierto(destinatario, acuerdo).deliver_later
          rescue => e
            Rails.logger.error "[Tareas.notifica_acuerdos_abiertos] No se ha podido mandar el mail a '#{destinatario.correoe}': #{e.inspect}" 
          end
        end
      end
    end
  end

Ejecutándose cada semana en plugins/oei_erp/lib/clock.rb

  # Envia notificaciones de acuerdos abiertos todos los domingos a las 10.45h
  every(1.week, 'Convenios abiertos', at: 'Sunday 10:45') do |job|
    Tareas.notifica_acuerdos_abiertos 
  end

Según los datos de la BD anonimizada de producción:

*** Notifica acuerdos abiertos (03/10/2023)
*** Hay 635 acuerdos abiertos que han finalizado
...
[Tareas.notifica_acuerdos_abiertos] Enviando notificación 2688 de acuerdo expirado (3257)

Hay un error en la implementación (seguramente de un copia y pega), teniéndose que eliminar la línea:

def acuerdo_expirado_abierto(usuario, acuerdo)
  ...
  @usuario_identificado = usuario_identificado

Implementación

https://git.semillasl.com/gong/gor/-/merge_requests/22

Demo

Ejemplo correo de acuerdo abierto que finalizará hoy:


Ejemplo correo de acuerdo abierto que finalizará en una semana:


Ejemplo correo de acuerdo abierto que finalizará en un mes:

Correo_acuerdo_7_dias_cabecera.png (23,6 KB) Oscar Abad, 2023-10-05 15:31

Correo_acuerdo_hoy_cabecera.png (23,4 KB) Oscar Abad, 2023-10-05 15:31

Correo_acuerdo_7_dias.png (127 KB) Oscar Abad, 2023-10-06 14:21

Correo_acuerdo_30_dias.png (140 KB) Oscar Abad, 2023-10-06 14:21

Correo_acuerdo_30_dias_cabecera.png (23,2 KB) Oscar Abad, 2023-10-06 14:21

Correo_acuerdo_hoy.png (118 KB) Oscar Abad, 2023-10-06 14:21

Histórico

#1 Actualizado por Santiago Ramos hace 8 meses

  • Versión prevista cambiado 4.10 por 4.11

#2 Actualizado por Santiago Ramos hace 7 meses

  • Asignado a eliminado (Santiago Ramos)
  • Versión prevista cambiado 4.11 por 4.12

#3 Actualizado por Santiago Ramos hace 7 meses

  • Asignado a establecido a Oscar Abad

#4 Actualizado por Santiago Ramos hace 7 meses

Revisar en tareas.rb la línea 104

#5 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#6 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#7 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#8 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#9 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#10 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#11 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#12 Actualizado por Oscar Abad hace 7 meses

  • Añadido Fichero Correo_acuerdo_abierto_expira_1_mes.png
  • Añadido Fichero Correo_acuerdo_abierto_expira_1_semana.png
  • Añadido Fichero Correo_acuerdo_abierto_expira_hoy.png
  • Se actualizó Descripción (diff)

#13 Actualizado por Oscar Abad hace 7 meses

  • Añadido Fichero Cabecera_correo_acuerdo_abierto_expira_1_mes.png
  • Añadido Fichero Cabecera_correo_acuerdo_abierto_expira_1_semana.png
  • Añadido Fichero Cabecera_correo_acuerdo_abierto_expira_hoy.png
  • Se actualizó Descripción (diff)

#14 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#15 Actualizado por Oscar Abad hace 7 meses

  • Estado cambiado Asignada por En Curso

#16 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Correo_acuerdo_abierto_expira_1_mes.png)

#17 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Correo_acuerdo_abierto_expira_1_semana.png)

#18 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Correo_acuerdo_abierto_expira_hoy.png)

#19 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Cabecera_correo_acuerdo_abierto_expira_1_mes.png)

#20 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Cabecera_correo_acuerdo_abierto_expira_1_semana.png)

#21 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Cabecera_correo_acuerdo_abierto_expira_hoy.png)

#22 Actualizado por Oscar Abad hace 7 meses

#23 Actualizado por Oscar Abad hace 7 meses

  • Se actualizó Descripción (diff)

#24 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Correo_acuerdo_30_dias.png)

#25 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Correo_acuerdo_30_dias_cabecera.png)

#26 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Correo_acuerdo_7_dias.png)

#27 Actualizado por Oscar Abad hace 7 meses

  • Fichero eliminado (Correo_acuerdo_hoy.png)

#28 Actualizado por Oscar Abad hace 7 meses

#29 Actualizado por Oscar Abad hace 7 meses

  • Estado cambiado En Curso por Resuelta
  • % Realizado cambiado 0 por 100

Exportar a: Atom PDF

Financiado por:

Desarrollado por:
Software libre forjado en: