Class: Maintenance::ActivityMaintenance

Inherits:
BaseService show all
Defined in:
app/services/maintenance/activity_maintenance.rb

Instance Method Summary collapse

Methods inherited from BaseService

#initialize, #log_debug, #log_error, #log_info, #log_warning, #logger, #options, #tagged_logger

Constructor Details

This class inherits a constructor from BaseService

Instance Method Details

#close_invalid_activitiesObject



20
21
22
23
24
25
26
# File 'app/services/maintenance/activity_maintenance.rb', line 20

def close_invalid_activities
	@logger.info "close_invalid_activities started"
	ActivityType.with_customer_filter.each do |activity_type|
		@logger.info "Looking at invalid activities of activity_type: #{activity_type.task_type}"
		activity_type.cancel_invalid_activities(logger: @logger)
	end
end

#fix_time_offsetObject



10
11
12
13
14
15
16
17
18
# File 'app/services/maintenance/activity_maintenance.rb', line 10

def fix_time_offset
	sql = <<-EOS
       update activities set target_datetime = target_datetime + interval '18 hours'
       where target_datetime IS NOT NULL and date_part('hour',target_datetime) IN (5,6);
       EOS
       @logger.info "Fixing activity target datetime and marking as COB CST when set for midnight in GMT-6 or 5 TimeZone"
       res = ActiveRecord::Base.connection.execute(sql)
       @logger.info "Completed, result status: #{res.cmd_tuples}"
end

#processObject



3
4
5
6
7
8
# File 'app/services/maintenance/activity_maintenance.rb', line 3

def process
	PaperTrail.request(whodunnit: 'Maintenance::ActivityMaintenance') do
  	fix_time_offset
		close_invalid_activities
	end
end