trigger ISOppoDemand_Trigger on IS_Opportunity_Demand__c (before insert,before update,after insert,after update) {
|
boolean UpdateOppor{get;set;}
|
List<Id> copyUserIds = new List<Id>();
|
List<IS_Opportunity_Demand__c> newList = new List<IS_Opportunity_Demand__c>();
|
if (Trigger.isInsert) {
|
if(Trigger.isBefore){
|
|
Map<id,Integer> isoCountMap = new Map<id,Integer>();
|
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<Id, User> copyUserMap = new Map<Id, User>([
|
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;
|
}
|
}
|
}
|
|
}
|