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/triggers/ConsumableOrderTrigger.trigger | 180 +++++++++++++++++++++++++++++++----------------------------
1 files changed, 94 insertions(+), 86 deletions(-)
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