From 3aaf6c0574e376b15ca88650460256e078ad16bd Mon Sep 17 00:00:00 2001
From: liuyan <liuyan@prec-tech.com>
Date: 星期四, 17 十一月 2022 16:09:17 +0800
Subject: [PATCH] 624向SPO推科室

---
 force-app/main/default/classes/NFM001Controller.cls |   11 ++-
 force-app/main/default/classes/NFM624RestAbout.cls  |   43 ++++++++++----
 force-app/main/default/classes/NFM624Rest.cls       |   75 +++++++++++++++++++++----
 force-app/main/default/classes/NFM201Controller.cls |   27 +++++++-
 force-app/main/default/triggers/NFM001.trigger      |   21 +++++-
 5 files changed, 141 insertions(+), 36 deletions(-)

diff --git a/force-app/main/default/classes/NFM001Controller.cls b/force-app/main/default/classes/NFM001Controller.cls
index 996d589..caed6a3 100644
--- a/force-app/main/default/classes/NFM001Controller.cls
+++ b/force-app/main/default/classes/NFM001Controller.cls
@@ -344,9 +344,14 @@
                 // 銈ㄣ儵銉笺亴鐧虹敓銇椼仧鍫村悎
                 System.debug(Logginglevel.ERROR, 'NFM001_' + iflog.Name + ':' + ex.getMessage());
                 System.debug(Logginglevel.ERROR, 'NFM001_' + iflog.Name + ':' + ex.getStackTraceString());
-                logstr += ex.getMessage();
-                iflog.ErrorLog__c += ex.getMessage() + '\n';
-                iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
+                //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY start
+                // Callout from triggers are currently not supported.
+                if (!String.valueOf(ex.getMessage()).contains('Callout from triggers')) {
+                    logstr += ex.getMessage();
+                    iflog.ErrorLog__c += ex.getMessage() + '\n';
+                    iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
+                }
+                //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY end
 
                 //---Gaozw---add
                 if (rowData.retry_cnt__c == null) rowData.retry_cnt__c = 0;
diff --git a/force-app/main/default/classes/NFM201Controller.cls b/force-app/main/default/classes/NFM201Controller.cls
index 8ea3bea..32b3b47 100644
--- a/force-app/main/default/classes/NFM201Controller.cls
+++ b/force-app/main/default/classes/NFM201Controller.cls
@@ -44,7 +44,12 @@
      * @param needSendRectMap    閫佷俊瀵捐薄銇儸銈炽兗銉夈偪銈ゃ儣銇甿ap
      */
     @future (callout=true)
