trigger ProDocMidTblBefUpd on Product_and_document_middle_table__c (before insert, before update) {
|
|
//deloitte-zhj 20231124 本地化导入 start
|
if((!Test.isRunningTest())&&System.Label.ByPassTrigger.contains(UserInfo.getUserId())){
|
return;
|
}
|
//deloitte-zhj 20231124 本地化导入 end
|
|
List<Product2> pnList = new List<Product2>();
|
for (Product_and_document_middle_table__c pdmt : Trigger.new) {
|
if (Trigger.isInsert || Trigger.isUpdate && pdmt.Product_name__c != Trigger.oldMap.get(pdmt.Id).get('Product_name__c')) {
|
if (!String.isBlank(pdmt.Product_name__c)) {
|
pnList.add(new Product2(Id = pdmt.Product_name__c));
|
}
|
}
|
}
|
|
Map<String, String> pr2Map = new Map<String, String>();
|
if (pnList.size() > 0) {
|
List<Product2__c> pr2List = ControllerUtil.pr2SelectForSync(pnList);
|
for (Product2__c pr2 : pr2List) {
|
pr2Map.put(pr2.Product2__c, pr2.Id);
|
}
|
}
|
|
for (Product_and_document_middle_table__c pdmt : Trigger.new) {
|
if (pdmt.Product_name__c != null && pr2Map.containsKey(pdmt.Product_name__c)) {
|
pdmt.Product2__c = pr2Map.get(pdmt.Product_name__c);
|
} else {
|
pdmt.Product2__c = null;
|
}
|
}
|
}
|