From e3a2cee90bc35685b1ebc88af96c5c65289a55fe Mon Sep 17 00:00:00 2001
From: 游畅 <youchang@prec-tech.com>
Date: 星期三, 29 三月 2023 14:01:21 +0800
Subject: [PATCH] 20230329-询价中的今年相关字段增加和修改+现场修理逻辑+停止hr信息同步用户

---
 force-app/main/default/classes/ControllerUtil.cls |  297 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 275 insertions(+), 22 deletions(-)

diff --git a/force-app/main/default/classes/ControllerUtil.cls b/force-app/main/default/classes/ControllerUtil.cls
index fb0f86d..012b0ed 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,Rank__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,18 @@
                 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
+                //20220512 you LLIU-CDW5ZW start
+                tmp.Rank__c = local.Rank__c;
+                //20220428 you LLIU-CDW5ZW end
+                
                 if(String.isNotBlank(local.Stay_or_not__c)){
-                    tmp.Isactive__c = 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 +2997,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 +3007,22 @@
                 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
+                //20220512 you LLIU-CDW5ZW start
+                tmp.Rank__c = local.Rank__c;
+                //20220428 you LLIU-CDW5ZW end
                 if(String.isNotBlank(local.Stay_or_not__c)){
-                    tmp.Isactive__c = '鍦ㄨ亴'.equals(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 +3066,68 @@
     //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
+
+        //20220721 you LLIU-CGH8EY start 鏈儴鍒嗙被-宀椾綅瀛愬簭鍒楋紝鏄犲皠 user涓婄殑鑱岀
+        SS_BatchColumnMapping__c JobmpdMapping = SS_BatchColumnMapping__c.getValues('HR_Post_To_Job_Category__c');
+                  
+            Map<String,String> Job_CategoryMap = new Map<String,String>();
+            for (Integer i = 1; i <= 30; i++) {
+                String lpadI = ('00' + i).right(3);
+                String fromColumn = 'From_Column_' + lpadI + '__c';
+                if(JobmpdMapping!=null){
+                    String apiStr = String.valueOf(JobmpdMapping.get(fromColumn));
+                    if (String.isBlank(apiStr) == false) {
+                        String ssColumn = 'SS_Column_' + lpadI + '__c';
+                        String ssApiStr = String.valueOf(JobmpdMapping.get(ssColumn));
+                        Job_CategoryMap.put(apiStr,ssApiStr);   
+                    }
+                }      
+         } 
+        //20220721 you LLIU-CGH8EY end
+        
+       //20220823 you LLIU-CHL8FB start 鏈儴鏄�--solution鏈儴鐨勯�氳繃鏄犲皠锛屾洿鏂扮敤鎴蜂笂鐨� 鏈儴(閫夐」)锛屽鏋滄槸鍏朵粬锛岄偅涔堟甯歌蛋閫昏緫
+        SS_BatchColumnMapping__c DeptMapping = SS_BatchColumnMapping__c.getValues('HR_Category4_To_Dept__c');
+                  
+            Map<String,String> DeptMap = new Map<String,String>();
+            for (Integer i = 1; i <= 30; i++) {
+                String lpadI = ('00' + i).right(3);
+                String fromColumn = 'From_Column_' + lpadI + '__c';
+                if(DeptMapping!=null){
+                    String apiStr = String.valueOf(DeptMapping.get(fromColumn));
+                    if (String.isBlank(apiStr) == false) {
+                        String ssColumn = 'SS_Column_' + lpadI + '__c';
+                        String ssApiStr = String.valueOf(DeptMapping.get(ssColumn));
+                        DeptMap.put(apiStr,ssApiStr);   
+                    }
+                }      
+         } 
+        //20220823 you LLIU-CHL8FB 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,Rank__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,Salesdepartment__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) {
@@ -3073,7 +3149,13 @@
 
                 userData.Group_sales_dept__c = odsc.Category3__c;//缁熸嫭鏈儴
                 if(String.isNotBlank(odsc.Category4__c)){
-                    userData.Dept__c = odsc.Category4__c;//鏈儴
+                    //20220823 you LLIU-CHL8FB start 
+                    if(null!=DeptMap && DeptMap.containsKey(odsc.Category4__c)){
+                       userData.Dept__c = DeptMap.get(odsc.Category4__c);//鏈儴
+                     }else{
+                       userData.Dept__c = odsc.Category4__c;//鏈儴
+                     }
+                     //20220823 you LLIU-CHL8FB end 
                 }
                 userData.Category5__c = odsc.Category5__c;//閮�
                 //LLIU-CCS8ZB-褰撴柊鍒涘缓鐨勬椂鍊欐帴鏀朵汉浜嬩俊鎭腑鐨勮淇℃伅锛屼箣鍚庝笉杩涜鏇存柊 thh 20220324 start
@@ -3084,9 +3166,27 @@
                 //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
+                //20220512 you LLIU-CDW5ZW start
+                userData.Rank__c = odsc.Rank__c;
+                //20220428 you LLIU-CDW5ZW end
+                
+                // 20220721 you LLIU-CGH8EY start 娉ㄩ噴锛屼緷鎹湰閮ㄥ拰宀椾綅瀛愬簭鍒� 缁欒亴绉嶈祴鍊�
+                /**
                 String zz = '';
                 if(odsc.Job_Category__c == '鏈嶅姟'){
                     zz = '閿�鍞湇鍔�';
@@ -3098,7 +3198,52 @@
                 //濡傛灉鑷畾涔夊彉杩佺殑鍊间负1锛岄偅涔堣瘉鏄庣幇鍦ㄦ槸鍦ㄥ鐞嗗巻鍙叉暟鎹紝鑰屽巻鍙叉暟鎹瀹氾紝濡傛灉ods鐨勮亴绉嶄负绌猴紝閭d箞灏变笉闇�瑕佹洿鏂皍ser鐨勮亴绉�
                 if(String.isNotBlank(zz) || buffer != 1){
                     userData.Job_Category__c = zz;//鑱岀
-                }
+                }**/
+                String bbz=odsc.Category4__c+'-' +odsc.PositionSubsequence__c; //鏈儴-宀椾綅瀛愬簭鍒�
+                String ldbb=odsc.Salesdepartment__c+'-' +odsc.PositionSubsequence__c; //鍏ぇ鏈儴-宀椾綅瀛愬簭鍒�
+                String bbz1=odsc.Category5__c+'-' +odsc.PositionSubsequence__c;  //閮�-宀椾綅瀛愬簭鍒�
+                system.debug(bbz+'==='+ldbb+'==Job_CategoryMap=='+Job_CategoryMap);
+                //鏈儴涓嶇瓑浜庣┖锛岀湅鏈儴
+                String zz = '';
+                if( (String.isNotBlank(odsc.PositionSubsequence__c) && odsc.PositionSubsequence__c=='渚涘簲閾剧鐞�') || ( String.isNotBlank(odsc.Category4__c) && odsc.Category4__c=='鎴樼暐鍒涙柊鏈儴')){
+                     zz = '绠$悊';
+                }else if( String.isNotBlank(odsc.Category4__c) && odsc.Category4__c=='Solution鏈儴'){
+                     zz = '甯傚満';
+                }else if(String.isNotBlank(odsc.Category4__c)){
+                    if(null!=Job_CategoryMap && Job_CategoryMap.containsKey(bbz)){
+                       if(Job_CategoryMap.get(bbz) == '鏈嶅姟'){
+                         zz = '閿�鍞湇鍔�';
+                       }else if(Job_CategoryMap.get(bbz) == '鎺ㄥ箍'){
+                         zz = '閿�鍞帹骞�';
+                       }else{
+                         zz = Job_CategoryMap.get(bbz);
+                       }   
+                    }
+                    if(null!=Job_CategoryMap && Job_CategoryMap.containsKey(ldbb)){
+                       if(Job_CategoryMap.get(ldbb) == '鏈嶅姟'){
+                         zz = '閿�鍞湇鍔�';
+                       }else if(Job_CategoryMap.get(ldbb) == '鎺ㄥ箍'){
+                         zz = '閿�鍞帹骞�';
+                       }else{
+                         zz = Job_CategoryMap.get(ldbb);
+                       }  
+                    } 
+                    
+                    system.debug('=='+Job_CategoryMap.get(bbz)+'==='+Job_CategoryMap.get(ldbb)+'==='+zz);
+                  }else if(String.isBlank(odsc.Category4__c) && String.isNotBlank(odsc.Category5__c)){
+                    //鏈儴绛変簬绌猴紝鐪嬮儴
+                    if(odsc.Category5__c=='鍗庡寳涓滃寳杩愯惀绠$悊閮�' || odsc.Category5__c=='瑗垮寳瑗垮崡杩愯惀绠$悊閮�' || odsc.Category5__c=='瑗垮寳瑗垮崡杩愯惀鏀彺閮�' || bbz1=='鍗庡寳涓滃寳鏈嶅姟閮�-缁煎悎琛屾斂' || bbz1=='鍗庡寳涓滃寳甯傚満閮�-缁煎悎琛屾斂'){
+                      zz = '鏀彺'; 
+                    }else if(bbz1=='鍗庡寳涓滃寳鏈嶅姟閮�-FSE'){
+                      zz = '閿�鍞湇鍔�';
+                    }else if(odsc.Category5__c=='瑗块儴鎴樼暐鎺ㄨ繘閮�' || bbz1=='鍗庡寳涓滃寳甯傚満閮�-鎺ㄥ箍'){
+                      zz = '閿�鍞帹骞�';
+                    }
+                  }
+                  userData.Job_Category__c = zz;
+
+                // 20220721 you LLIU-CGH8EY end
+
                 //userData.Product_specialist_incharge_product__c = odsc.Product_specialist_incharge_product__c;//璐熻矗浜у搧锛堜富锛�
                 //userData.Sales_Speciality__c = odsc.Sales_Speciality__c;//閿�鍞伐浣滃唴瀹�
                 //HR淇℃伅涓婄殑宸ヤ綔鍦版洿鏂板埌鐢ㄦ埛鐨勫伐浣滃湴锛堜汉浜嬶級涓� thh 2022-02-16 start
@@ -3119,7 +3264,13 @@
                 User userData = new User();
                 userData.Group_sales_dept__c = odsc.Category3__c;//缁熸嫭鏈儴
                 if(String.isNotBlank(odsc.Category4__c)){
-                    userData.Dept__c = odsc.Category4__c;//鏈儴
+                     //20220823 you LLIU-CHL8FB start 
+                    if(null!=DeptMap && DeptMap.containsKey(odsc.Category4__c)){
+                       userData.Dept__c = DeptMap.get(odsc.Category4__c);//鏈儴
+                     }else{
+                       userData.Dept__c = odsc.Category4__c;//鏈儴
+                     }
+                     //20220823 you LLIU-CHL8FB end 
                 }
                 userData.Category5__c = odsc.Category5__c;//閮�
                 userData.Category6__c = odsc.Category6__c;//璇�
@@ -3129,9 +3280,24 @@
                 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
+                //20220512 you LLIU-CDW5ZW start
+                userData.Rank__c = odsc.Rank__c;
+                //20220428 you LLIU-CDW5ZW end
+                // 20220721 you LLIU-CGH8EY start 娉ㄩ噴锛屼緷鎹湰閮ㄥ拰宀椾綅瀛愬簭鍒� 缁欒亴绉嶈祴鍊�
+                /**
                 String zz = '';
                 if(odsc.Job_Category__c == '鏈嶅姟'){
                     zz = '閿�鍞湇鍔�';
@@ -3143,7 +3309,49 @@
                 //濡傛灉鑷畾涔夊彉杩佺殑鍊间负1锛岄偅涔堣瘉鏄庣幇鍦ㄦ槸鍦ㄥ鐞嗗巻鍙叉暟鎹紝鑰屽巻鍙叉暟鎹瀹氾紝濡傛灉ods鐨勮亴绉嶄负绌猴紝閭d箞灏变笉闇�瑕佹洿鏂皍ser鐨勮亴绉�
                 if(String.isNotBlank(zz) || buffer != 1){
                     userData.Job_Category__c = zz;//鑱岀
-                }
+                }**/
+                String bbz=odsc.Category4__c+'-' +odsc.PositionSubsequence__c; //鏈儴-宀椾綅瀛愬簭鍒�
+                String ldbb=odsc.Salesdepartment__c+'-' +odsc.PositionSubsequence__c; //鍏ぇ鏈儴-宀椾綅瀛愬簭鍒�
+                String bbz1=odsc.Category5__c+'-' +odsc.PositionSubsequence__c;  //閮�-宀椾綅瀛愬簭鍒�
+                //鏈儴涓嶇瓑浜庣┖锛岀湅鏈儴
+                String zz = '';
+                if( (String.isNotBlank(odsc.PositionSubsequence__c) && odsc.PositionSubsequence__c=='渚涘簲閾剧鐞�') || ( String.isNotBlank(odsc.Category4__c) && odsc.Category4__c=='鎴樼暐鍒涙柊鏈儴')){
+                     zz = '绠$悊';
+                }else if( String.isNotBlank(odsc.Category4__c) && odsc.Category4__c=='Solution鏈儴'){
+                     zz = '甯傚満';
+                }else if(String.isNotBlank(odsc.Category4__c)){
+                    if(null!=Job_CategoryMap && Job_CategoryMap.containsKey(bbz)){
+                       if(Job_CategoryMap.get(bbz) == '鏈嶅姟'){
+                         zz = '閿�鍞湇鍔�';
+                       }else if(Job_CategoryMap.get(bbz) == '鎺ㄥ箍'){
+                         zz = '閿�鍞帹骞�';
+                       }else{
+                         zz = Job_CategoryMap.get(bbz);
+                       }   
+                    }
+                    if(null!=Job_CategoryMap && Job_CategoryMap.containsKey(ldbb)){
+                       if(Job_CategoryMap.get(ldbb) == '鏈嶅姟'){
+                         zz = '閿�鍞湇鍔�';
+                       }else if(Job_CategoryMap.get(ldbb) == '鎺ㄥ箍'){
+                         zz = '閿�鍞帹骞�';
+                       }else{
+                         zz = Job_CategoryMap.get(ldbb);
+                       }  
+                    } 
+                    
+                  }else if(String.isBlank(odsc.Category4__c) && String.isNotBlank(odsc.Category5__c)){
+                    //鏈儴绛変簬绌猴紝鐪嬮儴 LLIU-CKE3UG 澧炲姞鏄犲皠鍏崇郴
+                    if(odsc.Category5__c=='鍗庡寳涓滃寳杩愯惀绠$悊閮�' || odsc.Category5__c=='瑗垮寳瑗垮崡杩愯惀绠$悊閮�' || odsc.Category5__c=='瑗垮寳瑗垮崡杩愯惀鏀彺閮�' || bbz1=='鍗庡寳涓滃寳鏈嶅姟閮�-缁煎悎琛屾斂' || bbz1=='鍗庡寳涓滃寳甯傚満閮�-缁煎悎琛屾斂'){
+                      zz = '鏀彺'; 
+                    }else if(bbz1=='鍗庡寳涓滃寳鏈嶅姟閮�-FSE'){
+                      zz = '閿�鍞湇鍔�';
+                    }else if(odsc.Category5__c=='瑗块儴鎴樼暐鎺ㄨ繘閮�' || bbz1=='鍗庡寳涓滃寳甯傚満閮�-鎺ㄥ箍'){
+                      zz = '閿�鍞帹骞�';
+                    }
+                  }
+                  userData.Job_Category__c = zz;
+
+                // 20220721 you LLIU-CGH8EY end
                 userData.Null_Update__c = odsc.Null_Update__c;
                 userData.Product_specialist_incharge_product__c = odsc.Product_specialist_incharge_product__c;//璐熻矗浜у搧锛堜富锛�
                 userData.Sales_Speciality__c = odsc.Sales_Speciality__c;//閿�鍞伐浣滃唴瀹�
@@ -4463,6 +4671,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
         ];
     }
@@ -5172,12 +5381,7 @@
                                         Discount_Amount_F__c,
                                         Discount_Amount_Calculate_F__c,
                                         BidAnnounce__c,
-                                        Quote_No_last2__c,
-                                        // 2022-03-21 SWAG-CBX5NN start
-                                        multiYearWarranty__c,
-                                        MultiYearWarrantyTotalPrice__c 
-                                        // 2022-03-21 SWAG-CBX5NN end
-
+                                        Quote_No_last2__c
                                     FROM
                                         Quote
                                     WHERE 
@@ -5495,7 +5699,7 @@
             //20210826 mzy SWAG-C5S46P start
             //鏀逛负鐢� 鍙戣揣瀹屾瘯鏃� 鍒ゆ柇 涓� 灏� 2012骞村垱寤虹殑涓旇浠风姸鎬佹槸鍙戣揣/瀹屾瘯鐨勬暟鎹帓闄�
             //queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+temptoday+' and Shipping_Finished_Day__c <= '+tempLastDate+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31';
-            queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31';
+            queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31';
             //20210826 mzy SWAG-C5S46P end
             // 20200616 CHAN-BQM8LU vivek end
         }
