From 784f9cec56eef3c7ac0ba02de98fdbf341c6a7b3 Mon Sep 17 00:00:00 2001
From: Li Jun <buli@deloitte.com.cn>
Date: 星期一, 25 四月 2022 18:38:29 +0800
Subject: [PATCH] 0428IssueFix

---
 force-app/main/default/classes/SyncAccountContactToAWS.cls       |   18 ++++++++++++++----
 force-app/main/default/classes/PIHelper.cls                      |   24 ++++++++++++++----------
 force-app/main/default/classes/StraightBackAddressController.cls |    2 +-
 3 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/force-app/main/default/classes/PIHelper.cls b/force-app/main/default/classes/PIHelper.cls
index 85faefd..340ec54 100644
--- a/force-app/main/default/classes/PIHelper.cls
+++ b/force-app/main/default/classes/PIHelper.cls
@@ -102,16 +102,20 @@
      }
     // Use this log method
     public static void saveTransLog(String module,String awsDataId,String sfId, String transId,String content,String status,String respMsg){
-        Transaction_Log__c traLog = new Transaction_Log__c();
-        traLog.AWS_Data_Id__c = awsDataId;
-        traLog.SFRecordId__c = sfId;
-        traLog.Module__c = 'Upsert SF ' + module;
-        traLog.TransId__c = transId;
-        traLog.Request__c = content;
-        traLog.Status__c = status;
-        traLog.Response__c = respMsg;
-        traLog.Interface_URL__c = traLog.Module__c;
-        insert traLog;
+        try{
+            Transaction_Log__c traLog = new Transaction_Log__c();
+            traLog.AWS_Data_Id__c = awsDataId;
+            traLog.SFRecordId__c = sfId;
+            traLog.Module__c = 'Upsert SF ' + module;
+            traLog.TransId__c = transId;
+            traLog.Request__c = content;
+            traLog.Status__c = status;
+            traLog.Response__c = respMsg;
+            traLog.Interface_URL__c = traLog.Module__c;
+            insert traLog;
+        }catch(Exception e){
+            system.debug('Exception from insert log:'+e.getMessage());
+        }
     }
     //save qianlima log method add sushanhu 20220324
     // model 0 涓烘枃浠� 1涓烘暟鎹�
diff --git a/force-app/main/default/classes/StraightBackAddressController.cls b/force-app/main/default/classes/StraightBackAddressController.cls
index 4cc489f..23aa63b 100644
--- a/force-app/main/default/classes/StraightBackAddressController.cls
+++ b/force-app/main/default/classes/StraightBackAddressController.cls
@@ -723,7 +723,7 @@
             savemessage = e.getMessage()+e.getStackTraceString();
             message = '淇濆瓨澶辫触';
         } finally {
-            PIHelper.saveTransLog('StraightBackAddressController',address_id,address_id,address_id, repaire_json ,asset_json,message);
+            PIHelper.saveTransLog('StraightBackAddressController',address_id,address_id,address_id, repaire_json ,'success',message);
         }
         return message;
     }
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