From 928399eceec50e3d37ea08669a12789a9410a9d2 Mon Sep 17 00:00:00 2001
From: 沙世明 <shashiming@prec-tech.com>
Date: 星期二, 22 十一月 2022 16:51:16 +0800
Subject: [PATCH] 111
---
force-app/main/default/classes/MCAEHandler.cls | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/classes/MCAEHandler.cls b/force-app/main/default/classes/MCAEHandler.cls
index 0daf426..ebc25c0 100644
--- a/force-app/main/default/classes/MCAEHandler.cls
+++ b/force-app/main/default/classes/MCAEHandler.cls
@@ -13,6 +13,57 @@
this.oldList = (List<Maintenance_Contract_Asset_Estimate__c>) Trigger.old;
}
+ protected override void afterUpdate() {
+ updateMainContract();
+ }
+
+ public void updateMainContract(){
+ System.debug(LoggingLevel.INFO, '*** in update: ');
+ Map<String,List<Maintenance_Contract_Asset_Estimate__c>> mcaMap = new Map<String,List<Maintenance_Contract_Asset_Estimate__c>>();
+ for (Maintenance_Contract_Asset_Estimate__c mca: newList) {
+ if(mca.Repair_Price__c!=0){
+ List<Maintenance_Contract_Asset_Estimate__c> mcaList = new List<Maintenance_Contract_Asset_Estimate__c>();
+ mcaList.add(mca);
+ if(mcaMap.containsKey(mca.Maintenance_Contract_Estimate__c)){
+ List <Maintenance_Contract_Asset_Estimate__c> mlist = mcaMap.get(mca.Maintenance_Contract_Estimate__c);
+ mlist.add(mca);
+ mcaMap.put(mca.Maintenance_Contract_Estimate__c,mlist);
+ }else{
+ mcaMap.put(mca.Maintenance_Contract_Estimate__c,mcaList);
+ }
+ }
+
+ }
+
+ List<Maintenance_Contract__c> upMContractList = new List<Maintenance_Contract__c>();
+ for (Maintenance_Contract_Estimate__c mc : [SELECT Id, Maintenance_Contract__c FROM Maintenance_Contract_Estimate__c WHERE Id IN:mcaMap.keySet()]) {
+ Boolean hasThirdPartyReturnc = false;
+ for (Maintenance_Contract_Asset_Estimate__c mca: mcaMap.get(mc.Id)) {
+ if(mca.Third_Party_Return__c == true){
+ hasThirdPartyReturnc = true;
+ }
+ System.debug(LoggingLevel.INFO, '*** boolean: ' + hasThirdPartyReturnc);
+ }
+
+ if(mc.Maintenance_Contract__c != null){
+ Maintenance_Contract__c mContract = new Maintenance_Contract__c();
+ mContract.Id = mc.Maintenance_Contract__c;
+ if(hasThirdPartyReturnc == true){
+ mContract.Third_Party_Return_Contract__c = true;
+ }
+
+ System.debug(LoggingLevel.INFO, '*** upMContractList: ' + upMContractList);
+ upMContractList.add(mContract);
+ }
+
+ }
+ System.debug(LoggingLevel.INFO, '*** upMContractList: ' + upMContractList);
+
+ update upMContractList;
+
+
+ }
+
protected override void beforeUpdate() {
}
--
Gitblit v1.9.1