global class DeleteOldDataBatch implements Database.Batchable<sObject> {
|
global final Boolean isTest;
|
String query;
|
/**
|
* コンスタント、パラメータを受け取る
|
*/
|
global DeleteOldDataBatch(Boolean isTest) {
|
// このBatchは毎日動く予定、
|
this.isTest = isTest;
|
}
|
|
/**
|
* 想定は毎日削除する対象データは10000件以下、startはいらないですかも
|
* startには、return null して、 executeのロジックは直接 start にかく
|
*/
|
global Database.QueryLocator start(Database.BatchableContext BC){
|
Datetime pNow3 = System.now(); // 医院分析PDF
|
Datetime pNow2 = System.now(); // Email画像
|
Datetime pNow = System.now(); // BatchIF_Log__c を削除
|
if (this.isTest == false) {
|
pNow3 = pNow3.addDays(-6);
|
pNow2 = pNow2.addDays(-31);
|
pNow = pNow.addDays(-366);
|
}
|
// // 医院分析PDF を削除
|
// for (List<document> d3List : [select id from document where folderId = '00l10000000f5O1' and CreatedDate <= :pNow3]) {
|
// delete d3List;
|
// }
|
// // Email画像 を削除
|
// for (List<document> d2List : [select id from document where folderId = '00l10000000f5Zd' and CreatedDate <= :pNow2]) {
|
// delete d2List;
|
// }
|
// // SFDelete__c を削除
|
// for (List<SFDelete__c> dList : [Select Id from SFDelete__c where CreatedDate <= :pNow]) {
|
// delete dList;
|
// }
|
//删除询价拍照数据
|
if(this.isTest == false){
|
query = 'select Id from SS_backorder_list__c where Evaluation_date__c < 2019-04-01';
|
}else{
|
query = 'select Id from SS_Prospect_detail_product__c where Create_date__c < 2019-05-01';
|
}
|
// BatchIF_Log__c を削除
|
return Database.getQueryLocator(query);
|
}
|
|
/**
|
* SObjectは SFDelete__c と想定
|
*/
|
global void execute(Database.BatchableContext BC, List<SObject> sList) {
|
delete sList;
|
}
|
|
global void finish(Database.BatchableContext BC) {
|
// 今回はやることないです
|
}
|
}
|