+    //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY start
     public static void callout(String iflog_Id, List<String> accIds, Map<String, String> purposeOfAdviceMap, Map<String, String> needSendRectMap, Map<String, String> needQuolifiedMap) {
+        calloutNotFuture(iflog_Id,accIds,purposeOfAdviceMap,needSendRectMap,needQuolifiedMap);
+    }
+    //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY end
+    public static void calloutNotFuture(String iflog_Id, List<String> accIds, Map<String, String> purposeOfAdviceMap, Map<String, String> needSendRectMap, Map<String, String> needQuolifiedMap) {
         if (accIds == null || accIds.size() == 0) {
             return;
         }
@@ -187,7 +192,13 @@
                     endUser.PurposeOfAdvice       = purposeOfAdviceMap.get(acc.Id);
                     endUser.SectionCategory       = NFMUtil.getMapValue(transferMap, 'Department_Class_Label__c', acc.Department_Class__r.Department_Class_Label__c, iflog);
                     //endUser.SectionName           = acc.Department_Name__c;
-                    endUser.SectionName           = acc.name;
+                    //NFM624瑙﹀彂001鍜�201鎺ュ彛 LY 20221109 start
+                    if(UserInfo.getUserId().equals(System.Label.interfaceUserID)){
+                        endUser.SectionName           = acc.Hospital__r.Name+' '+acc.Department_Class__r.Department_Class_Label__c+' '+acc.Department_Name__c;
+                    }else{
+                        endUser.SectionName           = acc.name;
+                    }
+                    //NFM624瑙﹀彂001鍜�201鎺ュ彛 LY 20221109 end
                     endUser.SectionCode           = acc.Management_Code__c;
                     //endUser.NeedQuolified         = acc.Hospital__r.If_Need_Quolified__c;
                     endUser.NeedQuolified         = false;
@@ -277,9 +288,17 @@
             // 銈ㄣ儵銉笺亴鐧虹敓銇椼仧鍫村悎
             System.debug(Logginglevel.ERROR, 'NFM201_' + iflog.Name + ':' + ex.getMessage());
             System.debug(Logginglevel.ERROR, 'NFM201_' + iflog.Name + ':' + ex.getStackTraceString());
-            logstr += ex.getMessage();
-            iflog.ErrorLog__c += ex.getMessage() + '\n';
-            iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
+
+            //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY start
+            // Callout from triggers are currently not supported.
+            System.debug('NFM201jiekou'+ex.getMessage());
+            if (!String.valueOf(ex.getMessage()).contains('Callout from triggers')) {
+
+                logstr += ex.getMessage();
+                iflog.ErrorLog__c += ex.getMessage() + '\n';
+                iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
+            }
+            //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY end
 
             if (rowData.retry_cnt__c == null) rowData.retry_cnt__c = 0;
             if (rowData.retry_cnt__c < batch_retry_max_cnt) {
diff --git a/force-app/main/default/classes/NFM624Rest.cls b/force-app/main/default/classes/NFM624Rest.cls
index 6af9655..b279b76 100644
--- a/force-app/main/default/classes/NFM624Rest.cls
+++ b/force-app/main/default/classes/NFM624Rest.cls
@@ -50,6 +50,10 @@
         public Boolean AgentFlag; //缁忛攢鍟嗘爣璇�
         public String ApproverID; //瀹℃牳浜哄憳鍛樺伐缂栫爜
         public String DataId;//aws瀛樺偍鍑嵁
+        //閭欢624鎺ュ彛鏂板瀛楁闇�姹� 20220706 LY Start
+        public String ApproveDate;                 //鏅烘収鍖荤枟棣栨璁よ瘉閫氳繃鏃堕棿
+        //閭欢624鎺ュ彛鏂板瀛楁闇�姹� 20220706 LY End
+
     }
  
     @HttpPost
@@ -234,10 +238,11 @@
                                                       // 閫氳繃濮撳悕+鎵嬫満鍙峰垽鏂汉鍛樻槸鍚﹂噸澶� thh 20220518 start
                                                       MobilePhone_Encrypted__c
                                                       // 閫氳繃濮撳悕+鎵嬫満鍙峰垽鏂汉鍛樻槸鍚﹂噸澶� thh 20220518 end
+                                                      ,Account.Department_Class__r.Name
                                                       from Contact 
                                                       where CManageCode__c IN: PersonManagementCodeList 
-                                                      OR (Account.Parent_PlatformCode__c IN: ManagementList AND LastName_Encrypted__c IN:NameList)
-                                                      OR (Account.Parent_Management_Code__c IN: SFDCCodeList AND LastName_Encrypted__c IN:NameList )
+                                                      OR (Account.Parent_PlatformCode__c IN: ManagementList AND LastName_Encrypted__c IN:NameList AND UnifiedI_Contact_ID__c = null)
+                                                      OR (Account.Parent_Management_Code__c IN: SFDCCodeList AND LastName_Encrypted__c IN:NameList AND UnifiedI_Contact_ID__c = null)                                                     
                                                       ORDER BY  MobilePhone ASC,CManageCode__c ASC]; //鏍规嵁浜哄憳绠$悊缂栫爜妫�绱㈣仈绯讳汉
                 Map < String, Contact > peopleMap = new Map < String, Contact > (); //鑱旂郴浜�
                 system.debug('peopleList  '+peopleList);
@@ -246,12 +251,15 @@
                         Map < String, Contact > snameMap = new Map < String, Contact > ();
                         string namekey;
                         string nameKey2;
+                        string nameKey3;
                         if(String.isBlank(ct.MobilePhone_Encrypted__c)){
                            namekey = ct.Account.Name + ' ' + ct.LastName_Encrypted__c.trim();
                            nameKey2 = ct.Account.Management_Code__c + ' ' + ct.LastName_Encrypted__c.trim();
+                           nameKey3 = ct.Account.Department_Class__r.Name + ' ' + ct.LastName_Encrypted__c.trim();
                         } else{
                            namekey = ct.Account.Name + ' ' + ct.LastName_Encrypted__c.trim() + ' ' + ct.MobilePhone_Encrypted__c.trim();
                            nameKey2 = ct.Account.Management_Code__c + ' ' + ct.LastName_Encrypted__c.trim() + ' ' + ct.MobilePhone_Encrypted__c.trim();
+                           nameKey3 = ct.Account.Department_Class__r.Name + ' ' + ct.LastName_Encrypted__c.trim() + ' ' + ct.MobilePhone_Encrypted__c.trim();
                         }
                         // snameMap.put(namekey,ct);
                         if (nameMap.containsKey(ct.Account.parent.Name)) {
@@ -259,6 +267,7 @@
                         }
                         snameMap.put(namekey, ct);
                         snameMap.put(nameKey2,ct);
