From 5363705f99dcbb7c270a619804beb4ac29b3faa0 Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期三, 09 八月 2023 20:02:16 +0800
Subject: [PATCH] 今日修改

---
 force-app/main/default/triggers/AttachmentTrigger.trigger |  240 +++++++++++++++++++++++------------------------------------
 1 files changed, 94 insertions(+), 146 deletions(-)

diff --git a/force-app/main/default/triggers/AttachmentTrigger.trigger b/force-app/main/default/triggers/AttachmentTrigger.trigger
index 5b56614..22f8390 100644
--- a/force-app/main/default/triggers/AttachmentTrigger.trigger
+++ b/force-app/main/default/triggers/AttachmentTrigger.trigger
@@ -21,7 +21,7 @@
     List<String> OpporFileIds = new List<String>();
     Map<String,String> OpporFileUndeleteMap = new Map<String,String>();
     List<String> DeleteReIds = new List<String>();
-Map<String,String> OppordeleteReUserMap = new Map<String,String>();
+    Map<String,String> OppordeleteReUserMap = new Map<String,String>();
     Map<String,Datetime> OppordeleteReTimeMap = new Map<String,Datetime>();
     //CHAN-BCNCRB ---XHL----Start-----
     List<String> opportunity_FileIds = new List<String>();
@@ -29,6 +29,13 @@
     List<String> opportunityFileOrderIds = new List<String>();
     List<String> oFOrderIds = new List<String>();
     Map<String,Boolean> oFOrderIdMap = new Map<String,Boolean>();
+
+    // sx 20230210start 澶囧搧鍊熷嚭鐢宠鏁呴殰鎶ュ憡闄勪欢鎻愬彇
+    List<String> rentalApplyFaultIds = new List<String>();
+    Map<String,List<Id>> trentalImages = new Map<String,List<Id>>();
+    List<String> rentaldeleteApplyFaultIds = new List<String>();
+    Map<String,List<Id>> deleteImages = new Map<String,List<Id>>();
+    // sx 20230210end 澶囧搧鍊熷嚭鐢宠鏁呴殰鎶ュ憡闄勪欢鎻愬彇
     if (Trigger.isBefore && Trigger.isInsert) {
         for (Attachment att : Trigger.new) {
             if(String.valueOf(att.ParentId).startsWith(System.Label.Oppor_sepKey)){
@@ -55,7 +62,7 @@
             if (String.valueOf(att.ParentId).startsWith('001')) {
                 accIds.add(att.ParentId);
             }
-            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 start  姝e紡鐨勫彨a5A
+            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 start
             if (String.valueOf(att.ParentId).startsWith('a5C') || String.valueOf(att.ParentId).startsWith('a5A')) {
                 accAppIds.add(att.ParentId);
             }
@@ -80,9 +87,25 @@
                 oFOrderIds.add(att.ParentId);
                 oFOrderIdMap.put(att.ParentId,true);
             }
+
+            //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� start
+            Id cid = att.ParentId;
+            String parentLabel = cid.getSObjectType().getDescribe().getName();
+            if(parentLabel.equals('Rental_Apply_Fault__c')){
+                rentalApplyFaultIds.add(att.ParentId);
+                if(trentalImages.containskey(att.ParentId)){
+                    trentalImages.get(att.ParentId).add(att.Id);
+                }else{
+                    List<Id> temp = new List<Id>();
+                    temp.add(att.Id);
+                    trentalImages.put(att.ParentId,temp);
+                }
+            }
+            //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� end
         }
     }
     if (Trigger.isBefore && Trigger.isDelete) {
+        List<Attachment> attDeleteList = new List<Attachment>();
         for (Attachment att : Trigger.old) {
             //if (att.Name.toUpperCase() == '鍚堝悓涔�.PDF' && String.valueOf(att.ParentId).startsWith('a0t')) {
             // 娣讳粯銇椼仧濂戠磩鏇搞伄銉曘偂銈ゃ儷鍚嶃伅鎸囧畾銇с亶銇亜
@@ -102,7 +125,32 @@
                 oFOrderIds.add(att.ParentId);
                 oFOrderIdMap.put(att.ParentId,false);
             }
+            //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� start
+            Id cid = att.ParentId;
+            String parentLabel = cid.getSObjectType().getDescribe().getName();
+            if(parentLabel.equals('Rental_Apply_Fault__c')){
+                rentaldeleteApplyFaultIds.add(att.ParentId);
+                attDeleteList.add(att);
+                if(deleteImages.containskey(att.ParentId)){
+                    deleteImages.get(att.ParentId).add(att.Id);
+                }else{
+                    List<Id> temp = new List<Id>();
+                    temp.add(att.Id);
+                    deleteImages.put(att.ParentId,temp);
+                }
+            }
+            //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� end
         }
