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/ContentDocumentTrigger.trigger |   82 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 72 insertions(+), 10 deletions(-)

diff --git a/force-app/main/default/triggers/ContentDocumentTrigger.trigger b/force-app/main/default/triggers/ContentDocumentTrigger.trigger
index ec7fc71..46df1e0 100644
--- a/force-app/main/default/triggers/ContentDocumentTrigger.trigger
+++ b/force-app/main/default/triggers/ContentDocumentTrigger.trigger
@@ -1,4 +1,5 @@
 trigger ContentDocumentTrigger on ContentDocument (before delete,before update) {
+    // 20231103 闄堜含姝� Lightning鏂囦欢淇敼 Start
     if(StaticParameter.ContentDocumentTrigger == false){
         return;
     }
@@ -38,6 +39,29 @@
     String invoiceStart = System.Label.invoiceStart;
     List<String> rentaldelIdsZhj = new List<String>();
     List<String> attdelIdsZhj = new List<String>();
+    Set<Id> docidList = new Set<Id>();
+    Set<Id> delDocidList = new Set<Id>();
+    if(Trigger.isDelete && Trigger.isBefore){
+        for (ContentDocument doc : Trigger.old) {
+            docidList.add(doc.Id);
+            delDocidList.add(doc.Id);
+        }
+    }
+    if(Trigger.isUpdate && Trigger.isBefore){
+        for (ContentDocument doc : Trigger.old) {
+            docidList.add(doc.Id);
+        }
+    }
+    ContentVersion ver = new ContentVersion();
+    if(docidList.size() > 0){
+        ver = [select FileType,TextPreview from ContentVersion where ContentDocumentId in: docidList limit 1];
+        System.debug('TextPreview=>' + ver.TextPreview);
+        System.debug('FileType=>' + ver.TextPreview);
+        if(ver.FileType == 'SNOTE'){
+            System.debug('鍙伓鐨勫娉紒锛侊紒');
+            return;
+        }
+    }
     if (Trigger.isBefore && Trigger.isUpdate) {
         List<Id> idList = new List<Id>();
         for(ContentDocument doc: Trigger.old){
@@ -184,7 +208,25 @@
         //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� end
     }
 
-    
+    if (specIds.size() > 0) {
+        
+        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 ContentDocumentId,LinkedEntityId from ContentDocumentLink where   ContentDocument.FileType != 'SNOTE' and   LinkedEntityId =: specIds 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<OpportunitySpecialApply__c> updSpecList = new List<OpportunitySpecialApply__c>();
+        for (String specId : specIds) {
+            OpportunitySpecialApply__c spec = new OpportunitySpecialApply__c(Id = specId);
+            spec.Is_upload_file__c = attMap.containsKey(specId);
+            updSpecList.add(spec);
+        }
+        if (updSpecList.size() > 0) update updSpecList;
+    }
 
     //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
     //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� start
@@ -301,9 +343,12 @@
      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);
+            // 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>();
         
@@ -346,6 +391,16 @@
             }
             
             //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 end
+            if(adaList.size() > 0){
+                // Account_Delay_Apply__c accapp = new Account_Delay_Apply__c(Id = accappid);
+                //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
+                
+                for(Account_Delay_Apply__c accapp : adaList){                    
+                    accapp.Is_upload_file__c = attMap.containsKey(accappid);
+                    updAccAppList.add(accapp);
+                }
+                
+            }
             
         }
         try {
@@ -450,10 +505,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
@@ -491,17 +550,20 @@
                         }
                     }
                     acc.Is_upload_file__c = attMap.containsKey(accid);
+                    System.debug('鏄惁涓婁紶闄勪欢锛�' + attMap.containsKey(accid));
                     updAccList.add(acc);
                 }
             }
             //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 end
         }
         // for (String accid : accIds) {
-    //     //     Account acc = new Account(Id = accid);
-    //     //     acc.Is_upload_file__c = attMap.containsKey(accid);
-    //     //     updAccList.add(acc);
-    //     // }
-    //     if (updAccList.size() > 0) update updAccList;
+        //     Account acc = new Account(Id = accid);
+        //     acc.Is_upload_file__c = attMap.containsKey(accid);
+        //     updAccList.add(acc);
+        // }
+
+        if (updAccList.size() > 0) update updAccList;
 
 }
+// 20231103 闄堜含姝� Lightning鏂囦欢淇敼 End
 }
\ No newline at end of file

--
Gitblit v1.9.1