trigger ISOppoDemand_Trigger on IS_Opportunity_Demand__c (before insert,before update,after insert,after update) { //deloitte-zhj 20231124 本地化导入 start if((!Test.isRunningTest())&&System.Label.ByPassTrigger.contains(UserInfo.getUserId())){ return; } //deloitte-zhj 20231124 本地化导入 end boolean UpdateOppor{get;set;} List copyUserIds = new List(); List newList = new List(); if (Trigger.isInsert) { if(Trigger.isBefore){ Map isoCountMap = new Map(); isoCountMap = ISO_DemandOperAndDemonsController.setNameForNew(Trigger.new); system.debug(isoCountMap); for(IS_Opportunity_Demand__c iso : Trigger.new){ iso.Opportunity_sub_owner__c = iso.Opportunity_sub_ownerID__c; iso.Name_Index__c = 1+(isoCountMap.get(iso.Opportunity_ID__c)==null?0:(isoCountMap.get(iso.Opportunity_ID__c))); isoCountMap.get(iso.Opportunity_ID__c); } } if(Trigger.isAfter){ } } if (Trigger.isUpdate) { if(Trigger.isAfter){ UpdateOppor = ISO_DemandOperAndDemonsController.UpdateMotherOpportunity(Trigger.old,Trigger.new); } } if(Trigger.isBefore&&(Trigger.isInsert||trigger.isUpdate)){ IS_Opportunity_Demand__c old = null; if(Trigger.oldMap!=null){ for(IS_Opportunity_Demand__c iso: Trigger.new){ old = Trigger.oldMap.get(iso.Id); if (Trigger.isInsert || (Trigger.isUpdate && old.Submit_Date__c != iso.Submit_Date__c && iso.Func_SOD_Status__c == '02 已提交') || (Trigger.isUpdate && old.OwnerId != iso.OwnerId) ) { newList.add(iso); //if (Trigger.isInsert || (Trigger.isUpdate && old.applyUser__c != iso.applyUser__c)) { copyUserIds.add(iso.OwnerId); //} else { // copyUserIds.add(UserInfo.getUserId()); //} } } }else{ for(IS_Opportunity_Demand__c iso: Trigger.new){ newList.add(iso); //if (Trigger.isInsert || (Trigger.isUpdate && old.applyUser__c != iso.applyUser__c)) { copyUserIds.add(iso.OwnerId); } } if (copyUserIds.size() > 0) { Map copyUserMap = new Map([ SELECT Id, Name, SalesManager__c, BuchangApprovalManagerSales__c, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id IN :copyUserIds ]); for (Integer i = 0; i < copyUserIds.size(); i++) { IS_Opportunity_Demand__c local = newList[i]; User loginUser = copyUserMap.get(copyUserIds[i]); local.SI_SalesManager__c = loginUser.SalesManager__c == null ? loginUser.Id : loginUser.SalesManager__c; local.SI_Minister_Sell__c = loginUser.BuchangApprovalManagerSales__c == null ? loginUser.Id : loginUser.BuchangApprovalManagerSales__c; local.SI_Minister_Service__c = loginUser.BuchangApprovalManager__c == null ? loginUser.Id : loginUser.BuchangApprovalManager__c; local.SI_Majordomo__c = loginUser.ZongjianApprovalManager__c == null ? loginUser.Id : loginUser.ZongjianApprovalManager__c; } } } }