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