From d29f75b84fccd06917fb8e2c2ee70e9d76f868cd Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期四, 11 四月 2024 20:15:54 +0800
Subject: [PATCH] 123

---
 force-app/main/default/triggers/ContentDocumentLink.trigger |  371 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 229 insertions(+), 142 deletions(-)

diff --git a/force-app/main/default/triggers/ContentDocumentLink.trigger b/force-app/main/default/triggers/ContentDocumentLink.trigger
index 466cff4..c6e201f 100644
--- a/force-app/main/default/triggers/ContentDocumentLink.trigger
+++ b/force-app/main/default/triggers/ContentDocumentLink.trigger
@@ -1,8 +1,35 @@
-trigger ContentDocumentLink on ContentDocumentLink (before insert,after insert,before delete,after delete, before update, after update) {
+trigger ContentDocumentLink on ContentDocumentLink (before insert,after insert,before delete) {
+    // 20231103 闄堜含姝� Lightning鏂囦欢淇敼 Start
+    if(StaticParameter.ContentDocumentLink == false){
+        return;
+    }
+
+    if((!Test.isRunningTest())&&UserInfo.getUserId()==System.Label.ByPassTrigger){
+        return;
+    }
+//     if (Trigger.isAfter && Trigger.isInsert) {
+//         Set<Id> Ids = new Set<id>();
+//         Map<Id,ContentDocumentLink> mapcvwithid = new Map<Id,ContentDocumentLink>();
+//         for(ContentDocumentLink c:Trigger.new){
+//         ids.add(c.ContentDocumentId);
+//         mapcvwithid.put(c.ContentDocumentId,c);
+//         }
+//     if(ids.size() >  0){
+//         for(ContentDocument ContentDocumentObj : [select id,FileType from ContentDocument where id in: ids]){
+//             if(mapcvwithid.get(ContentDocumentObj.Id).LinkedEntityId != null && ContentDocumentObj.FileType != null){
+//                 String ObjectName = mapcvwithid.get(ContentDocumentObj.Id).LinkedEntityId.getSObjectType().getDescribe().getName();
+//                 String filetype = ContentDocumentObj.FileType.toLowerCase();
+//                 String CsName = ObjectName+'-'+filetype;
+                
+//                     ContentDocumentLink ContentDocumentLinkObj = mapcvwithid.get(ContentDocumentObj.Id);
+//                     ContentDocumentLinkObj.addError('Testing error');
+//                     return;
+//             }
+//         }
+//     }
+// }
     List<String> rentalIds = new List<String>();
     List<String> attIds = new List<String>();
-    List<String> rentaldelIds = new List<String>();
-    List<String> attdelIds = new List<String>();
     List<String> rentalApplyIds = new List<String>();
     List<String> accIds = new List<String>();
     //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 start
@@ -10,7 +37,6 @@
     //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 end
     // LHJ CHAN-BCLD4P 20190618 Start
     List<String> specIds = new List<String>();
-    List<String> specDelIds = new List<String>();
     // LHJ CHAN-BCLD4P 20190618 End
 
     // MZY SWAG-BXXBKA  2021-02-19 start
@@ -36,6 +62,8 @@
     List<String> rentaldeleteApplyFaultIds = new List<String>();
     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)){
@@ -45,69 +73,32 @@
             if(String.valueOf(link.LinkedEntityId).startsWith('a3Z')){
                 opportunityFileOrderIds.add(link.LinkedEntityId);
             }
+            docidList.add(link.ContentDocumentId);
         }
     }
