| | |
| | | global without sharing class SetOlympusCalendarWorkDayBatch implements Database.Batchable<sObject>, Database.Stateful { |
| | | |
| | | private final Integer DAYCOUNT = 30; |
| | | // 20230224 ljh 进口单证优化日历 start |
| | | // private final Integer DAYCOUNT = 30; |
| | | private final Integer DAYCOUNT_AFTER = 60; |
| | | private final Integer DAYCOUNT_BEFORE = 30; |
| | | // 20230224 ljh 进口单证优化日历 start |
| | | public List<String> emailMessages = new List<String>(); |
| | | private Integer totalCount = 0; // 总件数 |
| | | private Integer failedCount = 0; |
| | |
| | | , After_28_WorkDay__c |
| | | , After_29_WorkDay__c |
| | | , After_30_WorkDay__c |
| | | // 20230224 ljh add start |
| | | , After_31_WorkDay__c |
| | | , After_32_WorkDay__c |
| | | , After_33_WorkDay__c |
| | | , After_34_WorkDay__c |
| | | , After_35_WorkDay__c |
| | | , After_36_WorkDay__c |
| | | , After_37_WorkDay__c |
| | | , After_38_WorkDay__c |
| | | , After_39_WorkDay__c |
| | | , After_40_WorkDay__c |
| | | , After_41_WorkDay__c |
| | | , After_42_WorkDay__c |
| | | , After_43_WorkDay__c |
| | | , After_44_WorkDay__c |
| | | , After_45_WorkDay__c |
| | | , After_46_WorkDay__c |
| | | , After_47_WorkDay__c |
| | | , After_48_WorkDay__c |
| | | , After_49_WorkDay__c |
| | | , After_50_WorkDay__c |
| | | , After_51_WorkDay__c |
| | | , After_52_WorkDay__c |
| | | , After_53_WorkDay__c |
| | | , After_54_WorkDay__c |
| | | , After_55_WorkDay__c |
| | | , After_56_WorkDay__c |
| | | , After_57_WorkDay__c |
| | | , After_58_WorkDay__c |
| | | , After_59_WorkDay__c |
| | | , After_60_WorkDay__c |
| | | // 20230224 ljh add end |
| | | , Before_1_WorkDay__c |
| | | , Before_2_WorkDay__c |
| | | , Before_3_WorkDay__c |
| | |
| | | , Before_29_WorkDay__c |
| | | , Before_30_WorkDay__c |
| | | FROM OlympusCalendar__c |
| | | |
| | | WHERE Before_30_WorkDay__c = null |
| | | OR After_30_WorkDay__c = null |
| | | // 20230224 ljh update start |
| | | // OR After_30_WorkDay__c = null |
| | | OR After_60_WorkDay__c = null |
| | | // 20230224 ljh update end |
| | | ]); |
| | | } |
| | | |
| | |
| | | // 因为字段是从1开始所得所以直接用g |
| | | oc.put('After_' + g + '_WorkDay__c', olcList[j + g - 1].Date__c); |
| | | // 因为从1开始所以不需要减1 |
| | | if (g == DAYCOUNT) { |
| | | // 20230224 ljh update start |
| | | // if (g == DAYCOUNT) { |
| | | if (g == DAYCOUNT_AFTER) { |
| | | // 20230224 ljh update end |
| | | break; |
| | | } |
| | | } |
| | |
| | | // 因为上面上大于的判断。所以前一天可能和日历日期是同一天。所以需要加if文 |
| | | if (olcList[j - g].Date__c < oc.Date__c) { |
| | | oc.put('Before_' + k + '_WorkDay__c', olcList[j - g].Date__c); |
| | | if (k == DAYCOUNT) { |
| | | // 20230224 ljh update start |
| | | // if (k == DAYCOUNT) { |
| | | if (k == DAYCOUNT_BEFORE) { |
| | | // 20230224 ljh update end |
| | | break; |
| | | } |
| | | k ++; |
| | |
| | | totalCount, totalCountDone, failedCount); |
| | | be.send(); |
| | | } |
| | | Id execBTId = Database.executeBatch(new InventoryAutoGiveupBatch(), 200); |
| | | Id execBTId = Database.executeBatch(new InventoryAutoGiveupBatch(true), 200); |
| | | } |
| | | } |