From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新
---
force-app/main/default/classes/MCAEHandler.cls | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 108 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/classes/MCAEHandler.cls b/force-app/main/default/classes/MCAEHandler.cls
index 0daf426..07a451c 100644
--- a/force-app/main/default/classes/MCAEHandler.cls
+++ b/force-app/main/default/classes/MCAEHandler.cls
@@ -13,6 +13,114 @@
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>>();
+ Map<String,Maintenance_Contract_Asset_Estimate__c> assetIds = new Map<String,Maintenance_Contract_Asset_Estimate__c>();
+ for (Maintenance_Contract_Asset_Estimate__c mca: newList) {
+ System.debug(LoggingLevel.INFO, '***test mca.Asset__c: '+ mca.Asset__c);
+ //淇濇湁璁惧
+ if(String.isNotBlank(mca.Asset__c)){
+ assetIds.put(mca.Asset__c,mca);
+ System.debug(LoggingLevel.INFO, '***test mca.Asset__c: '+ mca.Asset__c);
+
+ }
+ //鎶ヤ环
+ if(mca.Repair_Price__c!=0 && mca.Repair_Price__c!=null){
+ // if(mca.Maintenance_Contract_Estimate__c!='' && mca.Maintenance_Contract_Estimate__c!=null){
+ 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_Asset__c> upMcAssetList = new List<Maintenance_Contract_Asset__c>();
+ for (Maintenance_Contract_Asset__c mcasset : [SELECT Id,Maintenance_Contract_Asset_Estimate__c FROM Maintenance_Contract_Asset__c WHERE Asset__c IN:assetIds.keySet()]) {
+ Maintenance_Contract_Asset_Estimate__c mca= assetIds.get(mcasset.Maintenance_Contract_Asset_Estimate__c);
+ mcasset.Third_Party_Return__c = mca.Third_Party_Return__c;
+ mcasset.Surcharge_Defective_Contract__c = mca.Surcharge_Defective_Contract__c;
+ upMcAssetList.add(mcasset);
+ }
+
+
+ //鎶ヤ环
+ List<Maintenance_Contract_Estimate__c> upMEstimateList = new List<Maintenance_Contract_Estimate__c>();
+ //缁翠慨鍚堝悓
+ List<Maintenance_Contract__c> upMContractList = new List<Maintenance_Contract__c>();
+ for (Maintenance_Contract_Estimate__c mc : [SELECT Id, Maintenance_Contract__c,IsSyncing__c FROM Maintenance_Contract_Estimate__c WHERE Id IN:mcaMap.keySet()]) {
+ Boolean hasThirdPartyReturnc = false;
+ Boolean hasSurchargeDefective = false;
+
+ for (Maintenance_Contract_Asset_Estimate__c mca: mcaMap.get(mc.Id)) {
+ if(mca.Third_Party_Return__c == true){
+ hasThirdPartyReturnc = true;
+ }
+ if(mca.Surcharge_Defective_Contract__c == true){
+ hasSurchargeDefective = true;
+ }
+ System.debug(LoggingLevel.INFO, '*** boolean: ' + hasThirdPartyReturnc);
+ System.debug(LoggingLevel.INFO, '*** boolean: ' + hasSurchargeDefective);
+ }
+ if(hasThirdPartyReturnc == true){
+ mc.Third_Party_Return__c = true;
+ mc.Surcharge_Defective_Contract__c = false;
+ }else if(hasThirdPartyReturnc == false && hasSurchargeDefective == true){
+ mc.Surcharge_Defective_Contract__c = true;
+ mc.Third_Party_Return__c = false;
+ }else if(hasThirdPartyReturnc == false && hasSurchargeDefective == false){
+ mc.Surcharge_Defective_Contract__c = false;
+ mc.Third_Party_Return__c = false;
+ }
+
+ if(mc.IsSyncing__c == true){
+ if(mc.Maintenance_Contract__c != null){
+ Maintenance_Contract__c mContract = new Maintenance_Contract__c();
+ mContract.Id = mc.Maintenance_Contract__c;
+ mContract.Third_Party_Return_Contract__c = mc.Third_Party_Return__c;
+ mContract.Surcharge_Defective_Contract__c = mc.Surcharge_Defective_Contract__c;
+ // if(hasThirdPartyReturnc == true){
+ // mContract.Third_Party_Return_Contract__c = true;
+ // mContract.Surcharge_Defective_Contract__c = false;
+ // }else{
+ // mContract.Surcharge_Defective_Contract__c = true;
+ // mContract.Third_Party_Return_Contract__c = false;
+ // }
+
+ System.debug(LoggingLevel.INFO, '*** upMContractList: ' + upMContractList);
+ upMContractList.add(mContract);
+ }
+ }
+ upMEstimateList.add(mc);
+
+ }
+ if(upMEstimateList.size()>0){
+ update upMEstimateList;
+ }
+ System.debug(LoggingLevel.INFO, '*** 鎶ヤ环: ' + upMEstimateList);
+ System.debug(LoggingLevel.INFO, '*** 缁翠慨鍚堝悓: ' + upMContractList);
+ System.debug(LoggingLevel.INFO, '*** 鍚堝悓璁惧: ' + upMcAssetList);
+
+ if(upMContractList.size()>0){
+ update upMContractList;
+ }
+
+ if(upMcAssetList.size()>0){
+ update upMcAssetList;
+ }
+
+ }
+
protected override void beforeUpdate() {
}
--
Gitblit v1.9.1