+        //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� start
+        List<Rental_Apply_Fault__c> rafList = [SELECT Id, Name FROM Rental_Apply_Fault__c WHERE Id IN: rentaldeleteApplyFaultIds AND (status__c = '宸插彂閫�' OR status__c = '宸插弽棣�')];
+        for (Rental_Apply_Fault__c raf : rafList) {
+            for (Attachment att : attDeleteList) {
+                if (att.ParentId == raf.Id) {
+                    att.addError('闈炶崏妗堜腑鐨勬娴嬪垎鏋愭姤鍛婁笉鍏佽鍒犻櫎宸蹭笂浼犵殑鏁呴殰鍥剧墖');
+                }
+            }
+        }
+        //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� end
     }
     if (Trigger.isAfter && Trigger.isDelete) {
         for (Attachment att : Trigger.old) {
@@ -134,8 +182,44 @@
         }
     }
     //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
+    //2023-2-10  sx澶囧搧 澶囧搧妫�娴嬪垎鏋愭姤鍛� start
+    if(rentalApplyFaultIds.size() > 0){
+        List<Rental_Apply_Fault__c> renList = [SELECT Id,AttachmentId1__c,AttachmentId2__c from Rental_Apply_Fault__c where Id in :rentalApplyFaultIds];
 
-    
+        system.debug('updrentalApplyFaultList====='+renList);
+        for(Rental_Apply_Fault__c ren : renList){
+            if(trentalImages.containskey(ren.Id)){ 
+                if (ren.AttachmentId1__c == null) {
+                    ren.AttachmentId1__c = trentalImages.get(ren.id)[0];
+                } else if(ren.AttachmentId2__c == null) {
+                    ren.AttachmentId2__c = trentalImages.get(ren.id)[0];
+                }
+            }
+        }
+        system.debug('updrentalApplyFaultList====='+renList);
+        UPDATE renList;
+    }
+
+    if(rentaldeleteApplyFaultIds.size() > 0){
+        List<Rental_Apply_Fault__c> renList = [SELECT Id,AttachmentId1__c,AttachmentId2__c from Rental_Apply_Fault__c where Id in :rentaldeleteApplyFaultIds];
+
+        system.debug('renList====='+renList);
+        for(Rental_Apply_Fault__c ren : renList){
+            if(deleteImages.containskey(ren.Id)){
+
+                if(deleteImages.get(ren.Id).contains(ren.AttachmentId1__c)){
+                    ren.AttachmentId1__c = '';
+                }
+                if(deleteImages.get(ren.Id).contains(ren.AttachmentId2__c)){
+                    ren.AttachmentId2__c = '';
+                }
+            }
+        }
+        system.debug('renList====='+renList);
+        UPDATE renList;
+    }
+    //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]) {
@@ -492,153 +576,17 @@
                     oFOrder.LatestUploadUser__c = null;
                     oFOrder.LatestUploadTime__c = null;
                 }
-            }
+            }銆�
 
             update oFOrderList;
 
         }                                            
     }
-   if (Test.isRunningTest()) {
-        Integer i=0;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
-        i++;
+    // DB202304087063 SFDC绯荤粺闄勪欢涓婁紶鑷姩閫氱煡鍔熻兘寮�鍙戦渶姹� start
+    if (Trigger.isInsert && Trigger.isAfter && StaticParameter.AttachmentTrigger) {
+        AttachmentReQisHandler handler = new AttachmentReQisHandler();
+        handler.run();
     }
+    // DB202304087063 SFDC绯荤粺闄勪欢涓婁紶鑷姩閫氱煡鍔熻兘寮�鍙戦渶姹� end
+
 }
\ No newline at end of file

--
Gitblit v1.9.1