彭锟
2022-03-28 a081dacbea1e46a9d3f4d77057da7923e9f59d99
force-app/main/default/classes/NFM606Batch.cls
@@ -1,11 +1,19 @@
global class NFM606Batch implements Database.Batchable < sObject > , Database.AllowsCallouts {
    public String query;
    // public String query;
    // public List < String > IdList;
    // public String executeType;
    // public String idStr;
    // global NFM606Batch() {
    // }
    // Boolean IsNeedExecute = false; // 2021-03-03  mzy  WLIG-BYHD79  SFDC环境batch合并调查  是否符合执行条件
    // public SubAuthorizedBatch(Boolean NeedExecute) {
   //     this.IsNeedExecute = NeedExecute;
   // }
    public ID recordTypeId;
    global NFM606Batch() {
        ID recordTypeId = Schema.SObjectType.Contact.getRecordTypeInfosByName().get('社内员工').getRecordTypeId();
    }
    // global NFM606Batch(String executeType) {
    //     this.executeType = executeType;
    // }
@@ -26,9 +34,11 @@
        //     ]);
        // } else if ('Contact'.equals(executeType)) {
        //     // 联系人接口
        //     return Database.getQueryLocator([
        //         select Id, Isactive__c from Contact where Isactive__c = '有效' AND RecordTypeId != '01210000000QtkyAAC' AND MobilePhone != ''
        //     ]);
        return Database.getQueryLocator([
            select Id, trigger606Flag__c from Contact where Isactive__c = '有效' AND RecordTypeId != :recordTypeId
                AND MobilePhone != '' AND trigger606Flag__c = true
        ]);
        // } else if ('Inspection_Report'.equals(executeType)) {
        //     // 点检报告接口
        //     return Database.getQueryLocator([
@@ -60,11 +70,32 @@
        //     ]);
        // }
        // // NewMaintenanceReport_Task__c
        return Database.getQueryLocator(query);
        // return Database.getQueryLocator(query);
    }
    global void execute(Database.BatchableContext BC, list < Sobject > scope) {
    global void execute(Database.BatchableContext BC, List<Contact> contactList) {
        List<String> IdList = new List<String>();
        List<Contact> trigger606List = new List<Contact>();
        List<Contact> updateContactList = new List<Contact>();
        if (contactList != null && contactList.size() > 0) {
         for (Contact con : contactList) {
            if(con.trigger606Flag__c){
                    IdList.add(con.Id);
                    trigger606List.add(con);
                }
         }
      }
        if(IdList.size() > 0){
            NFM606Controller.executeNotFuture(null, IdList);
            for(Contact con : trigger606List){
                con.trigger606Flag__c = false;
                updateContactList.add(con);
            }
        }
        if(updateContactList.size() > 0){
            update updateContactList;
        }
        // List < String > sobjectList = new List < String > ();
        // for (Sobject sobj: scope) {
        //     sobjectList.add(sobj.Id);
@@ -81,11 +112,8 @@
        //         //     NFM621Controller.executefuture('', employeeNoList);
        //         // }
        //         NFM621Controller.executefuture('', sobjectList);
        //     } else if ('Contact'.equals(executeType)) {
        //         NFM606Controller.executeNotFuture(null, sobjectList);
        //     } else if ('Inspection_Report'.equals(executeType)) {
        //         NFM602Controller.executeNotFuture(null, sobjectList);
        //     } else if ('NewMaintenanceReport_Task'.equals(executeType)) {
@@ -93,11 +121,7 @@
        //     } else if ('Repair'.equals(executeType)) {
        //         NFM603Controller.executefuture(null, sobjectList);
        //     }
        // }
    }
    global void finish(Database.BatchableContext BC) {