From 8badb57ea2c82557850ad5b39281c3e8714eb119 Mon Sep 17 00:00:00 2001
From: liuyan <liuyan@prec-tech.com>
Date: 星期四, 24 十一月 2022 10:08:31 +0800
Subject: [PATCH] 科室信息漏传SPO问题
---
force-app/main/default/classes/SyncAccountContactToAWS.cls | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/force-app/main/default/classes/SyncAccountContactToAWS.cls b/force-app/main/default/classes/SyncAccountContactToAWS.cls
index df049b2..9c0131e 100644
--- a/force-app/main/default/classes/SyncAccountContactToAWS.cls
+++ b/force-app/main/default/classes/SyncAccountContactToAWS.cls
@@ -10,15 +10,19 @@
global class SyncAccountContactToAWS implements Schedulable,Database.Batchable<SObject>,Database.AllowsCallouts{
global String query;
-
+ global String scheduleId{set;get;}
global SyncAccountContactToAWS(String query) {
this.query = query;
}
global SyncAccountContactToAWS() {
this.query = 'SELECT id,Doctor_Division1__c,Doctor_Division1_Encrypted__c,Name,Name_Encrypted__c,Type__c,Type_Encrypted__c,AWS_Data_Id__c,Contact__c, Contact__r.Doctor_Division1_Encrypted__c,Contact__r.LastName_Encrypted__c, Contact__r.Type_Encrypted__c FROM Agency_Contact__c WHERE AWS_Data_Id__c =\'\' And Contact__c != null order by lastmodifieddate desc';
}
+ global SyncAccountContactToAWS(String query,String scId) {
+ this.query = 'SELECT id,Doctor_Division1__c,Doctor_Division1_Encrypted__c,Name,Name_Encrypted__c,Type__c,Type_Encrypted__c,AWS_Data_Id__c,Contact__c, Contact__r.Doctor_Division1_Encrypted__c,Contact__r.LastName_Encrypted__c, Contact__r.Type_Encrypted__c FROM Agency_Contact__c WHERE AWS_Data_Id__c =\'\' And Contact__c != null order by lastmodifieddate desc';
+ this.scheduleId = scId;
+ }
global Database.QueryLocator start(Database.BatchableContext bc) {
- system.debug('Query by custom soql:'+this.query);
+ system.debug('Query by custom soql:'+this.query);
return Database.getQueryLocator(this.query);
}
global void execute(Database.BatchableContext BC, list<Agency_Contact__c> scope) {
@@ -35,7 +39,8 @@
}
global void execute(SchedulableContext SC) {
- Id execBTId = Database.executeBatch(new SyncAccountContactToAWS(), 1);
+ Id execBTId = Database.executeBatch(new SyncAccountContactToAWS('',SC.getTriggerId()), 1);
+ system.debug('Batch Job Id:'+execBTId);
}
public static void assignOnceOneMinuteLater() {
@@ -45,12 +50,17 @@
//parse to cron expression
String nextFireTime = ss + ' ' + min + ' ' + hour + ' * * ?';
SyncAccountContactToAWS s = new SyncAccountContactToAWS();
- System.schedule('Job Started At ' + String.valueOf(Datetime.now()), nextFireTime, s);
+ System.schedule('SyncAccountContactToAWS:' + String.valueOf(Datetime.now()), nextFireTime, s);
}
global void finish(Database.BatchableContext BC) {
+ system.debug('Finish batch job Id:'+BC.getJobId());
AsyncApexJob a = [SELECT Id, Status, NumberOfErrors, JobItemsProcessed, TotalJobItems, CreatedBy.Email FROM AsyncApexJob WHERE Id = :BC.getJobId()];
//then use the active job id and abort it
system.abortJob(a.id);
+ system.debug('Finish schedule job Id:'+scheduleId);
+ if(scheduleId!=null&&scheduleId!=''){
+ system.abortJob(scheduleId);
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.1