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