高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/SetOlympusCalendarWorkDayBatch.cls
@@ -1,6 +1,10 @@
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;
@@ -51,6 +55,38 @@
                , 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
@@ -82,8 +118,12 @@
                , 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
            ]);
    }
@@ -119,7 +159,10 @@
                            // 因为字段是从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;
                            }
                        }
@@ -129,7 +172,10 @@
                            // 因为上面上大于的判断。所以前一天可能和日历日期是同一天。所以需要加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 ++;
@@ -170,6 +216,6 @@
                totalCount, totalCountDone, failedCount);
            be.send();
        }
        Id execBTId = Database.executeBatch(new InventoryAutoGiveupBatch(), 200);
        Id execBTId = Database.executeBatch(new InventoryAutoGiveupBatch(true), 200);
    }
}