global class SoakupHPDeptTeamSchedule implements Schedulable {
|
global void execute(SchedulableContext SC) {
|
List<User> batchUser = [select Id, Name from User where Name = 'Batch'];
|
if (batchUser.size() == 0) {
|
return;
|
}
|
String[] recTypes = new String[] {'診療科 呼吸科', '診療科 婦人科', '診療科 普外科', '診療科 泌尿科', '診療科 消化科', '診療科 耳鼻喉科', '診療科 その他'};
|
List<RecordType> rects = [select Id, Name from RecordType where IsActive = true and SobjectType = 'Account' and Name IN :recTypes];
|
List<String> deptRectIds = new List<String>();
|
for (RecordType rect : rects) {
|
deptRectIds.add(rect.Id);
|
}
|
|
// バッチ実行
|
// 10病院ずつ処理する
|
Date toDate = Date.today();
|
Date yesterDate = toDate.addDays(-1);
|
Date mon1stDate = Date.newInstance(toDate.year(), toDate.month(), 1);
|
//每月到今天的工作日
|
Integer workdays = UpdateUserTextColBatch.getOlympusWorkDayCount(mon1stDate, toDate);
|
//每月到昨天的工作日
|
Integer workdays1 = UpdateUserTextColBatch.getOlympusWorkDayCount(mon1stDate, yesterDate);
|
|
//Integer Soakup_NotExecute_Day = Integer.valueOf(System.Label.Soakup_NotExecute_Day);
|
Integer SSBacth_Execute_Day = Integer.valueOf(System.Label.SSBacth_Execute_Day);
|
if (workdays1 == SSBacth_Execute_Day || workdays != SSBacth_Execute_Day) {
|
Id execBTId = Database.executeBatch(new SoakupHPDeptTeamBatch(deptRectIds, batchUser[0].Id, '6.华南', '4.西南'), 10);
|
execBTId = Database.executeBatch(new SoakupHPDeptTeamBatch(deptRectIds, batchUser[0].Id, '2.东北', '3.西北'), 10);
|
execBTId = Database.executeBatch(new SoakupHPDeptTeamBatch(deptRectIds, batchUser[0].Id, '1.华北', null), 10);
|
execBTId = Database.executeBatch(new SoakupHPDeptTeamBatch(deptRectIds, batchUser[0].Id, '5.华东', null), 10);
|
}
|
|
}
|
}
|