From 6dc46704e1dc3ffe0ddebc855933c6a40dac8fa9 Mon Sep 17 00:00:00 2001
From: 涂煌豪 <997058689@qq.com>
Date: 星期五, 18 三月 2022 18:27:36 +0800
Subject: [PATCH] 先款后修-修理增加先款标识
---
force-app/main/default/classes/RepairTrigger.cls | 58 ++++++++++++++++++++++++++++
force-app/main/default/triggers/Repair.trigger | 3 +
2 files changed, 60 insertions(+), 1 deletions(-)
diff --git a/force-app/main/default/classes/RepairTrigger.cls b/force-app/main/default/classes/RepairTrigger.cls
index 302018d..4d36d5f 100644
--- a/force-app/main/default/classes/RepairTrigger.cls
+++ b/force-app/main/default/classes/RepairTrigger.cls
@@ -696,7 +696,63 @@
return repair;
}
//add wangweipeng 2021/12/09 end
-
+ //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220318 start
+ public static void AdvancePaymentFlagUpsert(List<Repair__c> newList, Map<Id, Repair__c> newMap, List<Repair__c> oldList, Map<Id, Repair__c> oldMap) {
+ List<String> RepairQuotationIdList = new List<String>();
+ List<Repair__c> NoRepairQuotationList = new List<Repair__c>();
+ List<Repair_Quotation__c> RepairQuotationList = new List<Repair_Quotation__c>();
+ List<String> DealerIdList = new List<String>();
+ List<Account> DealerList = new List<Account>();
+ List<Repair__c> updateRepairList = new List<Repair__c>();
+ System.debug('newList1:' + newList);
+ for(Repair__c rep : newList){
+ Repair__c oldRep = oldMap.get(rep.Id);
+ if(rep.Repair_Quotation_Id__c != null){
+ RepairQuotationIdList.add(rep.Repair_Quotation_Id__c);
+ }else{
+ NoRepairQuotationList.add(rep);
+ }
+ }
+ //鍚屾湡涓殑淇悊淇悊鎶ヤ环鏈夊�兼椂锛岀湅鎶ヤ环涓婄殑鍏堟鏍囪瘑杩涜璧嬪��
+ if(RepairQuotationIdList.size() > 0){
+ RepairQuotationList = [select Id, Is_RecognitionModel__c from Repair_Quotation__c where Id IN :RepairQuotationIdList];
+ }
+ for(Repair_Quotation__c rq : RepairQuotationList){
+ for(Repair__c rep : newList){
+ if(rq.Id == rep.Repair_Quotation_Id__c){
+ rep.Advance_Payment_Flag__c = rq.Is_RecognitionModel__c;
+ updateRepairList.add(rep);
+ }
+ }
+ }
+ //鍚屾湡涓殑淇悊鎶ヤ环娌″�兼椂锛岀湅淇悊鍗曚笂鐨勭粡閿�鍟嗘槸涓嶆槸鍏堟瀵硅薄杩涜璧嬪��
+ if(NoRepairQuotationList.size() > 0){
+ for(Repair__c rep : NoRepairQuotationList){
+ DealerIdList.add(rep.Dealer__c);
+ }
+ }
+ if(DealerIdList.size() > 0 ){
+ DealerList = [select Id, FirstParagraphEnd__c from Account where Id IN : DealerIdList];
+ }
+ for(Account dealer : DealerList){
+ for(Repair__c rep : newList){
+ if(rep.Dealer__c == dealer.Id){
+ rep.Advance_Payment_Flag__c = dealer.FirstParagraphEnd__c;
+ updateRepairList.add(rep);
+ }
+ }
+ }
+ Savepoint sp = Database.setSavepoint();
+ try {
+ if(updateRepairList.size() > 0){
+ update updateRepairList;
+ }
+ } catch (System.Exception e) {
+ Database.rollback(sp);
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getMessage()));
+ }
+ }
+ //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220318 end
public static void CheckUpdate(List<Repair__c> oldList, Map<Id, Repair__c> newMap) {
System.debug('===========> start');
diff --git a/force-app/main/default/triggers/Repair.trigger b/force-app/main/default/triggers/Repair.trigger
index 3de4a47..d520d7a 100644
--- a/force-app/main/default/triggers/Repair.trigger
+++ b/force-app/main/default/triggers/Repair.trigger
@@ -273,6 +273,9 @@
/****************************************************************************************************/
}
}
+ //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220318 start
+ RepairTrigger.AdvancePaymentFlagUpsert(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ //鍏堟鍚庝慨-淇悊澧炲姞鍏堟鏍囪瘑 thh 20220318 end
}
// ----------------------------------------------------------------------
// 銇撱亾銇俱仹銆併偟銉笺儞銈广偝銉炽儓銉┿偗銉堥爡鐩倰鑷嫊鐨勩伀鏇存柊銇欍倠銉偢銉冦偗
--
Gitblit v1.9.1