From 4de876db8c9c9be17932eaff9f55604896f6419f Mon Sep 17 00:00:00 2001 From: 高章伟 <gaozhangwei@prec-tech.com> Date: 星期二, 22 三月 2022 18:00:21 +0800 Subject: [PATCH] 【委托】经销商ET账号显示界面维护-广东汇晨 --- force-app/main/default/classes/ConsumableOrderTriggerTest.cls | 2 force-app/main/default/triggers/ConsumableOrderTrigger.trigger | 180 +++++++++++++++++++++++--------------------- 2 files changed, 95 insertions(+), 87 deletions(-) diff --git a/force-app/main/default/classes/ConsumableOrderTriggerTest.cls b/force-app/main/default/classes/ConsumableOrderTriggerTest.cls index 3c7ef30..046b7aa 100644 --- a/force-app/main/default/classes/ConsumableOrderTriggerTest.cls +++ b/force-app/main/default/classes/ConsumableOrderTriggerTest.cls @@ -10,7 +10,7 @@ if (rectCotac.size() == 0) { return; } - Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�']; + Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)']; Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '鏈夊姽'); Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '鏈夊姽'); insert new Product2[]{prod01,prod02}; diff --git a/force-app/main/default/triggers/ConsumableOrderTrigger.trigger b/force-app/main/default/triggers/ConsumableOrderTrigger.trigger index fb48299..85f86c0 100644 --- a/force-app/main/default/triggers/ConsumableOrderTrigger.trigger +++ b/force-app/main/default/triggers/ConsumableOrderTrigger.trigger @@ -1,95 +1,103 @@ trigger ConsumableOrderTrigger on Consumable_order__c (before insert, before update) { - if (StaticParameter.EscapeConsumableOrderDetail2Trigger) { - return ; - } - Set<String> contactIdSet = new Set<String>(); - Map<String, String> rprIdList = new Map<String, String>(); - Map<String, String> contactIdMap = new Map<String, String>(); - List<Statu_Achievements__c> sAlist = new List<Statu_Achievements__c>(); - if (Trigger.isBefore) { - Account contactdet = null; - List<Account> contactList = new List<Account>(); - Consumable_order__c old = null; - for (Consumable_order__c local : Trigger.New) { - if(String.isNotBlank(local.Order_effective_contact__c)){ - contactIdSet.add(local.Order_effective_contact__c); - } - } - // contactList = [SELECT Id, Name, Business_Assistant__c FROM Account WHERE Id in :contactIdSet]; - // for(Account acc :contactList){ - // if(String.isNotBlank(acc.Business_Assistant__c)){ - // contactIdMap.put(acc.Id, acc.Business_Assistant__c); - // } - // } + // CHAN-CBYBBF 銆愬鎵樸�戠粡閿�鍟咵T璐﹀彿鏄剧ず鐣岄潰缁存姢-骞夸笢姹囨櫒 start + // 娉ㄩ噴璺宠繃 鍙戣揣鏃惰璁$畻 SAP鍚堝悓鍙� + // if (StaticParameter.EscapeConsumableOrderDetail2Trigger) { + // return; + // } + // CHAN-CBYBBF 銆愬鎵樸�戠粡閿�鍟咵T璐﹀彿鏄剧ず鐣岄潰缁存姢-骞夸笢姹囨櫒 end + //add by rentx 20210618 start + if (StaticParameter.ConsumableOrderTrigger) { + return; + } + //ad by rentx 20210618 end + Set<String> contactIdSet = new Set<String>(); + Map<String, String> rprIdList = new Map<String, String>(); + Map<String, String> contactIdMap = new Map<String, String>(); + List<Statu_Achievements__c> sAlist = new List<Statu_Achievements__c>(); + if (Trigger.isBefore) { + Account contactdet = null; + List<Account> contactList = new List<Account>(); + Consumable_order__c old = null; + for (Consumable_order__c local : Trigger.New) { + if(String.isNotBlank(local.Order_effective_contact__c)) { + contactIdSet.add(local.Order_effective_contact__c); + } + } + // contactList = [SELECT Id, Name, Business_Assistant__c FROM Account WHERE Id in :contactIdSet]; + // for(Account acc :contactList){ + // if(String.isNotBlank(acc.Business_Assistant__c)){ + // contactIdMap.put(acc.Id, acc.Business_Assistant__c); + // } + // } - Map<String,List<Statu_Achievements__c>> sAmap = new Map<String,List<Statu_Achievements__c>>(); - Map<String,String> zMaps = new Map<String,String>(); + Map<String,List<Statu_Achievements__c> > sAmap = new Map<String,List<Statu_Achievements__c> >(); + Map<String,String> zMaps = new Map<String,String>(); - for (Consumable_order__c local : Trigger.New) { - if(String.isNotBlank(local.Opportunity__c) && String.isNotBlank(local.name)){ - zMaps.put(local.Opportunity__c,local.name); - } - } + for (Consumable_order__c local : Trigger.New) { + if(String.isNotBlank(local.Opportunity__c) && String.isNotBlank(local.name)) { + zMaps.put(local.Opportunity__c,local.name); + } + } - - sAlist = [SELECT ContractNO__c,Opportunity__c FROM Statu_Achievements__c WHERE Opportunity__c = :zMaps.keySet()]; - - for(Statu_Achievements__c sa : sAlist){ - List<Statu_Achievements__c> ssList = sAmap.get(zMaps.get(sa.Opportunity__c)); - if(ssList == null){ - ssList = new List<Statu_Achievements__c>(); - } - ssList.add(sa); - sAmap.put(zMaps.get(sa.Opportunity__c),ssList); - } - // sAlist = [SELECT ContractNO__c FROM Statu_Achievements__c WHERE Opportunity__c = :opps]; - // sAmap.put(name,sAlist); + sAlist = [SELECT ContractNO__c,Opportunity__c FROM Statu_Achievements__c WHERE Opportunity__c = :zMaps.keySet()]; - for (Consumable_order__c local : Trigger.New) { - if (Trigger.isInsert) { - rprIdList.put(local.Id, local.Id); - } - if (Trigger.isUpdate) { - old = Trigger.oldMap.get(local.Id); - } - // 銆屾秷鑰楀搧璁㈠崟銆嶃伀銇仯銇熴仺銇嶃�併儹銈般偆銉炽儲銉笺偠銉笺亱銈夈儣銉偦銈圭敤銇笂鍙搞倰瑷畾 - if ((Trigger.isInsert - || old.Order_status__c != local.Order_status__c) - && local.Order_status__c == '闄勪欢涓婁紶瀹屾垚' - ) { - //if (contactdet == null) { - // contactdet = [SELECT Id, Name, Business_Assistant__c FROM Account WHERE Id = :local.Order_effective_contact__c]; - //} - if(local.Business_Assistant__c == null){ - local.addError('鍚堝悓娌℃湁鏈夋晥鐨勮惀涓氬姪鐞嗐��'); - continue; - }else{ - local.SalesManager__c = local.Business_Assistant__c; - } - // 闋呯洰銇柊瑕忚拷鍔犮仐銇熴亸銇亜銆丄PI鍚嶃倐澶夋洿銇椼仧銇忋仾銇勩�併儵銉欍儷鍚嶃倰澶夋洿銆乁ser.鏈嶅姟鈫掍慨鐞�.鏈嶅姟 - //local.SalesManager__c = contactdet.SalesManager__c == null ? contactdet.Id : contactdet.SalesManager__c; - //local.BuchangApprovalManagerSales__c = loginUser.BuchangApprovalManager__c == null ? loginUser.Id : loginUser.BuchangApprovalManager__c; - //local.ZongjianApprovalManager__c = loginUser.ZongjianApprovalManager__c == null ? loginUser.Id : loginUser.ZongjianApprovalManager__c; - //local.TongkuoZongjian__c = loginUser.TongkuoZongjian__c == null ? loginUser.Id : loginUser.TongkuoZongjian__c; - } + for(Statu_Achievements__c sa : sAlist) { + List<Statu_Achievements__c> ssList = sAmap.get(zMaps.get(sa.Opportunity__c)); + if(ssList == null) { + ssList = new List<Statu_Achievements__c>(); + } + ssList.add(sa); + sAmap.put(zMaps.get(sa.Opportunity__c),ssList); + } - //鏇存柊or鎻掑叆 鍓� - if(Trigger.isInsert || Trigger.isUpdate ){ - List<String> cNList = new List<String>(); - List<Statu_Achievements__c> sas = sAmap.get(local.name); + // sAlist = [SELECT ContractNO__c FROM Statu_Achievements__c WHERE Opportunity__c = :opps]; + // sAmap.put(name,sAlist); - if(sas != null){ - for (Statu_Achievements__c sa : sas) { - //淇濆瓨鍚堝悓缂栧彿 - cNList.add(sa.ContractNO__c); - } - - //鎷兼帴鍚堝悓缂栧彿 - String cNs = String.join(cNList,','); - local.ContractNo__c = cNs; - } - } - } - } + for (Consumable_order__c local : Trigger.New) { + if (Trigger.isInsert) { + rprIdList.put(local.Id, local.Id); + } + if (Trigger.isUpdate) { + old = Trigger.oldMap.get(local.Id); + } + // 銆屾秷鑰楀搧璁㈠崟銆嶃伀銇仯銇熴仺銇嶃�併儹銈般偆銉炽儲銉笺偠銉笺亱銈夈儣銉偦銈圭敤銇笂鍙搞倰瑷畾 + if ((Trigger.isInsert + || old.Order_status__c != local.Order_status__c) + && local.Order_status__c == '闄勪欢涓婁紶瀹屾垚' + ) { + //if (contactdet == null) { + // contactdet = [SELECT Id, Name, Business_Assistant__c FROM Account WHERE Id = :local.Order_effective_contact__c]; + //} + if(local.Business_Assistant__c == null) { + local.addError('鍚堝悓娌℃湁鏈夋晥鐨勮惀涓氬姪鐞嗐��'); + continue; + }else{ + local.SalesManager__c = local.Business_Assistant__c; + } + // 闋呯洰銇柊瑕忚拷鍔犮仐銇熴亸銇亜銆丄PI鍚嶃倐澶夋洿銇椼仧銇忋仾銇勩�併儵銉欍儷鍚嶃倰澶夋洿銆乁ser.鏈嶅姟鈫掍慨鐞�.鏈嶅姟 + //local.SalesManager__c = contactdet.SalesManager__c == null ? contactdet.Id : contactdet.SalesManager__c; + //local.BuchangApprovalManagerSales__c = loginUser.BuchangApprovalManager__c == null ? loginUser.Id : loginUser.BuchangApprovalManager__c; + //local.ZongjianApprovalManager__c = loginUser.ZongjianApprovalManager__c == null ? loginUser.Id : loginUser.ZongjianApprovalManager__c; + //local.TongkuoZongjian__c = loginUser.TongkuoZongjian__c == null ? loginUser.Id : loginUser.TongkuoZongjian__c; + } + + //鏇存柊or鎻掑叆 鍓� + if(Trigger.isInsert || Trigger.isUpdate ) { + List<String> cNList = new List<String>(); + List<Statu_Achievements__c> sas = sAmap.get(local.name); + + if(sas != null) { + for (Statu_Achievements__c sa : sas) { + //淇濆瓨鍚堝悓缂栧彿 + cNList.add(sa.ContractNO__c); + } + + //鎷兼帴鍚堝悓缂栧彿 + String cNs = String.join(cNList,','); + local.ContractNo__c = cNs; + } + } + } + } } \ No newline at end of file -- Gitblit v1.9.1