FUYU
2023-12-18 b329ab986e250bb27e46ace97cf208f3b26d145a
force-app/main/default/triggers/PAEDecisionRecordTrigger.trigger
@@ -2,10 +2,14 @@
    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 
@@ -14,9 +18,15 @@
        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);
@@ -37,7 +47,8 @@
                        updateRepairs.put(record.PAE_Repair__c,rep);
                    }
                }
            }else{
            }
            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判定结果
@@ -62,10 +73,34 @@
                    }
                }
            }
            //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
    }
}