trigger DiscountProductApplicationApprove on DiscountProductApplication__c(before insert, after insert,before update,after update) { 
 | 
  
 | 
    if (Trigger.isBefore) { 
 | 
        //存放ocsm管理省 
 | 
        List < String > provinceList = new List < String > (); 
 | 
        Map < String, String > provinceOwnerMap = new Map < String, String > (); 
 | 
        for (DiscountProductApplication__c local : Trigger.New) { 
 | 
            provinceList.add(local.OCSM_province__c); 
 | 
        } 
 | 
        //检索OCSM管理省对象 
 | 
        List < OCM_Management_Province__c > ompList = [select id, Name, Consum_assistant4__c from OCM_Management_Province__c where Name IN: provinceList]; 
 | 
        //存放map<省,担当> 
 | 
        for (OCM_Management_Province__c omp: ompList) { 
 | 
            provinceOwnerMap.put(omp.Name, omp.Consum_assistant4__c); 
 | 
        } 
 | 
        DiscountProductApplication__c old = null; 
 | 
        for (DiscountProductApplication__c local : Trigger.New) { 
 | 
            if (Trigger.isUpdate) { 
 | 
                old = Trigger.oldMap.get(local.Id); 
 | 
            } 
 | 
            // 审批人設定 
 | 
            if ((Trigger.isInsert 
 | 
                || old.ApplicationStatus__c != local.ApplicationStatus__c) 
 | 
                 && local.ApplicationStatus__c == '申请中' && local.RecordType_DeveloperName__c == 'ProductDiscount' 
 | 
            ){ 
 | 
                local.AP_Manager__c = provinceOwnerMap.get(local.OCSM_province__c); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
    DiscountProductApplicationApproveHandler handler = new DiscountProductApplicationApproveHandler(); 
 | 
    handler.run(); 
 | 
} 
 |