trigger RepairQuoteTrigger on Repair_Quotation__c (before insert, before update,after insert,after update) { 
 | 
    // ---------------------------------------------------------------------- 
 | 
    // ここより、承認プロセス用に、经理、部长、总监を更新する 
 | 
    // ---------------------------------------------------------------------- 
 | 
    if (Trigger.isBefore) { 
 | 
        User loginUser = null; 
 | 
        Repair_Quotation__c old = null; 
 | 
        Map<Id, Id> rprIdList = new Map<Id, Id>(); 
 | 
        for (Repair_Quotation__c local : Trigger.New) { 
 | 
            if (Trigger.isInsert) { 
 | 
                rprIdList.put(local.Repair__c, local.Repair__c); 
 | 
            } 
 | 
            if (Trigger.isUpdate) { 
 | 
                old = Trigger.oldMap.get(local.Id); 
 | 
            } 
 | 
            // 「减价申请」になったとき、ログインユーザーからプロセス用の上司を設定 
 | 
            if ((Trigger.isInsert 
 | 
                    || old.Repair_quotation_status__c != local.Repair_quotation_status__c 
 | 
                ) 
 | 
                && local.Repair_quotation_status__c == '减价申请填写完毕' 
 | 
            ) { 
 | 
                local.RC_Mail_Address__c = local.Repair_RC_Mail_Address__c; 
 | 
                local.RC_Mail_Address1__c = local.Repair_RC_Mail_Address1__c; 
 | 
                local.Assistant_Mail_Address__c = local.Repair_Assistant_Mail_Address__c; 
 | 
                local.Incharge_Staff_EMail__c = local.Repair_Incharge_Staff_EMail__c; 
 | 
                local.RepairCreator__c = local.Repair_Creator_Id__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()]; 
 | 
                } 
 | 
                // xudan 20151109 項目の新規追加したくない、API名も変更したくない、ラベル名を変更、User.服务→修理.服务 
 | 
                // 韩超,审批人改为FSE的经理,部长,总监和统括总监  2016/7/6 
 | 
                local.SalesManager__c = local.FSE_Main_Mgr__c == null ? local.FSE_Main__c : local.FSE_Main_Mgr__c; 
 | 
                local.BuchangApprovalManagerSales__c = local.FSE_Main_BuZhang__c == null ? local.FSE_Main__c : local.FSE_Main_BuZhang__c; 
 | 
                local.ZongjianApprovalManager__c = local.FSE_Main_ZongJian__c == null ? local.FSE_Main__c : local.FSE_Main_ZongJian__c; 
 | 
                local.TongkuoZongjian__c = local.FSE_Main_TongKuoZongJian__c == null ? local.FSE_Main__c : local.FSE_Main_TongKuoZongJian__c; 
 | 
            } 
 | 
            //20200102 HWAG-BJZ6AQ 服务本部减价申请 start  
 | 
            if ((Trigger.isInsert 
 | 
                    || old.CutPriceStatus_Service__c != local.CutPriceStatus_Service__c 
 | 
                ) 
 | 
                && local.CutPriceStatus_Service__c == '已提交' 
 | 
            ) { 
 | 
                local.RC_Mail_Address__c = local.Repair_RC_Mail_Address__c; 
 | 
                local.RC_Mail_Address1__c = local.Repair_RC_Mail_Address1__c; 
 | 
                local.Assistant_Mail_Address__c = local.Repair_Assistant_Mail_Address__c; 
 | 
                local.Incharge_Staff_EMail__c = local.Repair_Incharge_Staff_EMail__c; 
 | 
                local.RepairCreator__c = local.Repair_Creator_Id__c; 
 | 
                local.ServiceCutPriceApplyPersion__c = UserInfo.getUserId(); 
 | 
                loginUser = [SELECT Id, Name, SalesManager__c, JingliApprovalManager__c, BuchangApprovalManager__c, BuchangApprovalManagerSales__c, ZongjianApprovalManager__c, TongkuoZongjian__c FROM User WHERE Id = :UserInfo.getUserId()]; 
 | 
                local.ServiceManager__c = loginUser.JingliApprovalManager__c==null?local.ServiceManager__c:loginUser.JingliApprovalManager__c; 
 | 
                local.BuchangApprovalServiceManager__c = loginUser.BuchangApprovalManager__c == null?local.ServiceManager__c:loginUser.BuchangApprovalManager__c; 
 | 
                local.ZongjianApprovalServiceManager__c = loginUser.ZongjianApprovalManager__c==null?local.BuchangApprovalServiceManager__c:loginUser.ZongjianApprovalManager__c; 
 | 
            } 
 | 
            //20200102 HWAG-BJZ6AQ 服务本部减价申请 end 
 | 
            if (Trigger.isUpdate 
 | 
                && ((local.Discount_request_approval_date__c != null 
 | 
                    && (Trigger.oldMap.get(local.id).Discount_request_approval_date__c == null  
 | 
                        || local.Discount_request_approval_date__c != Trigger.oldMap.get(local.id).Discount_request_approval_date__c)) 
 | 
                || (local.Approvering_Date__c != null 
 | 
                    && (Trigger.oldMap.get(local.id).Approvering_Date__c == null  
 | 
                        || local.Approvering_Date__c != Trigger.oldMap.get(local.id).Approvering_Date__c) 
 | 
                    ))) { 
 | 
                local.Last_approver_txt__c = UserInfo.getUserId(); 
 | 
            } 
 | 
        } 
 | 
        if (rprIdList.size() > 0) { 
 | 
            Map<Id, Repair__c> rprMap = new Map<Id, Repair__c>([ 
 | 
                    Select Id, RC_Mail_Address__c,RC_Mail_Address1__c,Assistant_Mail_Address__c,Incharge_Staff_EMail__c,CreatedById 
 | 
                      from Repair__c 
 | 
                     where Id IN :rprIdList.values() 
 | 
            ]); 
 | 
            for (Repair_Quotation__c local : Trigger.New) { 
 | 
                if (Trigger.isInsert) { 
 | 
                    local.RC_Mail_Address__c = rprMap.get(local.Repair__c).RC_Mail_Address__c; 
 | 
                    local.RC_Mail_Address1__c = rprMap.get(local.Repair__c).RC_Mail_Address1__c; 
 | 
                    local.Assistant_Mail_Address__c = rprMap.get(local.Repair__c).Assistant_Mail_Address__c; 
 | 
                    local.Incharge_Staff_EMail__c =  rprMap.get(local.Repair__c).Incharge_Staff_EMail__c; 
 | 
                    local.RepairCreator__c = rprMap.get(local.Repair__c).CreatedById; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    if(Trigger.isAfter && (Trigger.isInsert || Trigger.isUpdate)){ 
 | 
        RepairQuoteTrigger.ChangeRepair(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap); 
 | 
    } 
 | 
} 
 |