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 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 57 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'); -- Gitblit v1.9.1