Proyecto

General

Perfil

Correccion - Mejora #5033

Actualizado por Oscar Abad hace alrededor de 1 año

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

 Ya implementado en gor/lib/tareas.rb 
 <pre> 
   # 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 
 </pre> 

 Ejecutándose cada semana en plugins/oei_erp/lib/clock.rb 
 <pre> 
   # 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 
 </pre> 

 Según los datos de la BD anonimizada de producción: 
 <pre> 
 *** 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) 
 </pre> 

 Hay un error en la implementación (seguramente de un copia y pega), teniéndose que eliminar la línea: 
 <pre> 
 def acuerdo_expirado_abierto(usuario, acuerdo) 
   ... 
   @usuario_identificado = usuario_identificado 
 </pre> 

Atrás