Skip to main content

I want to close Cases when  the Cases has  5 minutes or more.

 

This action wil be happen without open o modified the cases, I create a Apex Scheduler  but no function correctly.

 

How to use or implement a Apex Scheduler correctly ?

#Collaboration #Apex #Ask An Expert #Salesforce

 

global class pruebaAutoClose implements Schedulable {

global void updateTickets(SchedulableContext ctx) {

Boolean check;

String estado;

Decimal countTimer;

List<Case> casos = [SELECT Id, CaseNumber, Status, Tiempo_Monitoreo_Extendido__c, Monitoreo_Extendido__c FROM Case WHERE Status= 'Validación'];

for(Case caso: casos){

check = caso.Monitoreo_Extendido__c;

estado = caso.Status;

countTimer = caso.Tiempo_Monitoreo_Extendido__c;

}

if(estado == 'Validación'){

system.debug('countTimer:::: ' + countTimer);

if(check == true){

System.debug('Close Manual of Case.');

} else {

if(countTimer >= 5){

List<Case> casoUpdate = [SELECT Id, CaseNumber, Status, Tiempo_Monitoreo_Extendido__c, Monitoreo_Extendido__c FROM Case WHERE Status= 'Validación'];

for(Case caso: casos){

caso.Id = caso.Id;

caso.Status = 'Cerrado';

}

System.debug('Update Case.' + 'Close Case automatically.');

update casoUpdate;

}

}

}

}

}

0/9000