| 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); | 
|     } | 
| } |