binxie
2024-01-18 0e0dd1e20e7211f3c3c11d77a41090d998dfd06c
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
trigger QuestionnaireSurvey on Questionnaire_Survey__c (before insert, before update) {
    
    //deloitte-zhj 20231124 本地化导入 start
    if((!Test.isRunningTest())&&System.Label.ByPassTrigger.contains(UserInfo.getUserId())){
        return;
    }
    //deloitte-zhj 20231124 本地化导入 end
    
    if (Trigger.isBefore) {
        User loginUser = null;
        Questionnaire_Survey__c old = null;
        Map<Id, Id> rprIdList = new Map<Id, Id>();
        for (Questionnaire_Survey__c local : Trigger.New) {
            if (Trigger.isInsert) {
                rprIdList.put(local.Id, local.Id);
            }
            if (Trigger.isUpdate) {
                old = Trigger.oldMap.get(local.Id);
            }
            if ((Trigger.isInsert|| old.Questionnaire_Status__c != local.Questionnaire_Status__c)) {
                if (loginUser == null) {
                    loginUser = [SELECT Id, Name, SalesManager__c, JingliApprovalManager__c, BuchangApprovalManager__c, BuchangApprovalManagerSales__c, ZongjianApprovalManager__c, TongkuoZongjian__c FROM User WHERE Id = :UserInfo.getUserId()];
                }
                // 項目の新規追加したくない、API名も変更したくない、ラベル名を変更、User.服务→修理.服务
                local.SalesManager__c = loginUser.SalesManager__c == null ? loginUser.Id : loginUser.SalesManager__c;
                local.BuchangApprovalManagerSales__c = loginUser.BuchangApprovalManagerSales__c == null ? loginUser.Id : loginUser.BuchangApprovalManagerSales__c;
                local.ZongjianApprovalManager__c = loginUser.ZongjianApprovalManager__c == null ? loginUser.Id : loginUser.ZongjianApprovalManager__c;
            }
        }
    }
}