-
-    //CHAN-BCNCRB ---XHL----End-----
     if (Trigger.isAfter && Trigger.isInsert) {
         for (ContentDocumentLink link : Trigger.new) {
-            ContentVersion version = [select Id,Title from ContentVersion where ContentDocumentId =: link.ContentDocumentId];
-            //if (att.Name.toUpperCase() == '鍚堝悓涔�.PDF' && String.valueOf(att.ParentId).startsWith('a0t')) {
-            // 娣讳粯銇椼仧濂戠磩鏇搞伄銉曘偂銈ゃ儷鍚嶃伅鎸囧畾銇с亶銇亜
-            if (String.valueOf(link.LinkedEntityId).startsWith('a2K')) {
-                rentalIds.add(link.LinkedEntityId);
-                attIds.add(version.Id);
-            }
-            if (String.valueOf(link.LinkedEntityId).startsWith('a0t')) {
-                rentalApplyIds.add(link.LinkedEntityId); 
-            }
-            if (String.valueOf(link.LinkedEntityId).startsWith('001')) {
-                accIds.add(link.LinkedEntityId);
-            }
-            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 start
-            if (String.valueOf(link.LinkedEntityId).startsWith('a5C') || String.valueOf(link.LinkedEntityId).startsWith('a5A')) {
-                accAppIds.add(link.LinkedEntityId);
-            }
-            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 end
-            if(String.valueOf(link.LinkedEntityId).startsWith(System.Label.Oppor_sepKey)){
-                OpporFileIds.add(link.LinkedEntityId);
-            }
-            // LHJ CHAN-BCLD4P 20190618 Start
-            if(String.valueOf(link.LinkedEntityId).startsWith(System.Label.OppSpecialApply)){
-                specIds.add(link.LinkedEntityId);
-            }
-            // LHJ CHAN-BCLD4P 20190618 End
-
-            // MZY SWAG-BXXBKA  2021-02-19 start 
-            if(String.valueOf(link.LinkedEntityId).startsWith('a3E')){
-                opdIds.add(link.LinkedEntityId);
-                opdMap.put(link.LinkedEntityId,version.Title);
-             }
-            // MZY SWAG-BXXBKA  2021-02-19 end
-
-            if(String.valueOf(link.LinkedEntityId).startsWith('a3Z')){
-                oFOrderIds.add(link.LinkedEntityId);
-                oFOrderIdMap.put(link.LinkedEntityId,true);
-            }
-
-            //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� start
-            Id cid = link.LinkedEntityId;
-            String parentLabel = cid.getSObjectType().getDescribe().getName();
-            if(parentLabel.equals('Rental_Apply_Fault__c')){
-                rentalApplyFaultIds.add(link.LinkedEntityId);
-                if(trentalImages.containskey(link.LinkedEntityId)){
-                    trentalImages.get(link.LinkedEntityId).add(version.Id);
-                }else{
-                    List<Id> temp = new List<Id>();
-                    temp.add(version.Id);
-                    trentalImages.put(link.LinkedEntityId,temp);
-                }
-            }
-            //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� end
+            docidList.add(link.ContentDocumentId);
         }
     }
