trigger PAEDecisionRecordTrigger on PAE_DecisionRecord__c (after update) { 
 | 
    if (Trigger.isAfter && Trigger.isUpdate) { 
 | 
        List<Id> repairIds = new List<Id>(); 
 | 
        List<Id> qisIds = new List<Id>(); 
 | 
        List<Id> repIds = new List<Id>();      //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<Id,Repair__c> repairMap = new Map<Id,Repair__c>([select id,name,PAE_DetermineResults__c,PAE_reappear_confirm__c  
 | 
                                                                from Repair__c 
 | 
                                                                where Id in :repairIds]); 
 | 
        Map<Id,QIS_Report__c> oisMap = new Map<Id,QIS_Report__c>([select id,name,PAE_DetermineResults__c,PAE_reappear_confirm__c  
 | 
                                                                from QIS_Report__c 
 | 
                                                                where Id in :qisIds]); 
 | 
        //20210907 lt add 
 | 
        //取 报告书的id信息 
 | 
        Map<Id,Report__c> repMap = new Map<Id,Report__c>([select id,name,PAE_DetermineResults__c,PAE_reappear_confirm__c  
 | 
                                                                from Report__c 
 | 
                                                                where Id in :repIds]); 
 | 
  
 | 
        Map<Id,Repair__c> updateRepairs = new  Map<Id,Repair__c>(); 
 | 
        Map<Id,QIS_Report__c> updateQiss = new  Map<Id,QIS_Report__c>(); 
 | 
        Map<Id,Report__c> updateReps = new  Map<Id,Report__c>();   //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 
 | 
    } 
 | 
} 
 |