张宇恒
2022-12-23 ec47f5ab5923a315bf22e0df5af7371e9668589e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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();
}