|  |  | 
 |  |  |     List<String> accIds = new List<String>(); | 
 |  |  |     List<String> FirstNameList = new List<String>(); | 
 |  |  |     List<String> LastnameList = new List<String>(); | 
 |  |  |     List<String> LastnameEncryptedList = new List<String>(); | 
 |  |  |     List<id> Hospital_id_list = new List<id>(); | 
 |  |  |     List<id> ACCOUNT_id_list = new List<id>(); | 
 |  |  |     Map<String,Contact> mapCon = new Map<String,Contact>(); | 
 |  |  | //***************************************INSERT 2016-12-14 By ZDF START************************************* | 
 |  |  | //          增加“新增客户人员入例规则” | 
 |  |  | //***************************************INSERT 2016-12-14 By ZDF START************************************* | 
 |  |  | //2022-02-10    PI改造,用LastName_Encrypted__c替代原有的Name作为mapCon映射的键 | 
 |  |  |     for(Contact a : Trigger.new) { | 
 |  |  |         if (Trigger.isInsert | 
 |  |  |                 || (Trigger.isUpdate | 
 |  |  | 
 |  |  |         if(Trigger.isInsert&&a.Ignore_Same_Name__c==false){ | 
 |  |  |             FirstNameList.add(a.firstname); | 
 |  |  |             LastnameList.add(a.Lastname); | 
 |  |  |             LastnameEncryptedList.add(a.LastName_Encrypted__c); | 
 |  |  |             ACCOUNT_id_list.add(a.Accountid); | 
 |  |  |             mapCon.put((a.firstname+a.Lastname),a); | 
 |  |  |             mapCon.put(a.LastName_Encrypted__c,a); | 
 |  |  |             system.debug('========1111111'); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  | 
 |  |  |                                         from  | 
 |  |  |                                                 Contact  | 
 |  |  |                                         where    | 
 |  |  |                                                 firstname  in:FirstNameList | 
 |  |  |                                         and | 
 |  |  |                                                 Lastname   in:LastnameList | 
 |  |  |                                         //         firstname  in:FirstNameList | 
 |  |  |                                         // and | 
 |  |  |                                         //         Lastname   in:LastnameList | 
 |  |  |                                         LastName_Encrypted__c in : LastnameEncryptedList | 
 |  |  |                                         and      | 
 |  |  |                                             (    | 
 |  |  |                                                 Account.Parent.Parentid  in:Hospital_id_list | 
 |  |  | 
 |  |  |                                 ]; | 
 |  |  |         system.debug('========1212121212'+FirstNameList); | 
 |  |  |         system.debug('========1212121212'+LastnameList); | 
 |  |  |         system.debug('========1212121212'+LastnameEncryptedList); | 
 |  |  |         system.debug('========1212121212'+Hospital_id_list); | 
 |  |  |         if(CntingList.size()>0){ | 
 |  |  |             system.debug('========2222222'+CntingList.size()); | 
 |  |  |             Contact Cnting = CntingList[0]; | 
 |  |  |             for(Contact a : Trigger.new) { | 
 |  |  |                 system.debug('========3333333'); | 
 |  |  |                 if(mapCon.containsKey(a.firstname+a.Lastname)){ | 
 |  |  |                 system.debug('========333333'); | 
 |  |  |                 if( Cnting.Account.Parent.Parent.Name   !=  null    ){ | 
 |  |  |                         a.addError('该客户人员名字已存在,在'+Cnting.Account.Parent.Parent.Name+'医院下属 '+Cnting.Account.Parent.Name+'战略科室的 '+Cnting.Account.Name+'科室,请修改,或者勾选“不是重复的客户名”后,再次点击保存'+Cnting); | 
 |  |  |                     }   else if (   Cnting.Account.Parent.Name  !=null  ){ | 
 |  |  |                         a.addError('该客户人员名字已存在,在'+Cnting.Account.Parent.Name+'医院的 '+Cnting.Account.Name+' 战略科室下,请修改,或者勾选“不是重复的客户名”后,再次点击保存'+Cnting); | 
 |  |  |                     }   else if (   Cnting.Account.Name !=  null    ){ | 
 |  |  |                         a.addError('该客户人员名字已存在,在'+Cnting.Account.Name+'医院,请修改,或者勾选“不是重复的客户名”后,再次点击保存'+Cnting);  | 
 |  |  |                 if(mapCon.containsKey(a.LastName_Encrypted__c)){ | 
 |  |  |                     //For PIPL testing by Li Jun 20220308 Start | 
 |  |  |                     // system.debug('========333333'); | 
 |  |  |                     // if( Cnting.Account.Parent.Parent.Name   !=  null    ){ | 
 |  |  |                     //         a.addError('该客户人员名字已存在,在'+Cnting.Account.Parent.Parent.Name+'医院下属 '+Cnting.Account.Parent.Name+'战略科室的 '+Cnting.Account.Name+'科室,请修改,或者勾选“不是重复的客户名”后,再次点击保存'); | 
 |  |  |                     //     }   else if (   Cnting.Account.Parent.Name  !=null  ){ | 
 |  |  |                     //         a.addError('该客户人员名字已存在,在'+Cnting.Account.Parent.Name+'医院的 '+Cnting.Account.Name+' 战略科室下,请修改,或者勾选“不是重复的客户名”后,再次点击保存'); | 
 |  |  |                     //     }   else if (   Cnting.Account.Name !=  null    ){ | 
 |  |  |                     //         a.addError('该客户人员名字已存在,在'+Cnting.Account.Name+'医院,请修改,或者勾选“不是重复的客户名”后,再次点击保存');  | 
 |  |  |                     //     } | 
 |  |  |                     //For PIPL testing by Li Jun 20220308 End | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }    | 
 |  |  |         } | 
 |  |  |     } |