+                        snameMap.put(nameKey3,ct);
                         // // 閫氳繃濮撳悕+鎵嬫満鍙峰垽鏂汉鍛樻槸鍚﹂噸澶� thh 20220518 start
                         // if(String.isBlank(ct.MobilePhone_Encrypted__c)){
                         //     snameMap.put(ct.LastName_Encrypted__c.trim(), ct);
@@ -311,6 +320,7 @@
                 List < Account > upsertAccountList = new List < Account > ();
                 //鑱旂郴浜篖ist锛堟洿鏂扮敤锛� 
                 List < Contact > upsertContactList = new List < Contact > ();
+                List < Contact > upsertContactList1 = new List < Contact > ();
  
                 for (Gedata gedata: newGeDataList) {
                     logstr += gedata.Name;
@@ -345,12 +355,20 @@
                         ct.Contact_address__c = gedata.ContactAddress;//鑱旂郴鍦板潃
                         ct.Contact_address_Encrypted__c=gedata.ContactAddressEncrypted;//鑱旂郴鍦板潃瀵嗘枃 add 20220215
                         ct.Platform_disabled_representation__c = gedata.ForbiddenStatus;//骞冲彴绂佺敤鏍囪瘑
+                        //LLIU-CFF7DD 銆愬鎵樸�戝鎴蜂汉鍛樹俊鎭湁鏁�/鏃犳晥涓衡�滅┖鈥濈殑澶勭悊 LY 20220616 strat
+                        if (gedata.ForbiddenStatus == false) {
+                            ct.Isactive__c =  '鏈夋晥';
+                        }
+                        //LLIU-CFF7DD 銆愬鎵樸�戝鎴蜂汉鍛樹俊鎭湁鏁�/鏃犳晥涓衡�滅┖鈥濈殑澶勭悊 LY 20220616 end
                         //ct.IsFromPlatform__c = true; //鏉ヨ嚜鏅烘収鍖荤枟鍒涘缓
                         ct.Ignore_Same_Name__c = true; //涓嶆槸閲嶅鐨勫鎴峰悕 
                         //ct.SendToComPlat__c = true;
                         ct.AWS_Data_Id__c =gedata.DataId;//add 20220215 aws瀛樺偍鍑瘉
                         ct.MobilePhone_Encrypted__c =gedata.MobileEncrypted;//add 20220215 鎵嬫満瀵嗘枃
                         ct.LastName_Encrypted__c =gedata.NameEncrypted;//add 20220215 濮撳悕瀵嗘枃
+                        //閭欢624鎺ュ彛鏂板瀛楁闇�姹� 20220706 LY Start
+                        ct.ApproveDate__c =NFMUtil.parseDateTimeStr2Date(gedata.ApproveDate);                //鏅烘収鍖荤枟棣栨璁よ瘉閫氳繃鏃堕棿
+                        //閭欢624鎺ュ彛鏂板瀛楁闇�姹� 20220706 LY End
                     }
                     
  
@@ -362,7 +380,7 @@
                         //鏇存柊缁忛攢鍟嗚仈绯讳汉
                         if (!peopleMap.containsKey(personCode)) {
                             rowData.Is_Error__c = 1;
-                            logstr += 'error:浜哄憳绠$悊缂栫爜 [PersonManagementCode] 瀵瑰簲鐨勮仈绯讳汉涓嶅瓨鍦紝姝ゆ潯鏁版嵁璺宠繃';
+                            logstr += 'error:浜哄憳绠$悊缂栫爜'+personCode+'瀵瑰簲鐨勮仈绯讳汉涓嶅瓨鍦紝璇风‘璁ゃ��';
                             continue;
                         }
                         ct.id = peopleMap.get(personCode).id;
