From 81b0892b8c6aa064a9e8dbca09a8f7f1eb6de40e Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期四, 24 二月 2022 19:12:29 +0800
Subject: [PATCH] 1.15---2.24 变更代码
---
force-app/main/default/triggers/AccountTrigger.trigger | 257 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 211 insertions(+), 46 deletions(-)
diff --git a/force-app/main/default/triggers/AccountTrigger.trigger b/force-app/main/default/triggers/AccountTrigger.trigger
index 35c3989..e1fa5c8 100644
--- a/force-app/main/default/triggers/AccountTrigger.trigger
+++ b/force-app/main/default/triggers/AccountTrigger.trigger
@@ -1,53 +1,218 @@
-trigger AccountTrigger on Account (before insert, before update, after insert, after update) {
- if (Trigger.isBefore && Trigger.isInsert) {
- //鏂板缓涔嬪墠灏辩粰璧嬪�� gwy 2021-06-16
- for (Account acc : Trigger.new) {
- if(acc.ProductSegment__c == 'IE' && acc.Sub_Use1__c != null){
- acc.Sub_Use__c = acc.Sub_Use1__c;
+/**
+ * 瀹㈡埛鍚屾 鍦⊿P銆丟I涓绘媴褰撳彉鍖栨椂鏇存柊璇环鏉冮檺
+ */
+trigger AccountTrigger on Account (after insert, after update, before delete, before insert, before update, after delete ) {
+ if (StaticParameter.EscapeAccountTrigger) {
+System.debug('Escape銆丒scapeAccountTrigger:::::' + StaticParameter.EscapeAccountTrigger);
+ return;
+ }
+ if ((Trigger.isAfter && Trigger.isInsert) || (Trigger.isAfter && Trigger.isUpdate) || (Trigger.isBefore && Trigger.isDelete)) {
+ // 鍚屾鍒� Account2__c
+ AccountTrigger.syncAccount2(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+// // 鍚屾鍒� MB_Account__c
+ //AccountTrigger.syncMBAccount(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ }
+ if ((Trigger.isAfter && Trigger.isInsert) || Trigger.isUpdate || (Trigger.isAfter && Trigger.isDelete)) {
+ // 缁忛攢鍟嗘湁鏁堝崗璁垽鏂� BY GAO
+ AccountEffectiveContract.syncAccountContract(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ }
+
+ //CHAN-ADE32V 妫�鏌ユ垬鐣ョ瀹や腑鐨勭瀹ゅ悕鏄惁閲嶅 by wei
+ if (Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) {
+ System.debug('=============> checkDepartment start');
+ AccountTrigger.checkDepartment(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ if(Trigger.isUpdate){
+ for(Account acc : Trigger.new){
+ if( acc.Is_Active__c == '鐒″姽' && acc.OwnerId == UserInfo.getUserId()){
+ acc.Is_Active__c = '鑽夋涓�';
+
+ }
+
}
- if(acc.ProductSegment__c == 'IE' && acc.Sub_UseA__c != null){
- acc.Sub_UseD__c = acc.Sub_UseA__c;
- }
- if(acc.ProductSegment__c == 'BS' && acc.IndustryB__c != null){
- acc.IndustryC__c = acc.IndustryB__c;
- }
- if(acc.ProductSegment__c == 'BS' && acc.IndustryBD__c != null){
- acc.IndustryCD__c = acc.IndustryBD__c;
- }
}
- AccountTriggerHandler.setIsNew(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- AccountTriggerHandler.setSubUse(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- }
- if (Trigger.isAfter && Trigger.isInsert) {
- AccountTriggerHandler.setDealerGroup(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- AccountTriggerHandler.updateCampaignRelationship(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap,'1');
- }
- if (Trigger.isBefore && Trigger.isUpdate) {
- //鏇存柊鍓嶅氨缁欒祴鍊� gwy 2021-06-16
- for (Account acc : Trigger.new) {
- if(acc.ProductSegment__c == 'IE' && acc.Sub_Use1__c != null){
- acc.Sub_Use__c = acc.Sub_Use1__c;
- }
- if(acc.ProductSegment__c == 'IE' && acc.Sub_UseA__c != null){
- acc.Sub_UseD__c = acc.Sub_UseA__c;
- }
- if(acc.ProductSegment__c == 'BS' && acc.IndustryB__c != null){
- acc.IndustryC__c = acc.IndustryB__c;
- }
- if(acc.ProductSegment__c == 'BS' && acc.IndustryBD__c != null){
- acc.IndustryCD__c = acc.IndustryBD__c;
- }
+ }
+ if (System.Test.isRunningTest()) {
+ if(Trigger.isInsert & Trigger.isAfter){
+ AfterCreateHospitalTrigger.generateDepartmentClass(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
}
- AccountTriggerHandler.setSubUse(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- AccountTriggerHandler.updateForDealer(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- AccountTriggerHandler.dealerAccountApproval(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- AccountTriggerHandler.CheckAccoutnNameChange(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
}
- if (Trigger.isAfter && Trigger.isUpdate) {
- AccountTriggerHandler.dealerAccountApproval2(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
- AccountTriggerHandler.setBusinesslicense(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ if(Trigger.isUpdate && Trigger.isBefore){
}
- if ((Trigger.isAfter && Trigger.isInsert) || (Trigger.isBefore && Trigger.isUpdate)) {
- SBG001TriggerHandler.SBG001AccountTrigger(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+
+ if(Trigger.isAfter && Trigger.isUpdate){
+ System.debug('+++====+++===+++== OwnerId Start');
+ AccountTrigger.changeOwnerId(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ AccountTrigger.setDepartmentOwner(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ AfterCreateHospitalTrigger.generateDepartmentClass(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ AccountTrigger.fseChangeToUpdRepair(Trigger.new, Trigger.newMap, Trigger.old, Trigger.oldMap);
+ /**
+ * HWAG-B4PCZ5 2018-09-19 start 濡傛灉瀹㈡埛鏇存柊SP锛孏I 涓绘媴褰擄紝
+ * 鍒欏垹闄ゅ師鏉ョ殑鐢ㄦ埛鍦ㄦ墍瀵瑰簲璇环鐨勫叡浜鍒欙紝骞舵牴鎹柊涓绘媴褰撳垱寤烘柊鍏变韩瑙勫垯
+ */
+ list<Account> updateAcc = new list<Account>();
+ list<ID> RemoveUsers = new list<ID>();
+ list<string> allViceAliasList = new list<string>();
+ for(Account NewAcc : Trigger.new) {
+ Account OldAcc = Trigger.oldMap.get(NewAcc.id);
+ if(NewAcc.FSE_GI_Main_Leader__c != OldAcc.FSE_GI_Main_Leader__c
+ || NewAcc.FSE_SP_Main_Leader__c != OldAcc.FSE_SP_Main_Leader__c
+ /* SWAG-B7LADC 2018/12/19 FSE ENG start*/
+ || NewAcc.FSE_ENG_Main_Leader__c != OldAcc.FSE_ENG_Main_Leader__c
+ || NewAcc.FSE_ENG_Vice_Leader__c != OldAcc.FSE_ENG_Vice_Leader__c
+ || NewAcc.FSE_GI_Vice_Leader__c != OldAcc.FSE_GI_Vice_Leader__c
+ || NewAcc.FSE_SP_Vice_Leader__c != OldAcc.FSE_SP_Vice_Leader__c
+ /* SWAG-B7LADC 2018/12/19 FSE ENG start*/
+ )
+ {
+ updateAcc.add(NewAcc);
+ if(OldAcc.FSE_GI_Main_Leader__c !=null && NewAcc.FSE_GI_Main_Leader__c != OldAcc.FSE_GI_Main_Leader__c){
+ RemoveUsers.add(OldAcc.FSE_GI_Main_Leader__c);
+ }
+ if(OldAcc.FSE_SP_Main_Leader__c !=null && NewAcc.FSE_SP_Main_Leader__c != OldAcc.FSE_SP_Main_Leader__c){
+ RemoveUsers.add(OldAcc.FSE_SP_Main_Leader__c);
+ }
+ /* SWAG-B7LADC 2018/12/19 FSE ENG start*/
+ if(OldAcc.FSE_ENG_Main_Leader__c !=null && NewAcc.FSE_ENG_Main_Leader__c != OldAcc.FSE_ENG_Main_Leader__c){
+ RemoveUsers.add(OldAcc.FSE_ENG_Main_Leader__c);
+ }
+ if( OldAcc.FSE_ENG_Vice_Leader__c != null && NewAcc.FSE_ENG_Vice_Leader__c != OldAcc.FSE_ENG_Vice_Leader__c){
+ for(String UsrName : OldAcc.FSE_ENG_Vice_Leader__c.split('[,\\锛宂')){
+ allViceAliasList.add(UsrName);
+ }
+
+ }
+ if(OldAcc.FSE_GI_Vice_Leader__c != null && NewAcc.FSE_GI_Vice_Leader__c != OldAcc.FSE_GI_Vice_Leader__c){
+ for(String UsrName : OldAcc.FSE_GI_Vice_Leader__c.split('[,\\锛宂')){
+ allViceAliasList.add(UsrName);
+ }
+ }
+ if(OldAcc.FSE_SP_Vice_Leader__c != null && NewAcc.FSE_SP_Vice_Leader__c != OldAcc.FSE_SP_Vice_Leader__c){
+ for(String UsrName : OldAcc.FSE_SP_Vice_Leader__c.split('[,\\锛宂')){
+ allViceAliasList.add(UsrName);
+ }
+ }
+ /* SWAG-B7LADC 2018/12/19 FSE ENG start*/
+ }
+
+ }
+ //throw new ControllerUtil.myException('Anydatatype_msgaaaaaaaa:'+allViceAliasList);
+
+ if(updateAcc.size() > 0){
+ if(allViceAliasList.size() > 0){
+ List<User> loopUser = [select id from user where Alias__c in:allViceAliasList];
+ for(User temUser : loopUser){
+ RemoveUsers.add(temUser.id);
+ }
+ }
+ list<Statu_Achievements__c> updateSA =
+ [select id,Opportunity__c from Statu_Achievements__c where
+ Opportunity__r.Hospital__c in : updateAcc
+ and DeliveryDate__c != null
+ and ForecastAccuracyObject__c = true
+ ];
+ //throw new ControllerUtil.myException('Anydatatype_msgaaaaaaaa:'+updateSA);
+ if(updateSA != null || updateSA.size() > 0){
+ list<ID> temOpportunity = new list<ID>();
+ for(Statu_Achievements__c TemSA :updateSA){
+ temOpportunity.add(TemSA.Opportunity__c);
+ }
+ list<OpportunityShare> deleteOS =
+ [select id from OpportunityShare
+ where UserOrGroupId in: RemoveUsers
+ and OpportunityId in: temOpportunity
+ and RowCause = 'Manual'
+ ];
+ if(deleteOS != null &&deleteOS.size() > 0){
+ delete deleteOS;
+ }
+ StaticParameter.EscapeNFM010UpsertStatuAchievementsTrigger = true;
+ upsert updateSA;
+ }
+ }
+ //HWAG-B4PCZ5 2018-09-19 end
+ //NFM112 2021/11/10 start
+ String Idbox;
+ for(Account account : Trigger.new){
+ Account old = Trigger.oldMap.get(account.Id);
+ if(old.FirstParagraph__c != account.FirstParagraph__c || old.MonthlyPayment__c != account.MonthlyPayment__c){
+ Idbox = account.Id;
+ }
+ }
+ if(Idbox != null){
+ BatchIF_Log__c iflog = new BatchIF_Log__c();
+ iflog.Type__c = 'NFM112';
+ iflog.Log__c = 'callout start\n';
+ insert iflog;
+ iflog = [Select Id, Name from BatchIF_Log__c where Id = :iflog.Id];
+ System.debug(Logginglevel.DEBUG, 'NFM112_' + iflog.Name + ' start');
+ NFM112Controller.executeNotFuture(iflog.Id, Idbox);
+ }
+ //NFM112 2021/11/10 end
}
+
+ //add wangweipeng 2022/02/10 start
+ //缁忛攢鍟嗙殑鎬ц川鍙戠敓鍙樺寲锛岄偅涔堥渶瑕佸彂閭欢锛屽叾涓竴涓敹浠朵汉涓哄ぇ鍖哄姪鐞�
+ //澶у尯鍔╃悊锛氭牴鎹缁忛攢鍟嗘墍鍦ㄧ殑閭d釜澶у尯锛屾潵鍒ゆ柇鍒板簳鍙戠粰璋侊紝姣忎釜澶у尯鍔╃悊閮芥湁涓�涓汉锛岀洰鍓嶆槸瀛樺埌鑷畾涔夋簮鏁版嵁閲岄潰浜�
+ if(Trigger.isBefore){
+ //鐢ㄤ簬瀛樻斁姝ょ粡閿�鍟嗘槸閭d釜澶у尯
+ Set<String> setStaff = new Set<String>();
+ if(Trigger.isUpdate){
+ for (Account acc : Trigger.new) {
+ //鍒ゆ柇褰撳墠淇敼鐨勫鎴锋槸鍚︿负缁忛攢鍟�
+ if(acc.RecordTypeId == '01210000000Qem1'){
+ //濡傛灉鏄慨鏀圭粡閿�鍟嗭紝閭d箞鍒ゆ柇姝ょ粡閿�鍟嗙殑鍏堟鏍囪瘑鏄惁鍙戠敓鍙樺寲锛屽鏋滃彂閫佸彉鍖栵紝閭d箞灏辨洿鏂颁竴涓嬪ぇ鍖�
+ if(acc.FirstParagraphEnd__c != Trigger.oldMap.get(acc.Id).FirstParagraphEnd__c){
+ setStaff.add(acc.Salesdepartment_HP__c);
+ }
+ }
+ }
+ }else if(Trigger.isInsert){
+ for (Account acc : Trigger.new) {
+ //鍒ゆ柇褰撳墠鏂板鐨勫鎴锋槸鍚︿负缁忛攢鍟�
+ if(acc.RecordTypeId == '01210000000Qem1'){
+ setStaff.add(acc.Salesdepartment_HP__c);
+ }
+ }
+ }
+ if(setStaff.size() > 0){
+ //鑾峰彇瀵瑰簲鐨勮嚜瀹氫箟鍏冩暟鎹�
+ List<FSE_Regional_Assistant_Account__mdt> usrList = [select id,MasterLabel,DeveloperName,UserName__c,UserId__c from FSE_Regional_Assistant_Account__mdt where MasterLabel in :setStaff];
+ if(usrList != null && usrList.size() > 0){
+ //鑾峰彇澶у尯瀵瑰簲鐨勫姪鐞嗕汉鐨刬d
+ if(Trigger.isUpdate){
+ for (Account acc : Trigger.new) {
+ for(FSE_Regional_Assistant_Account__mdt fraam : usrList){
+ if(acc.FirstParagraphEnd__c != Trigger.oldMap.get(acc.Id).FirstParagraphEnd__c){
+ if(fraam.MasterLabel == acc.Salesdepartment_HP__c){
+ acc.FSE_Regional_Assistant_Account__c = fraam.UserId__c;
+ }
+ }
+ }
+ }
+ }else if(Trigger.isInsert){
+ for (Account acc : Trigger.new) {
+ for(FSE_Regional_Assistant_Account__mdt fraam : usrList){
+ if(fraam.MasterLabel == acc.Salesdepartment_HP__c){
+ acc.FSE_Regional_Assistant_Account__c = fraam.UserId__c;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ //add wangweipeng 2022/02/10 end
+
+ // if(Trigger.isUpdate){
+ // List<String> IdList = new List<String>();
+ // for(Account account : Trigger.new){
+ // Account old = Trigger.oldMap.get(account.Id);
+ // if(old.FirstParagraph__c != account.FirstParagraph__c || old.MonthlyPayment__c != account.MonthlyPayment__c){
+ // IdList.add(account.Id);
+ // }
+ // }
+ // if(IdList.size()>0){
+ // UpdateContractAimAmountHandler.sendToSAP(IdList);
+ // }
+ // }
}
\ No newline at end of file
--
Gitblit v1.9.1