From 2682be2d1932fd43e0226c011bb32ae3c5e643bf Mon Sep 17 00:00:00 2001
From: 李彤 <litong@prec-tech.com>
Date: 星期五, 25 三月 2022 17:17:45 +0800
Subject: [PATCH] LastBuy触发器
---
force-app/main/default/triggers/LastbuyProductTrigger.trigger | 2 +-
force-app/main/default/classes/LastbuyProductHandler.cls | 35 ++++++++++++++++++++++-------------
force-app/main/default/classes/LastbuyProductHandlerTest.cls | 2 ++
3 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/force-app/main/default/classes/LastbuyProductHandler.cls b/force-app/main/default/classes/LastbuyProductHandler.cls
index 3ba4f25..0fb8f6f 100644
--- a/force-app/main/default/classes/LastbuyProductHandler.cls
+++ b/force-app/main/default/classes/LastbuyProductHandler.cls
@@ -33,6 +33,10 @@
ReservedPro();
}
+ protected override void afterDelete(){
+ ReservedPro();
+ }
+
private void ReservedPro(){
//1.鏂板缓鎴栬�呮洿鏂颁骇鍝佸悗锛岃嫢棰勭暀浜у搧鏈夋晥锛屸�滈鐣欎骇鍝佲�濇爣璇嗕负true
if(trigger.isInsert || trigger.isUpdate){
@@ -63,24 +67,30 @@
//2.(1)"鏄惁鏈夋晥" 鍙樹负 false 妫�绱骇鍝佷富鏁版嵁涓嬬殑鎵�鏈夐鐣欎骇鍝侊紝鍏ㄦ棤鏁堝垯鎶婁骇鍝佷富鏁版嵁鐨�"棰勭暀浜у搧"鏍囪瘑 鍙樹负 false
// (2)"浜у搧" 棰勭暀浜у搧 鏇存敼 浜у搧涓绘暟鎹箣鍓嶇殑浜у搧 -- 妫�绱骇鍝佷富鏁版嵁涓嬬殑鎵�鏈夐鐣欎骇鍝侊紙娌℃湁/鍏ㄦ棤鏁堬級
// "棰勭暀浜у搧"鏍囪瘑 鍙樹负 false
- if(trigger.isUpdate){
+ if(trigger.isUpdate || trigger.isDelete){
//"鏄惁鏈夋晥" 鍙樹负 "鍚�" 鏃� 鎵�瀵瑰簲鐨勪骇鍝佷富鏁版嵁Id &&棰勭暀浜у搧 鏇存敼 浜у搧涓绘暟鎹箣鍓嶇殑浜у搧
List<Id> pfList = new List<Id>();
- for(LastbuyProduct__c lbp1 : newList){
- LastbuyProduct__c oldLbp1 = oldMap.get(lbp1.Id);
- if(oldLbp1.effectiveFLG__c != lbp1.effectiveFLG__c){
- System.debug('lt123鏃犳晥锛�'+lbp1.effectiveFLG__c);
- if(lbp1.effectiveFLG__c == false){
- System.debug('lt123鏃犳晥'+lbp1.effectiveFLG__c);
- pfList.add(lbp1.ProductName__c);
+ if(trigger.isUpdate){
+ for(LastbuyProduct__c lbp1 : newList){
+ LastbuyProduct__c oldLbp1 = oldMap.get(lbp1.Id);
+ if(oldLbp1.effectiveFLG__c != lbp1.effectiveFLG__c){
+ if(lbp1.effectiveFLG__c == false){
+ pfList.add(lbp1.ProductName__c);
+ }
+ }
+ //浜у搧鍙戠敓鍙樺寲鏃讹紝妫�绱袱涓骇鍝佺殑鏍囪瘑
+ if(oldLbp1.ProductName__c != lbp1.ProductName__c){
+ pfList.add(oldLbp1.ProductName__c);
}
}
- //浜у搧鍙戠敓鍙樺寲鏃讹紝妫�绱袱涓骇鍝佺殑鏍囪瘑
- if(oldLbp1.ProductName__c != lbp1.ProductName__c){
- pfList.add(oldLbp1.ProductName__c);
+ }
+ else if(trigger.isDelete){
+ for(LastbuyProduct__c lbp2 : oldList){
+ pfList.add(lbp2.ProductName__c);
}
}
+
System.debug('lt123闇�妫�绱㈡墍鏈夐鐣欎骇鍝佺殑浜у搧ID-pfList'+pfList);
@@ -90,7 +100,6 @@
Map<String,LastbuyProduct__c> lbpMap = new Map<String,LastbuyProduct__c>();
//鍙戠敓鍙樺寲鐨勪骇鍝両d涓嬬殑鎵�鏈夐鐣欎骇鍝�
List<LastbuyProduct__c> lbpList = [select id, effectiveFLG__c,ProductName__c from LastbuyProduct__c where ProductName__c in :pfList];
- System.debug('lt123鍙樺寲鐨勯鐣欎骇鍝乴bpList'+lbpList);
//p1List effectiveFLG__c涓簍rue 鐨勪骇鍝両d
List<Id> p1List = new List<Id>();
//p2List 杩欎釜浜у搧鎵�鏈夌殑棰勭暀浜у搧閮芥棤鏁� 鐨勪骇鍝両d
@@ -125,7 +134,6 @@
List<Product2> prflgList = new List<Product2>();
for(Product2 pro1 : pro1List){
pro1.LastbuyProductFLG__c = false;
- System.debug('lt123棰勭暀浜у搧鏍囪瘑'+pro1.LastbuyProductFLG__c);
prflgList.add(pro1);
}
if(prflgList.size() > 0){
@@ -133,6 +141,7 @@
}
}
}
+
}
}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LastbuyProductHandlerTest.cls b/force-app/main/default/classes/LastbuyProductHandlerTest.cls
index cd8bd02..5a53235 100644
--- a/force-app/main/default/classes/LastbuyProductHandlerTest.cls
+++ b/force-app/main/default/classes/LastbuyProductHandlerTest.cls
@@ -42,6 +42,8 @@
lbp2.ProductName__c = pro.Id;
update lbp2;
+ delete lbp1;
+
}
}
\ No newline at end of file
diff --git a/force-app/main/default/triggers/LastbuyProductTrigger.trigger b/force-app/main/default/triggers/LastbuyProductTrigger.trigger
index 4ff18a4..d48c73b 100644
--- a/force-app/main/default/triggers/LastbuyProductTrigger.trigger
+++ b/force-app/main/default/triggers/LastbuyProductTrigger.trigger
@@ -1,4 +1,4 @@
-trigger LastbuyProductTrigger on LastbuyProduct__c (before insert, after insert, after update) {
+trigger LastbuyProductTrigger on LastbuyProduct__c (before insert, after insert, after update, after delete) {
LastbuyProductHandler handler = new LastbuyProductHandler();
handler.run();
}
\ No newline at end of file
--
Gitblit v1.9.1