@@ -383,6 +401,9 @@
                                 string DepartmentCode = string.isNotBlank(gedata.RelatedDepartment) ? gedata.RelatedDepartment : gedata.DepartmentManagementCode2;
                                 string DepartmentClasskey = gedata.AccountName + ' ' + gedata.DepartmentClass;
                                 system.debug('DepartmentClasskey------->'+DepartmentClasskey);
+                                system.debug('DepartmentCode------->'+DepartmentCode);
+                                system.debug('AccountMap------->'+AccountMap);
+                                system.debug('AccountMap.containsKey(DepartmentCode)------->'+AccountMap.containsKey(DepartmentCode));
                                 //绉戝瀛樺湪
                                 if (AccountMap.containsKey(DepartmentCode)) {
                                     //浜哄憳绠$悊缂栫爜瀛樺湪
@@ -399,7 +420,7 @@
                                         } else { //鑱旂郴浜轰笉瀛樺湪 2 瀹屾垚
                                             system.debug('2閫昏緫 鏈夊尰闄� 鏈夌瀹� 鏈変汉鍛樼鐞嗙紪鐮佷絾鏌ユ壘鏃犳浜� 鍔ㄤ綔锛氭姤閿�');
                                             rowData.Is_Error__c = 1;
-                                            logstr += 'error:浜哄憳绠$悊缂栫爜 [PersonManagementCode] 瀵瑰簲鐨勮仈绯讳汉涓嶅瓨鍦紝姝ゆ潯鏁版嵁璺宠繃';
+                                            logstr += 'error:浜哄憳绠$悊缂栫爜'+personCode+'瀵瑰簲鐨勮仈绯讳汉涓嶅瓨鍦紝璇风‘璁ゃ��';
                                             continue;
                                         }
                                     } else { //浜哄憳绠$悊缂栫爜涓嶅瓨鍦�
@@ -451,27 +472,36 @@
                                         } else { //浜哄憳绠$悊缂栫爜鏌ユ壘鏃犲�� 4 瀹屾垚
                                             system.debug('4閫昏緫');
                                             rowData.Is_Error__c = 1;
-                                            logstr += 'error:浜哄憳绠$悊缂栫爜 [PersonManagementCode] 瀵瑰簲鐨勮仈绯讳汉涓嶅瓨鍦紝姝ゆ潯鏁版嵁璺宠繃';
+                                            logstr += 'error:浜哄憳绠$悊缂栫爜'+personCode+'瀵瑰簲鐨勮仈绯讳汉涓嶅瓨鍦紝璇风‘璁ゃ��';
                                             continue;
                                         }
                                     } else { //浜哄憳绠$悊缂栫爜涓嶅瓨鍦�
                                         system.debug('浜哄憳绠$悊缂栫爜涓嶅瓨鍦�');
-                                        string namekey = gedata.DepartmentName + ' ' + gedata.NameEncrypted + ' ' + gedata.MobileEncrypted;
+                                        //string namekey = gedata.DepartmentName + ' ' + gedata.NameEncrypted + ' ' + gedata.MobileEncrypted;
+                                        string namekey = DepartmentClasskey + ' ' + gedata.NameEncrypted;
+                                        //string namekey = gedata.DepartmentName + ' ' + gedata.NameEncrypted;
+                                        //string namekey = '8103587' + ' ' + gedata.NameEncrypted;
                                         //string namekey = gedata.AccountName + ' ' + gedata.DepartmentName + ' ' + gedata.DepartmentClass + ' ' + gedata.Name;
                                         system.debug('DepartmentClasskey'+DepartmentClasskey);
                                         system.debug('351nameMap     '+nameMap);
+                                        system.debug('nameMap.get(DepartmentClasskey)'+nameMap.get(DepartmentClasskey));
                                         if (nameMap.containsKey(DepartmentClasskey)) { //鏌ユ壘鏄惁瀛樺湪璇ユ垬鐣ョ瀹� 
                                             System.debug('浜哄憳绠$悊缂栫爜涓嶅瓨鍦ㄧ殑鎯呭喌涓嬫垬鐣ョ瀹ゅ瓨鍦�');
                                             system.debug('鎴樼暐绉戝瀛樺湪' + nameMap.get(DepartmentClasskey));
                                             Map < String, Contact > sMap = nameMap.get(DepartmentClasskey);
                                             system.debug('namekey'+namekey);
-                                            system.debug('sMap.containsKey(namekey)'+sMap.containsKey(namekey));
+                                            system.debug('sMap.keySet'+sMap.keySet());
+                                            system.debug('sMap.containsKey(namekey)'+sMap.get(namekey));
+                                            //system.debug('sMap.containsKey(namekey)8103587 '+sMap.get('8103587 '+gedata.NameEncrypted));
+                                            //system.debug('sMap.containsKey(namekey)鍖椾含澶у绗笁鍖婚櫌 鏅绉� 鎵嬪姩鍒涘缓绉戝4'+sMap.get('鍖椾含澶у绗笁鍖婚櫌 鏅绉� 鎵嬪姩鍒涘缓绉戝4 '+gedata.NameEncrypted));
+                                            //if (sMap.containsKey(namekey)) { //鏌ユ壘瀛樺湪 8 瀹屾垚
                                             if (sMap.containsKey(namekey)) { //鏌ユ壘瀛樺湪 8 瀹屾垚
                                                 system.debug('8閫昏緫');
                                                 system.debug('璇ヨ仈绯讳汉瀛樺湪');
                                                 ct.id = sMap.get(namekey).id;
                                                 //upsertAccountList.add(dpt);//鍙互娉ㄩ噴
                                                 upsertContactList.add(ct);
+                                                system.debug('list閲岀殑鑱旂郴浜轰俊鎭�'+upsertContactList);
                                                 // if(sMap.containsKey(gedata.Name)){
                                                 //     ct.Id = sMap.get(gedata.Name).Id;
                                                 // }
@@ -489,11 +519,22 @@
                                             contactMap.put(Gedata.DepartmentManagementCode2, ct);
                                             system.debug('contactMap        '  +  contactMap);
                                             //upsertContactList.add(ct);
+                                        }else{
+                                            system.debug('鍒涘缓鑱旂郴浜哄拰绉戝');
+                                            //system.debug('peopleList[0]'+peopleList[0]);
+                                            if (peopleList.size()>0) {
+                                                ct.id = peopleList[0].ID;
+                                            }
+                                            
+                                            // dpt.Department_Name__c = gedata.DepartmentName;
+                                            // upsertAccountList.add(dpt);
+                                            contactMap.put(Gedata.DepartmentManagementCode2, ct);
+                                            system.debug('122222222222222222222contactMap'+contactMap);
+
                                         }
-                                        system.debug('鍒涘缓鑱旂郴浜哄拰绉戝');
                                         dpt.Department_Name__c = gedata.DepartmentName;
                                         upsertAccountList.add(dpt);
-                                        contactMap.put(Gedata.DepartmentManagementCode2, ct);
+                                        
                                     }
                                 }
                             }else if('鏃犳晥'.equals(hospital.Is_Active_Formula__c)){
@@ -515,6 +556,9 @@
                             hp.OCM_Category__c = 'L';
                             hp.PlatformCode__c = gedata.HospitalManagementCode2;
                             hp.State_Master__c = StateMap.get(gedata.State); //  鐪�
+                            //Ly 鐪佹枃鏈祴鍊� start
+                            hp.State_Text__c = gedata.State; //  鐪�(鏂囨湰)
+                            //Ly 鐪佹枃鏈祴鍊� end
                             hp.City_Master__c = CityMap.get(gedata.City); //     甯�
                             hp.Hospital_Source__c = '鏅烘収鍖荤枟';
                             upsertAccountList.add(hp);
@@ -525,7 +569,9 @@
                     system.debug('upsertContactList      ' + upsertContactList);
                     system.debug('upsertAccountList      ' + upsertAccountList);
                     if (upsertAccountList.size() > 0) {
-                        ControllerUtil.EscapeNFM001Trigger = true;
+                        //鏀惧紑瑙﹀彂201鎺ュ彛鏉′欢 20221102 LY start 
+                        //ControllerUtil.EscapeNFM001Trigger = true;
+                        //鏀惧紑瑙﹀彂201鎺ュ彛鏉′欢 20221102 LY end
                         StaticParameter.EscapeNFM001AgencyContractTrigger2 = true;
                         system.debug('upsertAccountList                           ' + upsertAccountList);
                         upsert upsertAccountList;
@@ -540,14 +586,15 @@
                             system.debug('ContactMap'+ContactMap);
                             system.debug('ContactMap.containsKey(ac.PlatformCode__c)'+ContactMap.containsKey(ac.PlatformCode__c));
                             if(ContactMap.containsKey(ac.PlatformCode__c)){
+                                
                                 c = contactMap.get(ac.PlatformCode__c);
                                 if(string.isblank(c.Id)|| c.AccountId != ac.Id){
                                     c.Accountid = ac.id;
                                 }
                                 c.OwnerId = ac.OwnerId;
-                                upsertContactList.add(c);
+                                upsertContactList1.add(c);
                                 system.debug('OwnerId'+ac.OwnerId);
-                                system.debug('upsertContactList'+upsertContactList);
+                                system.debug('upsertContactList1'+upsertContactList1);
                             }
  
                             if(ac.RecordTypeId == '01210000000QemGAAS' && ac.Is_Active__c == '鑽夋涓�' && string.isNotBlank( OCSMMap.get(ac.OCM_man_province_HP__c))){
@@ -570,6 +617,10 @@
                         // Database.executeBatch(new NFM623RestBatch(), 1);
                         supplement(gedata.ContactId);
                     }
+                    if(upsertContactList1.size()>0){
+                        upsert upsertContactList1;
+
+                    }
                 }
             }
             rowData.retry_cnt__c = 0;
