From 8badb57ea2c82557850ad5b39281c3e8714eb119 Mon Sep 17 00:00:00 2001
From: liuyan <liuyan@prec-tech.com>
Date: 星期四, 24 十一月 2022 10:08:31 +0800
Subject: [PATCH] 科室信息漏传SPO问题
---
force-app/main/default/classes/ControllerUtil.cls | 77 ++++++++++++++++++++++++++++++++++----
1 files changed, 68 insertions(+), 9 deletions(-)
diff --git a/force-app/main/default/classes/ControllerUtil.cls b/force-app/main/default/classes/ControllerUtil.cls
index ce6d278..d0c4acd 100644
--- a/force-app/main/default/classes/ControllerUtil.cls
+++ b/force-app/main/default/classes/ControllerUtil.cls
@@ -2845,7 +2845,7 @@
Visitor1__c, Visitor2__c, Visitor3__c, Visitor4__c, Visitor5__c, Visitor1_ID__c, Visitor2_ID__c, Visitor3_ID__c, Visitor4_ID__c, Visitor5_ID__c,
Purpose_Type__c, Location, Related_Opportunity1__c, Related_Service1__c, Related_Opportunity1_ID__c, Related_Service1_ID__c, WS_flg__c,
Related_Opportunity2__c, Related_Opportunity3__c, Related_Opportunity4__c, Related_Opportunity5__c,OPDPlan_Flag__c,
- Related_Opportunity2_ID__c, Related_Opportunity3_ID__c, Related_Opportunity4_ID__c, Related_Opportunity5_ID__c,
+ Related_Opportunity2_ID__c, Related_Opportunity3_ID__c, Related_Opportunity4_ID__c, Related_Opportunity5_ID__c,Opd_Plan__c,
Activity_Purpose__c, Activity_PurposeFSE__c, Activity_PurposeEscFSE__c, Purpose_TypeFSE__c, Purpose_TypeEscFSE__c,EventStatus__c,cancelReason__c,cancelReasonOther__c,cancelReasonSelect__c,cancelReasonSelectFSE__c,delayReason__c,delayReasonOther__c,delayReasonSelect__c,delayReasonSelectFSE__c,delayToDate__c
from Event where WS_flg__c = false and ActivityDate = :whereDate and OwnerId = :ur.Id and EventStatus__c not in ('04 鍙栨秷','05 寤舵湡','06 鍏抽棴','07 鏈墽琛�') order by StartDateTime];
return calenderList;
@@ -2880,6 +2880,7 @@
return new Map<Id, Contact>([Select Id, User__c From Contact Where Id IN: contactIds and User__r.isActive = true]);
}
+
/**
* add 2021/12/23 wangweipeng satrt
* [updateFutureOds 鏇存柊ods鐨剈ser__c瀛楁]
@@ -2910,17 +2911,20 @@
}
//@future
public static void upsertFutureContactInterface(List<String> userEmployeeNoList) {
+
// 绀惧唴鍛樺伐銇儸銈炽兗銉夈偪銈ゃ儣
Id rtId = '01210000000Qtky';
// 鐜版湁鑱旂郴浜�
Map<String, Contact> conMap = new Map<String, Contact>();
// UserToContact 銇� 澶夋洿銇椼仧銇� 銇仸鍒ゆ柇銇椼仧闋呯洰銇с仚
- List<User> usrList = [select Id, Notes_File_Name__c,FirstName, LastName, Email, Mobile_Phone__c, Employee_No__c, Work_Location__c, Post__c, Job_Category__c, Hire_Date__c, Gender__c, Dept__c, Pregnant_Rest__c, Salesdepartment__c, Stay_or_not__c,IsMEBG__c, Work_Location_HR__c from User where Employee_No__c IN :userEmployeeNoList];
+ //20220425 LLIU-CCY9TA you 鏌ヨpost鐨勫湴鏂规崲鎴� HR_Post__c
+ List<User> usrList = [select Id,PositionSubsequence__c, Notes_File_Name__c,FirstName, LastName, Email, Mobile_Phone__c, Employee_No__c, Work_Location__c, HR_Post__c,Post__c, Job_Category__c, Hire_Date__c, Gender__c, Dept__c, Pregnant_Rest__c, Salesdepartment__c, Stay_or_not__c,IsMEBG__c, Work_Location_HR__c from User where Employee_No__c IN :userEmployeeNoList];
List<Contact> conList = [select Id,Notes_File_Name__c, User__c, Employee_No_manual__c,Isactive__c,IsMEBG__c, Work_Location_HR__c from Contact where Employee_No_manual__c IN :userEmployeeNoList and RecordTypeId = :rtId];
for (Contact con : conList) {
//conMap.put(con.Employee_No_manual__c, con);
conMap.put(con.Employee_No_manual__c.toLowerCase(), con);
}
+ system.debug('youchangtest1');
List<Contact> upsertList = new List<Contact>();
for (User local : usrList) {
//update wangweipeng 2021/11/19
@@ -2954,7 +2958,8 @@
//鐢ㄦ埛鐨勫伐浣滃湴锛堜汉浜嬶級鏀瑰彉鏇存柊鍒拌仈绯讳汉涓� thh 2022-02-16 start
tmp.Work_Location_HR__c = local.Work_Location_HR__c;
//鐢ㄦ埛鐨勫伐浣滃湴锛堜汉浜嬶級鏀瑰彉鏇存柊鍒拌仈绯讳汉涓� thh 2022-02-16 end
- tmp.Post_picklist__c = local.Post__c;
+ tmp.Post_picklist__c = local.Post__c; //20220426 LLIU-CCY9TA you鐢ㄦ埛鐨� Post__c 锛岃繕鏄搴旇仈绯讳汉
+ tmp.HR_Post__c = local.HR_Post__c;//HR閫氱敤鑱岀骇 //20220425 LLIU-CCY9TA you
tmp.Job_Category_picklist__c = local.Job_Category__c;
tmp.Hire_date_text__c = local.Hire_Date__c;
tmp.Gender_text__c = local.Gender__c;
@@ -2963,10 +2968,15 @@
tmp.Salesdepartment_Text__c = local.Salesdepartment__c;
tmp.Stay_or_not__c = local.Stay_or_not__c;
tmp.IsMEBG__c = local.IsMEBG__c;//鏄惁MEBG
+ //20220428 LLIU-CDW5ZW you start
+ tmp.PositionSubsequence__c = local.PositionSubsequence__c;
+ //20220428 LLIU-CDW5ZW you end
+
if(String.isNotBlank(local.Stay_or_not__c)){
tmp.Isactive__c = local.Stay_or_not__c == '鍦ㄨ亴' ? '鏈夋晥':'鏃犳晥';
}
upsertList.add(tmp);
+ system.debug('youchangtest2'+tmp.HR_Post__c);
} else {
// 鏂板仛鑱旂郴浜�
Contact tmp = new Contact();
@@ -2984,7 +2994,8 @@
tmp.Work_Location_HR__c = local.Work_Location__c;
tmp.Work_Location_picklist__c = local.Work_Location__c;
//濡傛灉鏍规嵁HR淇℃伅鏂板缓鐢ㄦ埛,鍒欐妸HR淇℃伅鐨勫伐浣滃湴浼犵粰鐢ㄦ埛鐨勫伐浣滃湴鍜屽伐浣滃湴锛堜汉浜嬶級 thh 2022-02-16 end
- tmp.Post_picklist__c = local.Post__c;
+ tmp.Post_picklist__c = local.Post__c;//20220426 LLIU-CCY9TA you鐢ㄦ埛鐨� Post__c 锛岃繕鏄搴旇仈绯讳汉
+ tmp.HR_Post__c = local.HR_Post__c;//HR閫氱敤鑱岀骇 //20220425 LLIU-CCY9TA you
tmp.Job_Category_picklist__c = local.Job_Category__c;
tmp.Hire_date_text__c = local.Hire_Date__c;
tmp.Gender_text__c = local.Gender__c;
@@ -2993,15 +3004,19 @@
tmp.Salesdepartment_Text__c = local.Salesdepartment__c;
tmp.Stay_or_not__c = local.Stay_or_not__c;
tmp.IsMEBG__c = local.IsMEBG__c;//鏄惁MEBG
+ //20220428 LLIU-CDW5ZW you start
+ tmp.PositionSubsequence__c = local.PositionSubsequence__c;
+ //20220428 LLIU-CDW5ZW you end
if(String.isNotBlank(local.Stay_or_not__c)){
tmp.Isactive__c = '鍦ㄨ亴'.equals(local.Stay_or_not__c) ? '鏈夋晥':'鏃犳晥';
}
upsertList.add(tmp);
+ system.debug('youchangtest3'+tmp.HR_Post__c);
}
}
upsert upsertList;
}
-
+// 20220425 you 缁忔煡鐪� 姝ゅ璞″簲璇ユ槸娌℃湁浠讳綍鍦版柟鐢ㄥ埌浜嗭紝鍙互娉ㄩ噴鎺�
public static void updateFutureUserByContact(List<String> userEmployeeNoList) {
// 鐜版湁鐢ㄦ埛
Map<String, User> usrMap = new Map<String, User>();
@@ -3045,13 +3060,31 @@
//add wangweipeng 2021/11/18 start
//鏍规嵁ods鐨勫憳宸ョ紪鐮侊紝鏇存柊鎴栨柊澧� user琛ㄧ殑鏁版嵁
public static void updateFutureOdsByUser(List<String> userEmployeeNoList) {
+ //20220426 LLIU-CCY9TA you start 閫氱敤鑱岃鍜寀ser涓婄殑鑱屼綅浜掔浉鏄犲皠锛�
+ SS_BatchColumnMapping__c mpdMapping = SS_BatchColumnMapping__c.getValues('HR_Post_To_UserAndContact__c');
+
+ Map<String,String> UserAndContactMap = new Map<String,String>();
+ for (Integer i = 1; i <= 30; i++) {
+ String lpadI = ('00' + i).right(3);
+ String fromColumn = 'From_Column_' + lpadI + '__c';
+ if(mpdMapping!=null){
+ String apiStr = String.valueOf(mpdMapping.get(fromColumn));
+ if (String.isBlank(apiStr) == false) {
+ String ssColumn = 'SS_Column_' + lpadI + '__c';
+ String ssApiStr = String.valueOf(mpdMapping.get(ssColumn));
+ UserAndContactMap.put(apiStr,ssApiStr);
+ }
+ }
+ }
+ //20220426 LLIU-CCY9TA you end
+ system.debug(mpdMapping+'==UserAndContactMap=='+UserAndContactMap);
//鑾峰彇鑷畾涔夋爣绛撅紝鑷繁瀹氫箟锛岀敤鏉ョ┖鏇存柊鏁版嵁鎴栧鐞嗗巻鍙叉暟鎹�
//鍦ㄥ鐞嗗巻鍙茶褰曟椂锛氳亴浣嶅拰鑱岀 濡傛灉ods鐨勫�间负绌猴紝閭d箞user瀵硅薄鐨勮繖涓や釜瀛楁灏变笉闇�瑕佹洿鏂�
Integer buffer = Integer.valueOf(System.Label.ODS_Null_Update_Sign);
// 鐜版湁鐢ㄦ埛
Map<String, User> usrMap = new Map<String, User>();
// ContactToUser 銇� 澶夋洿銇椼仧銇� 銇仸鍒ゆ柇銇椼仧闋呯洰銇с仚
- List<ODS__c> conList = [select id,Alias__c,Branch__c,Category3__c,Category4__c,Category5__c,Category6__c,Employee_No__c,Hire_Date__c,FirstName__c,LastName__c,Name__c,Email__c,MobilePhone__c,Post__c,Job_Category__c,Job_Type__c,Product_specialist_incharge_product__c,Sales_Speciality__c,Work_Location__c,Stay_or_not__c,LeaveDate__c,UniqueId__c,Null_Update__c from ODS__c where Employee_No__c in :userEmployeeNoList];
+ List<ODS__c> conList = [select id,Alias__c,Branch__c,PositionSubsequence__c,Category3__c,Category4__c,Category5__c,Category6__c,Employee_No__c,Hire_Date__c,FirstName__c,LastName__c,Name__c,Email__c,MobilePhone__c,Post__c,Job_Category__c,Job_Type__c,Product_specialist_incharge_product__c,Sales_Speciality__c,Work_Location__c,Stay_or_not__c,LeaveDate__c,UniqueId__c,Null_Update__c from ODS__c where Employee_No__c in :userEmployeeNoList];
List<User> usrList = [select Id, PBI_Enable__c ,PBIAuthorizedSetting__c,Employee_No__c from User where Employee_No__c IN :userEmployeeNoList];
for (User usr : usrList) {
@@ -3076,15 +3109,30 @@
userData.Dept__c = odsc.Category4__c;//鏈儴
}
userData.Category5__c = odsc.Category5__c;//閮�
- userData.Category6__c = odsc.Category6__c;//璇�
+ //LLIU-CCS8ZB-褰撴柊鍒涘缓鐨勬椂鍊欐帴鏀朵汉浜嬩俊鎭腑鐨勮淇℃伅锛屼箣鍚庝笉杩涜鏇存柊 thh 20220324 start
+ // userData.Category6__c = odsc.Category6__c;//璇�
+ //LLIU-CCS8ZB-褰撴柊鍒涘缓鐨勬椂鍊欐帴鏀朵汉浜嬩俊鎭腑鐨勮淇℃伅锛屼箣鍚庝笉杩涜鏇存柊 thh 20220324 end
//userData.Employee_No__c = odsc.Employee_No__c;//鍛樺伐缂栫爜
userData.Hire_Date__c = odsc.Hire_Date__c;//鍏ヨ亴鏃ユ湡
//userData.Email = odsc.Email__c;//鐢靛瓙閭欢
userData.Mobile_Phone__c = odsc.MobilePhone__c;//鎵嬫満鍙风爜
//濡傛灉鑷畾涔夊彉杩佺殑鍊间负1锛岄偅涔堣瘉鏄庣幇鍦ㄦ槸鍦ㄥ鐞嗗巻鍙叉暟鎹紝鑰屽巻鍙叉暟鎹瀹氾紝濡傛灉ods鐨勮亴浣嶄负绌猴紝閭d箞灏变笉闇�瑕佹洿鏂皍ser鐨勮亴绉�
+ //20220425 LLIU-CCY9TA you ods 鐨� 閫氱敤鑱岃 瀵瑰簲鐢ㄦ埛涓婃柊鍒涘缓鐨� HR閫氱敤鑱岀骇 鏂紑璺熻亴浣嶇殑鍏崇郴
+
if(String.isNotBlank(odsc.Post__c) || buffer != 1){
- userData.Post__c = odsc.Post__c;//鑱屼綅
+ //userData.Post__c = odsc.Post__c;//鑱屼綅
+ userData.HR_Post__c = odsc.Post__c;//HR閫氱敤鑱岀骇
+ system.debug(odsc.Post__c+'===='+UserAndContactMap.containsKey(odsc.Post__c));
+ if(null!=UserAndContactMap && UserAndContactMap.containsKey(odsc.Post__c)){
+ userData.Post__c = UserAndContactMap.get(odsc.Post__c);
+ }
}
+ //20220426 LLIU-CCY9TA you end
+
+ //20220428 LLIU-CDW5ZW you start
+ userData.PositionSubsequence__c = odsc.PositionSubsequence__c;
+ //20220428 LLIU-CDW5ZW you end
+
String zz = '';
if(odsc.Job_Category__c == '鏈嶅姟'){
zz = '閿�鍞湇鍔�';
@@ -3127,9 +3175,19 @@
userData.Username = '_'+odsc.Email__c;//鐢ㄦ埛鍚�
userData.Mobile_Phone__c = odsc.MobilePhone__c;//鎵嬫満鍙风爜
//濡傛灉鑷畾涔夊彉杩佺殑鍊间负1锛岄偅涔堣瘉鏄庣幇鍦ㄦ槸鍦ㄥ鐞嗗巻鍙叉暟鎹紝鑰屽巻鍙叉暟鎹瀹氾紝濡傛灉ods鐨勮亴浣嶄负绌猴紝閭d箞灏变笉闇�瑕佹洿鏂皍ser鐨勮亴绉�
+ //20220426 LLIU-CCY9TA you start
if(String.isNotBlank(odsc.Post__c) || buffer != 1){
- userData.Post__c = odsc.Post__c;//鑱屼綅
+ //userData.Post__c = odsc.Post__c;//鑱屼綅
+ userData.HR_Post__c = odsc.Post__c;//HR閫氱敤鑱岀骇
+ if(null!=UserAndContactMap && UserAndContactMap.containsKey(odsc.Post__c)){
+ userData.Post__c = UserAndContactMap.get(odsc.Post__c);
+ }
}
+ //20220426 LLIU-CCY9TA you end
+
+ //20220428 LLIU-CDW5ZW you start
+ userData.PositionSubsequence__c = odsc.PositionSubsequence__c;
+ //20220428 LLIU-CDW5ZW you end
String zz = '';
if(odsc.Job_Category__c == '鏈嶅姟'){
zz = '閿�鍞湇鍔�';
@@ -4461,6 +4519,7 @@
,eventStatus__c, CancelReason__c, delayToDate__c, delayReason__c,DurationInMinutes__c,cancelReasonSelect__c,cancelReasonSelectFSE__c,cancelReasonOther__c,delayReasonOther__c,delayReasonSelect__c,delayReasonSelectFSE__c,BeforeActivityDate__c,OPDPlan_Flag__c,IsScheduled__c,AppCdId__c,SyncCreatedDate__c
// 20200420 浠诲姟鏃ユ姤绠$悊 add gzw end
+ ,OPD_plan__c // 2022-4-14 yjk 澧炲姞OPD璁″垝
from Event__c where ActivityDate__c =:whereDate and Daily_Report__c = :oya.Id order by StartDateTime__c
];
}
--
Gitblit v1.9.1