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<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
|
}
|
}
|