diff --git a/force-app/main/default/classes/NFM624RestAbout.cls b/force-app/main/default/classes/NFM624RestAbout.cls
index fed64f7..c8807d2 100644
--- a/force-app/main/default/classes/NFM624RestAbout.cls
+++ b/force-app/main/default/classes/NFM624RestAbout.cls
@@ -16,10 +16,10 @@
     global class GeDatas {
         public NFMUtil.Monitoring Monitoring;
         public GeData[] GeData;
-   	 }
-	global class GeData{
+      }
+  global class GeData{
 
-       	public String PersonManagementCode; //浜哄憳绠$悊缂栫爜 
+         public String PersonManagementCode; //浜哄憳绠$悊缂栫爜 
         public String HospitalManagementCode2; //鍖婚櫌骞冲彴缂栫爜  骞冲彴缂栫爜 PlatformCode__c
         public String DepartmentManagementCode2; //绉戝骞冲彴缂栫爜  骞冲彴缂栫爜 PlatformCode__c
         //public String Name; //濮撳悕
@@ -29,7 +29,7 @@
         public String DepartmentName; //鎵�灞炵瀹�
         public String RelatedDepartment; //鍏宠仈SFDC绉戝 瀹㈡埛绠$悊缂栫爜(鎵嬪啓) AgentCode_Ext__c
         //public Boolean AgentFlag; //缁忛攢鍟嗘爣璇�
-	    public String dataId;
+      public String dataId;
         public String AccountName; //鍖婚櫌鍚�
         public String MobileEncrypted; //鐢佃瘽瀵嗘枃 add 20220519 thh
     }
