FUYU
2023-12-13 4488f711dbc01a8db6753907cae2ef4021dede68
force-app/main/default/triggers/LeadTrigger.trigger
@@ -1,5 +1,7 @@
trigger LeadTrigger on Lead (before insert, before update) {
    if((!Test.isRunningTest())&&UserInfo.getUserId()==System.Label.ByPassTrigger){
        return;
    }
    if ( StaticParameter.EscapeLeadTrigger == true) {
        System.debug( '-----:リードのトリガー動きません');
        return;
@@ -138,6 +140,76 @@
                }
            }
        }
        // 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]***********************************
}