| | |
| | | trigger LeadTrigger on Lead (before insert, before update) { |
| | | |
| | | if((!Test.isRunningTest())&&UserInfo.getUserId()==System.Label.ByPassTrigger){ |
| | | return; |
| | | } |
| | | if ( StaticParameter.EscapeLeadTrigger == true) { |
| | | System.debug( '-----:リードのトリガー動きません'); |
| | | return; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | // OBSAP 设置SI担当 2022-05-09 ssm start |
| | | List<String> owner_ids = new List<String>(); |
| | | for (Lead targetLead : Trigger.New) { |
| | | owner_ids.add(targetLead.OwnerId); |
| | | } |
| | | List<User> owners = [select Id, ProfileId, State_Hospital__c, Salesdepartment_text__c from User where Id in :owner_ids]; |
| | | Map<String, User> owner_map = new Map<String, User>(); |
| | | for (User owner : owners) { |
| | | owner_map.put(owner.Id, owner); |
| | | } |
| | | for (Lead targetLead : Trigger.New) { |
| | | if (targetLead.SI_PromoteInquiry__c) { |
| | | User owner = owner_map.get(targetLead.OwnerId); |
| | | switch on owner.Salesdepartment_text__c { |
| | | when '1.华北' { |
| | | targetLead.SI_OppoLeadSec__c = System.Label.SI_Opp_Sec_1; |
| | | } |
| | | when '2.东北' { |
| | | targetLead.SI_OppoLeadSec__c = System.Label.SI_Opp_Sec_2; |
| | | } |
| | | when '3.西北' { |
| | | targetLead.SI_OppoLeadSec__c = System.Label.SI_Opp_Sec_3; |
| | | } |
| | | when '4.西南' { |
| | | targetLead.SI_OppoLeadSec__c = System.Label.SI_Opp_Sec_4; |
| | | } |
| | | when '5.华东' { |
| | | targetLead.SI_OppoLeadSec__c = System.Label.SI_Opp_Sec_5; |
| | | } |
| | | when '6.华南' { |
| | | targetLead.SI_OppoLeadSec__c = System.Label.SI_Opp_Sec_6; |
| | | } |
| | | when else { |
| | | targetLead.SI_OppoLeadSec__c = null; |
| | | } |
| | | } |
| | | } else { |
| | | targetLead.SI_OppoLeadSec__c = null; |
| | | } |
| | | } |
| | | // OBSAP 设置SI担当 2022-05-09 ssm end |
| | | |
| | | if( Trigger.isUpdate && Trigger.isBefore){ |
| | | System.debug(LoggingLevel.INFO, '*** beforeUpdate: ' ); |
| | | List<Date> cd = new List<Date>(); |
| | | |
| | | for(Lead l:(List<Lead>) Trigger.new){ |
| | | String datestr =String.valueOf(l.CreatedDate); |
| | | cd.add( Date.valueOf(datestr.substring(0,10)) ); |
| | | } |
| | | System.debug(LoggingLevel.INFO, '*** cd: ' + cd); |
| | | Map<Date,String> lm = new Map<Date,String>(); |
| | | |
| | | for(OlympusCalendar__c oc:[SELECT Id,Date__c FROM OlympusCalendar__c WHERE Date__c IN:cd]){ |
| | | lm.put(oc.Date__c,oc.Id); |
| | | } |
| | | System.debug(LoggingLevel.INFO, '*** map赋值: ' + lm); |
| | | |
| | | |
| | | |
| | | for(Lead l:(List<Lead>) Trigger.new){ |
| | | String datestr =String.valueOf(l.CreatedDate); |
| | | String dt = lm.get(Date.valueOf(datestr.substring(0,10))); |
| | | l.Lead_Olympus__c = dt; |
| | | System.debug(LoggingLevel.INFO, '*** lead奥林巴斯赋值: ' + l.Lead_Olympus__c); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | //************************************2017/08/29 ADD END [CHAN-AQN4FY]*********************************** |
| | | } |