-
-    if (Trigger.isAfter && Trigger.isDelete) {
+    if(Trigger.isDelete && Trigger.isBefore){
+        for (ContentDocumentLink link : Trigger.old) {
+            docidList.add(link.ContentDocumentId);
+            delDocidList.add(link.ContentDocumentId);
+        }
+    }
+    ContentVersion ver = new ContentVersion();
+    System.debug('docidList.size=>' + docidList.size());
+    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.isDelete) {
         for (ContentDocumentLink link : Trigger.old) {
             if (String.valueOf(link.LinkedEntityId).startsWith('001')) {
                 accIds.add(link.LinkedEntityId);
@@ -124,6 +115,70 @@
             //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 end
         }
     }
+    //CHAN-BCNCRB ---XHL----End-----
+    if (Trigger.isAfter && Trigger.isInsert) {
+        List<Id> idList = new List<Id>();
+        for (ContentDocumentLink link : Trigger.new) {
+            idList.add(link.ContentDocumentId);
+        }
+        List<ContentVersion> version = [select Id,Title from ContentVersion where ContentDocumentId in: idList];
+        for (ContentDocumentLink link : Trigger.new) {
+            //if (att.Name.toUpperCase() == '鍚堝悓涔�.PDF' && String.valueOf(att.ParentId).startsWith('a0t')) {
+            // 娣讳粯銇椼仧濂戠磩鏇搞伄銉曘偂銈ゃ儷鍚嶃伅鎸囧畾銇с亶銇亜
+            if (String.valueOf(link.LinkedEntityId).startsWith('a2K')) {
+                rentalIds.add(link.LinkedEntityId);
+                attIds.add(version[0].Id);
+            }
+            if (String.valueOf(link.LinkedEntityId).startsWith('a0t')) {
+                rentalApplyIds.add(link.LinkedEntityId); 
+            }
+            if (String.valueOf(link.LinkedEntityId).startsWith('001')) {
+                accIds.add(link.LinkedEntityId);
+            }
+            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 start
+            if (String.valueOf(link.LinkedEntityId).startsWith('a5C') || String.valueOf(link.LinkedEntityId).startsWith('a5A')) {
+                accAppIds.add(link.LinkedEntityId);
+            }
+            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 end
+            System.debug(link.LinkedEntityId +'闄堜含姝�');
+            if(String.valueOf(link.LinkedEntityId).startsWith(System.Label.Oppor_sepKey)){
+                OpporFileIds.add(link.LinkedEntityId);
+            }
+            // LHJ CHAN-BCLD4P 20190618 Start
+            if(String.valueOf(link.LinkedEntityId).startsWith(System.Label.OppSpecialApply)){
+                specIds.add(link.LinkedEntityId);
+            }
+            // LHJ CHAN-BCLD4P 20190618 End
+
+            // MZY SWAG-BXXBKA  2021-02-19 start 
+            if(String.valueOf(link.LinkedEntityId).startsWith('a3E')){
+                opdIds.add(link.LinkedEntityId);
+                opdMap.put(link.LinkedEntityId,version[0].Title);
+             }
+            // MZY SWAG-BXXBKA  2021-02-19 end
+
+            if(String.valueOf(link.LinkedEntityId).startsWith('a3Z')){
+                oFOrderIds.add(link.LinkedEntityId);
+                oFOrderIdMap.put(link.LinkedEntityId,true);
+            }
+
+            //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� start
+            Id cid = link.LinkedEntityId;
+            String parentLabel = cid.getSObjectType().getDescribe().getName();
+            if(parentLabel.equals('Rental_Apply_Fault__c')){
+                rentalApplyFaultIds.add(link.LinkedEntityId);
+                if(trentalImages.containskey(link.LinkedEntityId)){
+                    trentalImages.get(link.LinkedEntityId).add(version[0].Id);
+                }else{
+                    List<Id> temp = new List<Id>();
+                    temp.add(version[0].Id);
+                    trentalImages.put(link.LinkedEntityId,temp);
+                }
+            }
+            //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� end
+        }
+    }
+
 
     
     //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� start
@@ -165,13 +220,6 @@
     //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� end
 
 
-    if (rentaldelIds.size() > 0) {
-        List<Consumable_accessories_invoice__c> rentaldelList = new List<Consumable_accessories_invoice__c>();
-        for (Consumable_accessories_invoice__c ra : [select Id from Consumable_accessories_invoice__c where Invoice_code__c in :rentaldelIds and Attachment_ID__c in :attdelIds]) {
-            rentaldelList.add(ra);
-        }
-        ControllerUtil.delConsumableAccessoriesInvoiceSet(rentaldelList);
-    }
     
     if (rentalIds.size() > 0) {
         List<Consumable_order__c> rentalList = new List<Consumable_order__c>();
@@ -197,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
@@ -214,10 +266,20 @@
             if(accList.size() > 0){
                 // Account acc = new Account(Id = accid);
                 //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
-                for(Account acc : accList){                    
-                    if(Trigger.isDelete && (Trigger.isAfter)){
+                for(Account acc : accList){  
+                    if(Trigger.isUpdate && Trigger.isAfter){
+                        for(ContentDocumentLink link : Trigger.New){
+
+                            if(attMap.containsKey(link.LinkedEntityId) &&acc.Is_Active__c != '鑽夋涓�'){
+                                System.debug('lt123---鑽夋涓�---');
+                                link.addError('闈炶崏妗堜腑锛岄檮浠朵笉鍏佽缂栬緫銆�');
+                
+                                return;
+                            }
+                        }
+                    }                  
+                    if(Trigger.isDelete && (Trigger.isBefore)){
                         for(ContentDocumentLink link : Trigger.old){
-                            // if(attMap.containsKey(att.ParentID) && acc.Is_Active__c != '鑽夋涓�'){
                             if(acc.Is_Active__c != '鑽夋涓�'){
                                 link.addError('闈炶崏妗堜腑锛岄檮浠朵笉鍏佽鍒犻櫎銆�');
                 
@@ -226,6 +288,7 @@
                         }
                     }
                     acc.Is_upload_file__c = attMap.containsKey(accid);
+                    System.debug('鏄惁涓婁紶闄勪欢锛�' + attMap.containsKey(accid));
                     updAccList.add(acc);
                 }
             }
@@ -237,16 +300,21 @@
         //     acc.Is_upload_file__c = attMap.containsKey(accid);
         //     updAccList.add(acc);
         // }
-        if (updAccList.size() > 0) update updAccList;
+        if (updAccList.size() > 0){
+            StaticParameter.ContentDocumentTrigger = false;
+            update updAccList;
+        }
     }
 
     //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 start
     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>();
         
@@ -272,7 +340,16 @@
             //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 end
             
         }
-        if (updAccAppList.size() > 0) update updAccAppList;
+        try {
+            System.debug('瀹㈡埛鍙樻洿鐢宠');
+            if (updAccAppList.size() > 0){
+                StaticParameter.ContentDocumentTrigger = false;
+                update updAccAppList;
+            }  
+        } catch (Exception e) {
+            linkList[0].addError(e.getMessage());
+        }
+        
     }
     //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 end
 
@@ -281,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);
         }
