global class NFM606Batch implements Database.Batchable < sObject > , Database.AllowsCallouts {
|
// public String query;
|
// public List < String > IdList;
|
// public String executeType;
|
// public String idStr;
|
|
// 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;
|
// }
|
// global NFM606Batch(String executeType, List < String > IdList) {
|
// this.IdList = IdList;
|
// this.executeType = executeType;
|
// }
|
// global NFM606Batch(String executeType, String idStr) {
|
// this.idStr = idStr;
|
// this.executeType = executeType;
|
// }
|
|
global Database.QueryLocator start(Database.BatchableContext bc) {
|
// if ('User'.equals(executeType)) {
|
// // 用户接口
|
// return Database.getQueryLocator([
|
// SELECT Id, IsActive, Employee_No__c FROM User WHERE IsActive = true AND Employee_No__c != '' AND Stay_or_not__c = '在职'
|
// ]);
|
// } else if ('Contact'.equals(executeType)) {
|
// // 联系人接口
|
|
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([
|
// select Id, Name, Status__c from Inspection_Report__c where Status__c = '批准'
|
// AND RecordtypeId = '0121m000000m3Bi'
|
// ]);
|
// } else if ('NewMaintenanceReport_Task'.equals(executeType) && IdList != null && IdList.size() > 0) {
|
// // 维修合同接口
|
// return Database.getQueryLocator([
|
// select Id, Name from NewMaintenanceReport_Task__c where Id IN: IdList
|
// ]);
|
// } else if ('NewMaintenanceReport_Task'.equals(executeType)) {
|
// return Database.getQueryLocator([
|
// select Id, Name from NewMaintenanceReport_Task__c
|
// ]);
|
// } else if ('Repair'.equals(executeType) && IdList != null && IdList.size() > 0) {
|
// // 修理接口
|
// return Database.getQueryLocator([
|
// select Id, Name from Repair__c where Id IN: IdList
|
// ]);
|
// } else if ('Repair'.equals(executeType) && String.isNotBlank(idStr)) {
|
// // 修理接口
|
// return Database.getQueryLocator([
|
// select Id, Name from Repair__c where Id = :idStr
|
// ]);
|
// } else if ('Repair'.equals(executeType)) {
|
// return Database.getQueryLocator([
|
// select Id, Name from Repair__c
|
// ]);
|
// }
|
// // NewMaintenanceReport_Task__c
|
// return Database.getQueryLocator(query);
|
|
}
|
|
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);
|
|
// }
|
// if (sobjectList.size() > 0) {
|
// if ('User'.equals(executeType)) {
|
// // List < String > employeeNoList = new List < String > ();
|
// // List < User > getUserList = [SELECT Id, IsActive, Employee_No__c FROM User WHERE Id In: sobjectList];
|
// // for (User user: getUserList) {
|
// // employeeNoList.add(user.Employee_No__c);
|
// // }
|
// // if (employeeNoList.size() > 0) {
|
// // 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)) {
|
// NFM605Controller.executeNotFuture(null, sobjectList);
|
// } else if ('Repair'.equals(executeType)) {
|
// NFM603Controller.executefuture(null, sobjectList);
|
// }
|
// }
|
}
|
|
global void finish(Database.BatchableContext BC) {
|
|
}
|
}
|