From 7fb99d0f7ee538022e03ba7903e6ed97fbaa849b Mon Sep 17 00:00:00 2001 From: 李彤 <litong@prec-tech.com> Date: 星期四, 16 三月 2023 10:06:17 +0800 Subject: [PATCH] 产假 --- force-app/main/default/classes/UpdateUserTextColBatch.cls | 26 ++++++++++++++++++++++++-- 1 files changed, 24 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/classes/UpdateUserTextColBatch.cls b/force-app/main/default/classes/UpdateUserTextColBatch.cls index bd698f3..7b2e242 100644 --- a/force-app/main/default/classes/UpdateUserTextColBatch.cls +++ b/force-app/main/default/classes/UpdateUserTextColBatch.cls @@ -32,7 +32,7 @@ * start銇伅銆乹uery銈掑疅琛屻�併儲銉笺偠銉笺倰妞滅储 */ global Database.QueryLocator start(Database.BatchableContext BC) { - String query = 'Select Id, Fiscal_Start_Date__c, Fiscal_Start_Date_from_May__c, Use_Start_Date__c from User'; + String query = 'Select Id, Fiscal_Start_Date__c, Fiscal_Start_Date_from_May__c, Use_Start_Date__c, Maternity_leave_StartDate__c, Maternity_leave_EndDate__c from User'; //20230303 lt DB202302421915 add , Maternity_leave_StartDate__c, Maternity_leave_EndDate__c if (String.isBlank(testUserId) == false) { query += ' where Id =\'' + testUserId + '\''; } @@ -48,7 +48,29 @@ fromDate4 = usr.Use_Start_Date__c; } - usr.Fiscal_Workdays__c = decimal.valueOf(getOlympusWorkDayCount(fromDate4, toDate)); + //20230303 lt DB202302421915 start + // usr.Fiscal_Workdays__c = decimal.valueOf(getOlympusWorkDayCount(fromDate4, toDate)); + + Date mlStartDate = usr.Maternity_leave_StartDate__c; + Date mlEndDate = usr.Maternity_leave_EndDate__c; + + if(mlStartDate == null && mlEndDate == null){ + usr.Fiscal_Workdays__c = decimal.valueOf(getOlympusWorkDayCount(fromDate4, toDate)); + } + else if(mlStartDate != null && mlEndDate == null && mlStartDate > fromDate4){ + usr.Fiscal_Workdays__c = decimal.valueOf(getOlympusWorkDayCount(fromDate4, mlStartDate)); + } + else if(mlStartDate != null && mlEndDate == null && mlStartDate <= fromDate4){ + usr.Fiscal_Workdays__c = 0; + } + else if(mlStartDate != null && mlEndDate != null && mlStartDate > fromDate4){ + usr.Fiscal_Workdays__c = decimal.valueOf(getOlympusWorkDayCount(fromDate4, mlStartDate)) + decimal.valueOf(getOlympusWorkDayCount(mlEndDate, toDate)); + } + else if(mlStartDate != null && mlEndDate != null && mlStartDate <= fromDate4){ + usr.Fiscal_Workdays__c = 0 + decimal.valueOf(getOlympusWorkDayCount(mlEndDate, toDate)); + } + //20230303 lt DB202302421915 end + /***** CHAN-AZABMC ****** 2018/06/01 ******** **** 鍒版湰鏈堢殑宸ヤ綔鏃ワ紙浠婂勾搴︼級 **** 鍒版湰鍛ㄧ殑宸ヤ綔鏃ワ紙浠婂勾搴︼級 -- Gitblit v1.9.1