| | |
| | | //医療従事者の診療科(兼務先)を変更の場合、戦略科室・病院も修正 |
| | | trigger ContactHpDeptUpd on Contact (before insert, before update) { |
| | | if((!Test.isRunningTest())&&UserInfo.getUserId()==System.Label.ByPassTrigger){ |
| | | return; |
| | | } |
| | | 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+'科室,请修改,或者勾选“不是重复的客户名”后,再次点击保存'); |
| | | } 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+'医院,请修改,或者勾选“不是重复的客户名”后,再次点击保存'); |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |