From 962519811b7c4be07f30d09e791798b0ea79d3ae Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期三, 08 三月 2023 09:54:02 +0800
Subject: [PATCH] 同步代码

---
 force-app/main/default/classes/UpdateUserTextColBatch.cls |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/force-app/main/default/classes/UpdateUserTextColBatch.cls b/force-app/main/default/classes/UpdateUserTextColBatch.cls
index bd698f3..1f0a38b 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,36 @@
                 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;
+
+            System.debug('---lt123---usr.Fiscal_Start_Date__c---'+usr.Fiscal_Start_Date__c);
+            System.debug('---lt123---usr.Use_Start_Date__c---'+usr.Use_Start_Date__c);
+            System.debug('---lt123---fromDate4---'+fromDate4);
+            System.debug('---lt123---toDate---'+toDate);
+            System.debug('---lt123---mlStartDate---'+mlStartDate);
+            System.debug('---lt123---mlEndDate---'+mlEndDate);
+
+            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