@@ -5514,7 +5718,7 @@
             //20210826 mzy SWAG-C5S46P start
             //鏀逛负鐢� 鍙戣揣瀹屾瘯鏃� 鍒ゆ柇 涓� 灏� 2012骞村垱寤虹殑涓旇浠风姸鎬佹槸鍙戣揣/瀹屾瘯鐨勬暟鎹帓闄�
             //queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+temptoday+' and Shipping_Finished_Day__c <= '+tempLastDate+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31';
-            queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31';
+            queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'寮曞悎\',\'娉ㄦ畫\') or ( StageName = \'鍑鸿嵎\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31';
             //20210826 mzy SWAG-C5S46P end
             // 20191126 SWAG-BJA6JK LHJ End
             // 20200616 CHAN-BQM8LU vivek end
@@ -5583,4 +5787,53 @@
     public static void lostOrder(Lost_Report__c lostData) {
         upsert lostData;
     }
+
+    // FY23淇敼 WLIG-CFV4AV 閲嶇偣浜у搧缁存姢锛堟柊锛塻tart
+    public static String getKeyByProduct(String keyword) {
+        if (String.isBlank(keyword)) {
+            return null;
+        }
+        String KeyProductMapping = System.Label.Key_Product_Mapping;
+        Map<String, Object> mapping = (Map<String, Object>) JSON.deserializeUntyped(KeyProductMapping);
+        System.debug('==Mapping is: ' + mapping);
+        
+        return mapping.get(keyword) != null ? String.valueOf(mapping.get(keyword)) : null;
+    }
+    // FY23淇敼 WLIG-CFV4AV 閲嶇偣浜у搧缁存姢锛堟柊锛塭nd
+
+    // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm start
+    // Json瑙f瀽
+    public static String getValueFromJSONString(String jsonstring, String key) {
+        if (String.isNotBlank(jsonstring)) {
+            Map<String, Object> mapping = (Map<String, Object>) JSON.deserializeUntyped(jsonstring);
+            return mapping.get(key) != null ? String.valueOf(mapping.get(key)) : mapping.get('Default') != null ? String.valueOf(mapping.get('Default')) : null;
+        }
+        return null;
+    }
+    // DB202303051651 浜у搧鎶ヤ环閲戦鑷姩璁$畻 ssm end
+
+    //20221021  lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 start
+    public static void UpdateBiddingFlag(List<String> oppId){
+        List<Tender_Opportunity_Link__c> links = [SELECT Id, Tender_information__c, Tender_information__r.IsReactionOpp__c, Opportunity__c 
+                                                  FROM Tender_Opportunity_Link__c 
+                                                  WHERE Opportunity__c in :oppId ];
+
+        Map<String,Tender_information__c> tenderMap = new Map<String,Tender_information__c>();
+
+        for (Tender_Opportunity_Link__c link : links){
+        
+            Tender_information__c temptender = new Tender_information__c();
+            temptender.Id = link.Tender_information__c;
+            temptender.IsReactionOpp__c = true;
+            tenderMap.put(temptender.id ,temptender); 
+        
+        }
+
+        if(tenderMap.size()>0){
+            update tenderMap.values();
+        }
+                    
+    }
+    //20221021  lt SWAG-CHL5XA銆怓Y23璇环鏀瑰杽銆�-缁熻涓绘満鍙版暟 end
+   
 }
\ No newline at end of file

--
Gitblit v1.9.1