@@ -39,11 +39,11 @@
     global class Response {
         public List<ResponseDetail> ResponseDetails {get;set;}
     }
- 	
+   
     global class ResponseDetail{
-	    public String  dataId;
-	    public String  awsDataId; //=CONTACT.AWS_Data_Id__c
-	    public String  sfId;
+      public String  dataId;
+      public String  awsDataId; //=CONTACT.AWS_Data_Id__c
+      public String  sfId;
     }  
  
     @HttpPost
@@ -201,8 +201,8 @@
                                                        //AccountId 
                                                        from Contact 
                                                        where CManageCode__c IN: PersonManagementCodeList 
-                                                      OR (Account.Parent_PlatformCode__c IN: ManagementList AND LastName_Encrypted__c IN:NameList)
-                                                      OR (Account.Parent_Management_Code__c IN: SFDCCodeList AND LastName_Encrypted__c IN:NameList )
+                                                      OR (Account.Parent_PlatformCode__c IN: ManagementList AND LastName_Encrypted__c IN:NameList AND UnifiedI_Contact_ID__c = null)
+                                                      OR (Account.Parent_Management_Code__c IN: SFDCCodeList AND LastName_Encrypted__c IN:NameList AND UnifiedI_Contact_ID__c = null)
                                                       ORDER BY  MobilePhone ASC,CManageCode__c ASC]; //鏍规嵁浜哄憳绠$悊缂栫爜妫�绱㈣仈绯讳汉
                  Map < String, Contact > peopleMap = new Map < String, Contact > (); //鑱旂郴浜�
                  system.debug('peopleList  '+peopleList);
@@ -211,12 +211,15 @@
                          Map < String, Contact > snameMap = new Map < String, Contact > ();
                          string namekey;
                          string nameKey2;
