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