trigger PAEDecisionRecordTrigger on PAE_DecisionRecord__c (after update) { //deloitte-zhj 20231124 本地化导入 start if((!Test.isRunningTest())&&System.Label.ByPassTrigger.contains(UserInfo.getUserId())){ return; } //deloitte-zhj 20231124 本地化导入 end if (Trigger.isAfter && Trigger.isUpdate) { List repairIds = new List(); List qisIds = new List(); List repIds = new List(); //20210907 lt add for (PAE_DecisionRecord__c record : Trigger.new){ // 分别获取 修理和qis的id repairIds.add(record.PAE_Repair__c); qisIds.add(record.PAE_QIS__c); //20210907 lt add //获取 报告书的id repIds.add(record.PAE_Report__c); } // 取对应修理和qis的id信息 Map repairMap = new Map([select id,name,PAE_DetermineResults__c,PAE_reappear_confirm__c from Repair__c where Id in :repairIds]); Map oisMap = new Map([select id,name,PAE_DetermineResults__c,PAE_reappear_confirm__c from QIS_Report__c where Id in :qisIds]); //20210907 lt add //取 报告书的id信息 Map repMap = new Map([select id,name,PAE_DetermineResults__c,PAE_reappear_confirm__c from Report__c where Id in :repIds]); Map updateRepairs = new Map(); Map updateQiss = new Map(); Map updateReps = new Map(); //20210907 lt add for (PAE_DecisionRecord__c record : Trigger.new){ if (String.isNotBlank(record.PAE_Repair__c)) { Repair__c rep = repairMap.get(record.PAE_Repair__c); // PAE判定结果 if (Trigger.oldMap.get(record.Id).PAE_DetermineResults_Text__c != record.PAE_DetermineResults_Text__c){ Id asrcRecordTypeId = Schema.SObjectType.PAE_DecisionRecord__c.getRecordTypeInfosByDeveloperName().get('ASRCDecision').getRecordTypeId(); if(record.RecordtypeId == asrcRecordTypeId){ rep.PAE_Determine__c = record.PAE_DetermineResults_Text__c; }else{ rep.PAE_DetermineAC__c = record.PAE_DetermineResults_Text__c; } updateRepairs.put(record.PAE_Repair__c,rep); } // 再现结果确认 if (Trigger.oldMap.get(record.Id).PAE_reappear_confirm__c != record.PAE_reappear_confirm__c){ rep.PAE_reappear_confirm__c = record.PAE_reappear_confirm__c; if (updateRepairs.get(rep.Id) == null){ updateRepairs.put(record.PAE_Repair__c,rep); } } } else if(String.isNotBlank(record.PAE_QIS__c)){ //20210907 lt add(if) QIS_Report__c qis = oisMap.get(record.PAE_QIS__c); System.debug('++++++-----1 ' + qis); // PAE判定结果 if (Trigger.oldMap.get(record.Id).PAE_DetermineResults_Text__c != record.PAE_DetermineResults_Text__c){ Id asrcRecordTypeId = Schema.SObjectType.PAE_DecisionRecord__c.getRecordTypeInfosByDeveloperName().get('ASRCDecision').getRecordTypeId(); if(record.RecordtypeId == asrcRecordTypeId){ qis.PAE_Determine__c = record.PAE_DetermineResults_Text__c; }else{ qis.PAE_DetermineAC__c = record.PAE_DetermineResults_Text__c; } updateQiss.put(record.PAE_QIS__c,qis); } // 再现结果确认 if (Trigger.oldMap.get(record.Id).PAE_reappear_confirm__c != record.PAE_reappear_confirm__c){ // System.debug('++++++----- ' + qis); // System.debug('++++++----- ' + record.PAE_reappear_confirm__c); // System.debug('++++++----- ' + qis.PAE_reappear_confirm__c); // System.debug('++++++----- ' + qis.PAE_reappear_confirm__c + record.PAE_reappear_confirm__c); qis.PAE_reappear_confirm__c = record.PAE_reappear_confirm__c; if (updateQiss.get(qis.Id) == null){ updateQiss.put(record.PAE_QIS__c,qis); } } } //20210907 lt add //if(String.isNotBlank(record.PAE_Report__c)) else { Report__c report = repMap.get(record.PAE_Report__c); // PAE判定结果 if (Trigger.oldMap.get(record.Id).PAE_DetermineResults_Text__c != record.PAE_DetermineResults_Text__c){ Id asrcRecordTypeId = Schema.SObjectType.PAE_DecisionRecord__c.getRecordTypeInfosByDeveloperName().get('ASRCDecision').getRecordTypeId(); if(record.RecordtypeId == asrcRecordTypeId){ report.PAE_Determine__c = record.PAE_DetermineResults_Text__c; }else{ report.PAE_DetermineAC__c = record.PAE_DetermineResults_Text__c; } updateReps.put(record.PAE_Report__c,report); } // 再现结果确认 if (Trigger.oldMap.get(record.Id).PAE_reappear_confirm__c != record.PAE_reappear_confirm__c){ report.PAE_reappear_confirm__c = record.PAE_reappear_confirm__c; if (updateReps.get(report.Id) == null){ updateReps.put(record.PAE_Report__c,report); } } } } update updateRepairs.values(); update updateQiss.values(); update updateReps.values(); //20210907 lt add } }