+                         string nameKey3;
                          if(String.isBlank(ct.MobilePhone_Encrypted__c)){
                             namekey = ct.Account.Name + ' ' + ct.LastName_Encrypted__c.trim();
                             nameKey2 = ct.Account.Management_Code__c + ' ' + ct.LastName_Encrypted__c.trim();
+                            nameKey3 = ct.LastName_Encrypted__c.trim();
                          } else{
                             namekey = ct.Account.Name + ' ' + ct.LastName_Encrypted__c.trim() + ' ' + ct.MobilePhone_Encrypted__c.trim();
                             nameKey2 = ct.Account.Management_Code__c + ' ' + ct.LastName_Encrypted__c.trim() + ' ' + ct.MobilePhone_Encrypted__c.trim();
+                            nameKey3 = ct.LastName_Encrypted__c.trim() + ' ' + ct.MobilePhone_Encrypted__c.trim();
                          }
                          snameMap.put(namekey,ct);
                          if (nameMap.containsKey(ct.Account.parent.Name)) {
@@ -224,6 +227,7 @@
                          }
                          snameMap.put(nameKey2,ct); 
                          snameMap.put(namekey, ct);
+                         snameMap.put(namekey3, ct);
                          // // 閫氳繃濮撳悕+鎵嬫満鍙峰垽鏂汉鍛樻槸鍚﹂噸澶� thh 20220518 start
                          // System.System.debug('ct.MobilePhone_Encrypted__c1:' + ct.MobilePhone_Encrypted__c);
                          // if(String.isBlank(ct.MobilePhone_Encrypted__c)){
@@ -238,6 +242,7 @@
                      }
                      peopleMap.put(ct.CManageCode__c, ct);
                      System.debug('peopleMap'+peopleMap);
+                     System.debug('nameMap111'+nameMap);
                  }
                  for (Gedata gedata: newGeDataList) {
                      String personCode = gedata.PersonManagementCode;
@@ -263,6 +268,8 @@
                         //鏃犱汉鍛樼鐞嗙紪鐮�
                         string namekey = gedata.RelatedDepartment + ' ' + gedata.NameEncrypted + ' ' + gedata.MobileEncrypted;
                         string namekey1 = gedata.RelatedDepartment + ' ' + gedata.NameEncrypted;
+                        string namekey2 = gedata.NameEncrypted + ' ' + gedata.MobileEncrypted;
+                        string namekey3 = gedata.NameEncrypted;
                         system.debug('DepartmentClasskey     =    '+DepartmentClasskey);
                         system.debug('nameMap22222222    '+nameMap);
                         if (nameMap.containskey(DepartmentClasskey)) { 
@@ -280,9 +287,14 @@
                                 red.sfid = sMap.get(namekey1).id;
                                 
                             // // 閫氳繃濮撳悕+鎵嬫満鍙峰垽鏂汉鍛樻槸鍚﹂噸澶� thh 20220518 start
-                            // } else if(sMap.containsKey(gedata.NameEncrypted + gedata.MobileEncrypted) && sMap.get(gedata.NameEncrypted + gedata.MobileEncrypted).UnifiedI_Contact_ID__c == null){
-                                // red.awsDataId = sMap.get(gedata.NameEncrypted + gedata.MobileEncrypted).AWS_Data_Id__c;
-                                // red.sfid = sMap.get(gedata.NameEncrypted + gedata.MobileEncrypted).id;
+                            } else if(sMap.containsKey(namekey2) ){
+                                system.debug('鎴樼暐绉戝瀛樺湪绉戝涓虹┖鐢佃瘽鏈夊��');
+                                red.awsDataId = sMap.get(namekey2).AWS_Data_Id__c;
+                                red.sfid = sMap.get(namekey2).id;
+                            }else if(sMap.containsKey(namekey3)){
+                                system.debug('鎴樼暐绉戝瀛樺湪绉戝涓虹┖鐢佃瘽鏃犲��');
+                                red.awsDataId = sMap.get(namekey3).AWS_Data_Id__c;
+                                red.sfid = sMap.get(namekey3).id;
                             // // 閫氳繃濮撳悕+鎵嬫満鍙峰垽鏂汉鍛樻槸鍚﹂噸澶� thh 20220518 end
                             }else { // 7 瀹屾垚
                                 system.debug('鏍规嵁鍚嶅瓧鍖归厤涓嶅瓨鍦�');
@@ -294,6 +306,11 @@
                             responseList.ResponseDetails.add(red);
                             system.debug('responseList.ResponseDetails'+responseList.ResponseDetails);
                         }else{
+                            system.debug('鎴樼暐绉戝涓嶅瓨鍦�');
+                            if (peopleList.size()>0 && peopleList[0].MobilePhone_Encrypted__c ==null) {
+                                red.awsDataId =peopleList[0].AWS_Data_Id__c;
+                                red.sfid =peopleList[0].id;
+                            }
                             responseList.ResponseDetails.add(red);
                         }
                     }    