@@ -328,18 +405,19 @@
                     ofc.Last_upload_user__c = UserInfo.getUserId();
                     ofc.Last_upload_time__c = System.now();
                     System.debug(ofc+'23333');
+                    update OpporList;
                 }else{
                     OpporFileUndeleteMap.put(ofc.id,ofc.id);
                     System.debug(ofc+'23333444444');
                 }
             }
-            update OpporList;
+            
         }
     }
     System.debug(Trigger.isDelete+'Trigger.isDelete');
     System.debug(Trigger.isBefore+'Trigger.isBefore');
    
-    if(Trigger.isDelete && Trigger.isAfter){
+    if(Trigger.isDelete && Trigger.isBefore){
         for(ContentDocumentLink link : Trigger.old){
             if(OpporFileUndeleteMap.containsKey(link.LinkedEntityId)){
                 link.addError('澶囪揣宸插鎵癸紝涓嶅彲鍒犻櫎闄勪欢');
@@ -354,75 +432,89 @@
     if(Trigger.isInsert){
         for(ContentDocumentLink link : Trigger.new){
             if(OpporFileUndeleteMap.containsKey(link.LinkedEntityId)){
-                ContentDocument doc = [select Id from ContentDocument where Id =: link.ContentDocumentId];
-                doc.addError('澶囪揣宸插鎵癸紝涓嶅彲鍒犻櫎闄勪欢');
+                // ContentDocument doc = [select Id from ContentDocument where Id =: link.ContentDocumentId];
+                link.addError('澶囪揣宸插鎵癸紝涓嶅彲鍒犻櫎闄勪欢');
                 // link.addError('澶囪揣宸插鎵癸紝涓嶅彲鍒犻櫎闄勪欢');
-
+                System.debug(Trigger.isBefore+'闄堜含姝�');
                 return;
             }else{
-                DeleteReIds.add(link.LinkedEntityId);
+                if(link.LinkedEntityId.getSObjectType().getDescribe().getName() != 'User'){
+                    DeleteReIds.add(link.LinkedEntityId);
+                }
+                // System.debug(Trigger.isBefore+'姝�');
+                // DeleteReIds.add(link.LinkedEntityId);
             }
         }
     }
-
-    // List<Attachment> atcList = [select id,ParentId,createddate,createdbyid from Attachment where ParentId in:DeleteReIds];
-    List<ContentDocumentLink> linkList = [select ContentDocumentId from ContentDocumentLink where LinkedEntityId in:DeleteReIds];
-    List<Id> idList = new List<Id>();
-    for (ContentDocumentLink link : linkList) {
-        idList.add(link.ContentDocumentId);
-    }
-    List<ContentDocument> docList = [select Id,ArchivedDate,ArchivedById from ContentDocument where Id =: idList];
-    System.debug(DeleteReIds+'222222222222');
-    if(docList.size()>0){
-        for(String ids : DeleteReIds){
-            for(ContentDocument doc : docList){
-                if(OppordeleteReTimeMap.containsKey(ids)){
-                    if(doc.ArchivedDate > OppordeleteReTimeMap.get(ids)){
-                        OppordeleteReTimeMap.put(ids,doc.ArchivedDate);
-                        OppordeleteReUserMap.put(ids,doc.ArchivedById);
+    if(DeleteReIds.size() > 0){
+        // List<Attachment> atcList = [select id,ParentId,createddate,createdbyid from Attachment where ParentId in:DeleteReIds];
+        List<ContentDocumentLink> linkList = [select LinkedEntityId,ContentDocumentId from ContentDocumentLink where LinkedEntityId in:DeleteReIds];
+        List<Id> idList = new List<Id>();
+        for (ContentDocumentLink link : linkList) {
+            if(link.LinkedEntityId.getSObjectType().getDescribe().getName() != 'User'){
+                idList.add(link.ContentDocumentId);
+            }
+        }
+        List<ContentDocument> docList = [select Id,CreatedDate,CreatedById from ContentDocument where Id =: idList];
+        System.debug(DeleteReIds+'222222222222');
+        System.debug(docList + 'doclist');
+        if(docList.size()>0){
+            for(String ids : DeleteReIds){
+                for(ContentDocument doc : docList){
+                    if(OppordeleteReTimeMap.containsKey(ids)){
+                        if(doc.CreatedDate > OppordeleteReTimeMap.get(ids)){
+                            OppordeleteReTimeMap.put(ids,doc.CreatedDate);
+                            OppordeleteReUserMap.put(ids,doc.CreatedById);
+                        }else{
+                            continue;
+                        }
                     }else{
-                        continue;
+                        OppordeleteReTimeMap.put(ids,doc.CreatedDate);
+                        OppordeleteReUserMap.put(ids,doc.CreatedById);
                     }
-                }else{
-                    OppordeleteReTimeMap.put(ids,doc.ArchivedDate);
-                    OppordeleteReUserMap.put(ids,doc.ArchivedById);
                 }
             }
-        }
 
-
-        List<Opportunity_File__c> reDateList = [select id,Last_upload_time__c,
-                                                                Is_Locked__c,
-                                                                Last_upload_user__c
-                                                            from Opportunity_File__c 
-                                                            where id 
-                                                            in:DeleteReIds ];
-        if(reDateList.size()>0){
-            for(Opportunity_File__c ofc : reDateList){
-                ofc.Last_upload_time__c = OppordeleteReTimeMap.get(ofc.id);
-                ofc.Last_upload_user__c = OppordeleteReUserMap.get(ofc.id);
-                System.debug(ofc+'233333333');
-            }
-            update reDateList;
-        }
-    }else{
-        List<Opportunity_File__c> reDateList = [select id,Last_upload_time__c,
-                                                                Is_Locked__c,
-                                                                Last_upload_user__c
-                                                            from Opportunity_File__c 
-                                                            where id 
-                                                            in:DeleteReIds ];
-        if(reDateList.size()>0){
-            for(Opportunity_File__c ofc : reDateList){
-                if (!ofc.Is_Locked__c) {
-                    ofc.Last_upload_time__c = null;
-                    ofc.Last_upload_user__c = null;
+            System.debug(OppordeleteReTimeMap + 'OppordeleteReTimeMap');
+            System.debug(OppordeleteReUserMap + 'OppordeleteReUserMap');
+            List<Opportunity_File__c> reDateList = [select id,Last_upload_time__c,
+                                                                    Is_Locked__c,
+                                                                    Last_upload_user__c
+                                                                from Opportunity_File__c 
+                                                                where id 
+                                                                in:DeleteReIds ];
+            if(reDateList.size()>0){
+                for(Opportunity_File__c ofc : reDateList){
+                    ofc.Last_upload_time__c = OppordeleteReTimeMap.get(ofc.id);
+                    ofc.Last_upload_user__c = OppordeleteReUserMap.get(ofc.id);
+                    System.debug(ofc+'233333333');
+                }
+                if(Trigger.isInsert && Trigger.isAfter){
                     update reDateList;
                 }
                 
             }
+        }else{
+            List<Opportunity_File__c> reDateList = [select id,Last_upload_time__c,
+                                                                    Is_Locked__c,
+                                                                    Last_upload_user__c
+                                                                from Opportunity_File__c 
+                                                                where id 
+                                                                in:DeleteReIds ];
+            if(reDateList.size()>0){
+                for(Opportunity_File__c ofc : reDateList){
+                    if (!ofc.Is_Locked__c) {
+                        ofc.Last_upload_time__c = null;
+                        ofc.Last_upload_user__c = null;
+                        update reDateList;
+                    }
+                    
+                }
+            }
         }
     }
+
+    
 
     //CHAN-BCNCRB ---XHL----Start-----
     if (opportunity_FileIds.size() > 0) {
@@ -498,7 +590,7 @@
         if (oFOrderList.size() > 0 ) {
 
             for (OpportunityFileOrder__c oFOrder :oFOrderList) {
-
+                System.debug(oFOrderIdMap.get(oFOrder.Id));
                 if (oFOrderIdMap.get(oFOrder.Id)) {
                     oFOrder.LatestUploadUser__c = UserInfo.getUserId();
                     oFOrder.LatestUploadTime__c = System.now();
@@ -513,18 +605,13 @@
         }                                            
     }
     // DB202304087063 SFDC绯荤粺闄勪欢涓婁紶鑷姩閫氱煡鍔熻兘寮�鍙戦渶姹� start
-    if (Trigger.isInsert && Trigger.isAfter && false) {
-        AttachmentReQisHandler handler = new AttachmentReQisHandler();
-        handler.run();
+    if (Trigger.isInsert && Trigger.isAfter) {
+            NotetoPdfHandler handler = new NotetoPdfHandler();
+            handler.run();
     }
     // DB202304087063 SFDC绯荤粺闄勪欢涓婁紶鑷姩閫氱煡鍔熻兘寮�鍙戦渶姹� end
 
 
-
-
-
-
-
-
+// 20231103 闄堜含姝� Lightning鏂囦欢淇敼 End
     
 }
\ No newline at end of file

--
Gitblit v1.9.1