From fd9df05c48c09b4d7f39a3b401882bda226dedea Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期二, 31 十月 2023 20:38:18 +0800
Subject: [PATCH] 近期修改

---
 force-app/main/default/triggers/ContentDocumentLink.trigger |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/force-app/main/default/triggers/ContentDocumentLink.trigger b/force-app/main/default/triggers/ContentDocumentLink.trigger
index 442a098..c6e201f 100644
--- a/force-app/main/default/triggers/ContentDocumentLink.trigger
+++ b/force-app/main/default/triggers/ContentDocumentLink.trigger
@@ -1,4 +1,5 @@
 trigger ContentDocumentLink on ContentDocumentLink (before insert,after insert,before delete) {
+    // 20231103 闄堜含姝� Lightning鏂囦欢淇敼 Start
     if(StaticParameter.ContentDocumentLink == false){
         return;
     }
@@ -62,6 +63,7 @@
     Map<String,List<Id>> deleteImages = new Map<String,List<Id>>();
     // sx 20230210end 澶囧搧鍊熷嚭鐢宠鏁呴殰鎶ュ憡闄勪欢鎻愬彇
     Set<Id> docidList = new Set<Id>();
+    Set<Id> delDocidList = new Set<Id>();
     if (Trigger.isBefore && Trigger.isInsert) {
         for (ContentDocumentLink link : Trigger.new) {
             if(String.valueOf(link.LinkedEntityId).startsWith(System.Label.Oppor_sepKey)){
@@ -77,6 +79,12 @@
     if (Trigger.isAfter && Trigger.isInsert) {
         for (ContentDocumentLink link : Trigger.new) {
             docidList.add(link.ContentDocumentId);
+        }
+    }
+    if(Trigger.isDelete && Trigger.isBefore){
+        for (ContentDocumentLink link : Trigger.old) {
+            docidList.add(link.ContentDocumentId);
+            delDocidList.add(link.ContentDocumentId);
         }
     }
     ContentVersion ver = new ContentVersion();
@@ -237,10 +245,14 @@
     if (accIds.size() > 0) {
         Map<String, String> attMap = new Map<String, String>();
         // List<Attachment> attList = [select Id, ParentId from Attachment where ParentId = :accIds order by ParentId];
-        List<ContentDocumentLink> linkList = [select LinkedEntityId from ContentDocumentLink where LinkedEntityId =: accIds order by LinkedEntityId];
+        List<ContentDocumentLink> linkList = [select ContentDocumentId,LinkedEntityId from ContentDocumentLink where ContentDocument.FileType != 'SNOTE' and LinkedEntityId =: accIds order by LinkedEntityId];
+        System.debug('瀹㈡埛Link鐨勬潯鏁帮細' + linkList.size());
         for (ContentDocumentLink link : linkList) {
-            attMap.put(link.LinkedEntityId, link.LinkedEntityId);
+            if(!delDocidList.contains(link.ContentDocumentId)){
+                attMap.put(link.LinkedEntityId, link.LinkedEntityId);
+            }
         }
+        System.debug('attMap鐨勬潯鏁帮細' + attMap);
         List<Account> updAccList = new List<Account>();
 
         //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
@@ -276,6 +288,7 @@
                         }
                     }
                     acc.Is_upload_file__c = attMap.containsKey(accid);
+                    System.debug('鏄惁涓婁紶闄勪欢锛�' + attMap.containsKey(accid));
                     updAccList.add(acc);
                 }
             }
@@ -297,9 +310,11 @@
     if (accAppIds.size() > 0) {
         Map<String, String> attMap = new Map<String, String>();
         // List<Attachment> attList = [select Id, ParentId from Attachment where ParentId = :accAppIds order by ParentId];
-        List<ContentDocumentLink> linkList = [select LinkedEntityId from ContentDocumentLink where LinkedEntityId =: accAppIds order by LinkedEntityId];
+        List<ContentDocumentLink> linkList = [select ContentDocumentId,LinkedEntityId from ContentDocumentLink where  ContentDocument.FileType != 'SNOTE' and  LinkedEntityId =: accAppIds order by LinkedEntityId];
         for (ContentDocumentLink link : linkList) {
-            attMap.put(link.LinkedEntityId, link.LinkedEntityId);
+            if(!delDocidList.contains(link.ContentDocumentId)){
+                attMap.put(link.LinkedEntityId, link.LinkedEntityId);
+            }
         }
         List<Account_Delay_Apply__c> updAccAppList = new List<Account_Delay_Apply__c>();
         
@@ -327,7 +342,10 @@
         }
         try {
             System.debug('瀹㈡埛鍙樻洿鐢宠');
-            if (updAccAppList.size() > 0) update updAccAppList; 
+            if (updAccAppList.size() > 0){
+                StaticParameter.ContentDocumentTrigger = false;
+                update updAccAppList;
+            }  
         } catch (Exception e) {
             linkList[0].addError(e.getMessage());
         }
@@ -340,7 +358,7 @@
         
         Map<String, String> attMap = new Map<String, String>();
         // List<Attachment> attList = [select Id, ParentId from Attachment where ParentId = :specIds order by ParentId];
-        List<ContentDocumentLink> linkList = [select LinkedEntityId from ContentDocumentLink where LinkedEntityId =: specIds order by LinkedEntityId];
+        List<ContentDocumentLink> linkList = [select LinkedEntityId from ContentDocumentLink where  ContentDocument.FileType != 'SNOTE' and  LinkedEntityId =: specIds order by LinkedEntityId];
         for (ContentDocumentLink link : linkList) {
             attMap.put(link.LinkedEntityId, link.LinkedEntityId);
         }
@@ -594,6 +612,6 @@
     // DB202304087063 SFDC绯荤粺闄勪欢涓婁紶鑷姩閫氱煡鍔熻兘寮�鍙戦渶姹� end
 
 
-
+// 20231103 闄堜含姝� Lightning鏂囦欢淇敼 End
     
 }
\ No newline at end of file

--
Gitblit v1.9.1