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 ++++++++++++++++++++++++--
force-app/main/default/triggers/UserToContact.trigger | 12 ++++++++++++
2 files changed, 36 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 ********
**** 鍒版湰鏈堢殑宸ヤ綔鏃ワ紙浠婂勾搴︼級
**** 鍒版湰鍛ㄧ殑宸ヤ綔鏃ワ紙浠婂勾搴︼級
diff --git a/force-app/main/default/triggers/UserToContact.trigger b/force-app/main/default/triggers/UserToContact.trigger
index fafa3d9..5dea882 100644
--- a/force-app/main/default/triggers/UserToContact.trigger
+++ b/force-app/main/default/triggers/UserToContact.trigger
@@ -12,6 +12,18 @@
if (Trigger.isUpdate) {
old = Trigger.oldMap.get(local.Id);
}
+
+ //20230303 lt DB202302421915 start
+ if(Trigger.isBefore && Trigger.isUpdate && local.Pregnant_Rest__c != old.Pregnant_Rest__c){
+ if(old.Pregnant_Rest__c == FALSE && local.Pregnant_Rest__c == TRUE){
+ local.Maternity_leave_StartDate__c = Date.today();
+ }
+ if(old.Pregnant_Rest__c == TRUE && local.Pregnant_Rest__c == FALSE){
+ local.Maternity_leave_EndDate__c = Date.today();
+ }
+ }
+ //20230303 lt DB202302421915 end
+
if (String.isNotBlank(local.Employee_No__c)
&& ( Trigger.isInsert
|| old.Test_staff__c != local.Test_staff__c
--
Gitblit v1.9.1