高章伟
2023-03-02 e3c02c03dd2de442bbced87236f60a13a1cd154e
force-app/main/default/classes/NFM624RestAbout.cls
@@ -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)) { 
@@ -271,7 +278,7 @@
                             System.debug('sMap'+sMap);
                             System.debug('sMap.containsKey(namekey)'+sMap.containsKey(namekey));
                             System.debug('Namekey'+namekey);
                             if (sMap.containsKey(namekey)) {
                             if (sMap.containsKey(namekey) && sMap.get(namekey).UnifiedI_Contact_ID__c == null) {
                                system.debug('根据名字匹配存在');
                                red.awsDataId = sMap.get(namekey).AWS_Data_Id__c;
                                red.sfid = sMap.get(namekey).id;
@@ -280,23 +287,42 @@
                                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) && sMap.get(namekey2).UnifiedI_Contact_ID__c == null){
                                system.debug('战略科室存在科室为空电话有值');
                                red.awsDataId = sMap.get(namekey2).AWS_Data_Id__c;
                                red.sfid = sMap.get(namekey2).id;
                            }else if(sMap.containsKey(namekey3) && sMap.get(namekey3).UnifiedI_Contact_ID__c == null){
                                system.debug('战略科室存在科室为空电话无值');
                                red.awsDataId = sMap.get(namekey3).AWS_Data_Id__c;
                                red.sfid = sMap.get(namekey3).id;
                            // // 通过姓名+手机号判断人员是否重复 thh 20220518 end
                            }else { // 7 完成
                                system.debug('根据名字匹配不存在');
                                //red.dataID = gedata.dataID;
                                //red.awsDataId = null;
                                //red.sfid = null;
                                for ( Integer i = 0; i < peopleList.size(); i++) {
                                    if (peopleList[i].Account.parent.Name !=DepartmentClasskey && peopleList[i].MobilePhone_Encrypted__c ==null) {
                                        red.awsDataId =peopleList[i].AWS_Data_Id__c;
                                        red.sfid =peopleList[i].id;
                                    }
                                }
                            }
                            system.debug('red----------->'+red);
                            responseList.ResponseDetails.add(red);
                            //responseList.ResponseDetails.add(red);
                            system.debug('responseList.ResponseDetails'+responseList.ResponseDetails);
                        }else{
                            responseList.ResponseDetails.add(red);
                            system.debug('战略科室不存在');
                            for ( Integer i = 0; i < peopleList.size(); i++) {
                                if (peopleList[i].MobilePhone_Encrypted__c ==null) {
                                    red.awsDataId =peopleList[i].AWS_Data_Id__c;
                                    red.sfid =peopleList[i].id;
                        }
                    }    
                            //responseList.ResponseDetails.add(red);
                        }
                        responseList.ResponseDetails.add(red);
                    }
                }
            }
            rowData.retry_cnt__c = 0;