diff --git a/force-app/main/default/triggers/NFM001.trigger b/force-app/main/default/triggers/NFM001.trigger
index adc0438..c2de55e 100644
--- a/force-app/main/default/triggers/NFM001.trigger
+++ b/force-app/main/default/triggers/NFM001.trigger
@@ -159,7 +159,7 @@
                 }
             }
             // OCM_Category__c銇仱銇勩仸鐥呴櫌銇椼亱銇ゃ亱銇c仸銇亜銇熴倎銆佽ê鐧傜銈堛倞澶夋洿銇亗銈娿亪銇亜
-            if (Trigger.oldMap.get(a.Id).get('OCM_Category__c') != a.OCM_Category__c && needSendRectMap.get(a.RecordTypeId) == '鐥呴櫌' && isChanged == false) {
+            if (null!=a.OCSMField2__c||(Trigger.oldMap.get(a.Id).get('OCM_Category__c') != a.OCM_Category__c && needSendRectMap.get(a.RecordTypeId) == '鐥呴櫌' && isChanged == false)) {
                 isChanged = true;
                 NFM001Controller.debug_msg = 'OCM_Category__c';
                 needChild = true;
@@ -296,8 +296,14 @@
         insert iflog;
         iflog = [Select Id, Name from BatchIF_Log__c where Id = :iflog.Id];
         System.debug(Logginglevel.DEBUG, 'NFM001_' + iflog.Name + ' start');                  // callout 銇腑 end 銇甽og銈掑嚭銇椼伨銇�
-        NFM001Controller.callout(iflog.Id, accIds, purposeOfAdviceMap, needSendRectMap);
-        
+        //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY start 
+        //NFM001Controller.callout(iflog.Id, accIds, purposeOfAdviceMap, needSendRectMap);
+        if(UserInfo.getUserId().equals(System.Label.interfaceUserID)){
+            NFM001Controller.calloutNotFuture(iflog.Id, accIds, purposeOfAdviceMap, needSendRectMap);
+        } else {
+            NFM001Controller.callout(iflog.Id, accIds, purposeOfAdviceMap, needSendRectMap);
+        }
+        //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY end 
         // LHJ 鍚慡PO浼燦FM201 Start
         NFM201Controller.debug_msg = accIds.size() + ',' + NFM201Controller.debug_msg;
         BatchIF_Log__c iflog201 = new BatchIF_Log__c();
@@ -308,7 +314,14 @@
         System.debug(Logginglevel.DEBUG, 'NFM201_' + iflog201.Name + ' start');                  // callout 銇腑 end 銇甽og銈掑嚭銇椼伨銇�
         //NFM201Controller.callout(iflog201.Id, accIds, purposeOfAdviceMap, needSendRectMap);
         if(!System.Test.isRunningTest()){
-        NFM201Controller.callout(iflog201.Id, accIds, purposeOfAdviceMap, needSendRectMap, needQuolifiedMap);
+            //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY start
+            //NFM201Controller.callout(iflog201.Id, accIds, purposeOfAdviceMap, needSendRectMap, needQuolifiedMap);
+            if(UserInfo.getUserId().equals(System.Label.interfaceUserID)){
+                NFM201Controller.calloutNotFuture(iflog201.Id, accIds, purposeOfAdviceMap, needSendRectMap, needQuolifiedMap);
+            } else {
+                NFM201Controller.callout(iflog201.Id, accIds, purposeOfAdviceMap, needSendRectMap, needQuolifiedMap);
+            }
+            //NFM624瑙﹀彂001鍜�201鎺ュ彛 20221102 LY end
         }
         // LHJ End
         //NFM201Controller.debug_msg = accIds.size() + ',' + NFM201Controller.debug_msg;

--
Gitblit v1.9.1