From 962519811b7c4be07f30d09e791798b0ea79d3ae Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期三, 08 三月 2023 09:54:02 +0800
Subject: [PATCH] 同步代码

---
 force-app/main/default/triggers/AttachmentTrigger.trigger |  218 +++++++++++++++++++++++-------------------------------
 1 files changed, 92 insertions(+), 126 deletions(-)

diff --git a/force-app/main/default/triggers/AttachmentTrigger.trigger b/force-app/main/default/triggers/AttachmentTrigger.trigger
index 0619396..06312aa 100644
--- a/force-app/main/default/triggers/AttachmentTrigger.trigger
+++ b/force-app/main/default/triggers/AttachmentTrigger.trigger
@@ -1,17 +1,21 @@
-trigger AttachmentTrigger on Attachment (before insert,after insert,before delete,after delete, before update, after update) {
+trigger AttachmentTrigger on Attachment (before insert,after insert,before delete,after delete) {
     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
-    List<String> accAppIds = new List<String>();
-    //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
+
+    // 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 澶囧搧鍊熷嚭鐢宠鏁呴殰鎶ュ憡闄勪欢鎻愬彇
 
     // MZY SWAG-BXXBKA  2021-02-19 start
     List<String> opdIds = new List<String>();
@@ -55,11 +59,6 @@
             if (String.valueOf(att.ParentId).startsWith('001')) {
                 accIds.add(att.ParentId);
             }
-            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 start
-            if (String.valueOf(att.ParentId).startsWith('a5C')) {
-                accAppIds.add(att.ParentId);
-            }
-            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 end
             if(String.valueOf(att.ParentId).startsWith(System.Label.Oppor_sepKey)){
                 OpporFileIds.add(att.ParentId);
             }
@@ -80,9 +79,26 @@
                 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 +118,34 @@
                 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) {
@@ -114,26 +157,8 @@
                 specIds.add(att.ParentId);
             }
             // LHJ CHAN-BCLD4P 20190618 End
-            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 start
-            if (String.valueOf(att.ParentId).startsWith('a5C')) {
-                accAppIds.add(att.ParentId);
-            }
-            //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 end
         }
     }
-    //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start  
-    if (Trigger.isAfter && Trigger.isUpdate) {
-        for (Attachment att : Trigger.old) {
-            if (String.valueOf(att.ParentId).startsWith('a5C')) {
-                accAppIds.add(att.ParentId);
-            }
-
-            if (String.valueOf(att.ParentId).startsWith('001')) {
-                accIds.add(att.ParentId);
-            }
-        }
-    }
-    //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
 
     
     if (rentaldelIds.size() > 0) {
@@ -165,6 +190,43 @@
         ControllerUtil.updRentalApplyList(rentalApplyList);
     }
 
+
+    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;
+    }
+
     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];
@@ -172,109 +234,13 @@
             attMap.put(att.ParentId, att.ParentId);
         }
         List<Account> updAccList = new List<Account>();
-
-        //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
-        List<Account> accList = [select id,Name,
-                                                         Is_Active__c
-                                               from Account
-                                               where id in:accIds ];
-        //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 end
-
         for (String accid : accIds) {
-            if(accList.size() > 0){
-                // Account acc = new Account(Id = accid);
-                //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
-                for(Account acc : accList){                    
-                    if(Trigger.isUpdate && Trigger.isAfter){
-                        for(Attachment att : Trigger.New){
-                            System.debug('lt123---鏇存柊---鐘舵��---'+acc.Is_Active__c);
-                            if(attMap.containsKey(att.ParentID) && acc.Is_Active__c != '鑽夋涓�'){
-                                System.debug('lt123---鑽夋涓�---');
-                                att.addError('闈炶崏妗堜腑锛岄檮浠朵笉鍏佽缂栬緫銆�');
-                
-                                return;
-                            }
-                        }
-                    }
-
-                    if(Trigger.isDelete && (Trigger.isBefore || Trigger.isAfter)){
-                        for(Attachment att : Trigger.old){
-                            // if(attMap.containsKey(att.ParentID) && acc.Is_Active__c != '鑽夋涓�'){
-                            if(acc.Is_Active__c != '鑽夋涓�'){
-                                att.addError('闈炶崏妗堜腑锛岄檮浠朵笉鍏佽鍒犻櫎銆�');
-                
-                                return;
-                            }
-                        }
-                    }
-                    acc.Is_upload_file__c = attMap.containsKey(accid);
-                    updAccList.add(acc);
-                }
-            }
-            //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 end
+            Account acc = new Account(Id = accid);
+            acc.Is_upload_file__c = attMap.containsKey(accid);
+            updAccList.add(acc);
         }
-
-        // 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;
     }
-    //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];
-        for (Attachment att : attList) {
-            attMap.put(att.ParentId, att.ParentId);
-        }
-        List<Account_Delay_Apply__c> updAccAppList = new List<Account_Delay_Apply__c>();
-        
-        //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 start
-        List<Account_Delay_Apply__c> adaList = [select id,Name,
-                                                         Is_Active__c
-                                               from Account_Delay_Apply__c 
-                                               where id in:accAppIds ];
-        //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 end
-
-        for (String accappid : accAppIds) {
-            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){                    
-                    if(Trigger.isUpdate && Trigger.isAfter){
-                        for(Attachment att : Trigger.New){
-                            if(attMap.containsKey(att.ParentID) && accapp.Is_Active__c != '鑽夋涓�'){
-                                att.addError('闈炶崏妗堜腑锛岄檮浠朵笉鍏佽缂栬緫銆�');
-                
-                                return;
-                            }
-                        }
-                    }
-                    if(Trigger.isDelete){
-                        for(Attachment att : Trigger.old){
-                            // if(attMap.containsKey(att.ParentID) && accapp.Is_Active__c != '鑽夋涓�'){
-                            if(accapp.Is_Active__c != '鑽夋涓�'){
-                                att.addError('闈炶崏妗堜腑锛岄檮浠朵笉鍏佽鍒犻櫎銆�');
-                
-                                return;
-                            }
-                        }
-                    }
-                    accapp.Is_upload_file__c = attMap.containsKey(accappid);
-                    updAccAppList.add(accapp);
-                }
-                
-            }
-            
-            //20221207 lt 鍖婚櫌瀹℃壒浼樺寲 end
-            
-        }
-        if (updAccAppList.size() > 0) update updAccAppList;
-    }
-    //20221014 yc 鍖婚櫌瀹℃壒浼樺寲 end
-
     // LHJ CHAN-BCLD4P 20190618 Start
     if (specIds.size() > 0) {
         

--
Gitblit v1.9.1