From e4e82928f141bd7b580e33289412dfd9bea821f8 Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期二, 25 七月 2023 15:24:22 +0800
Subject: [PATCH] review修改以及修改附件
---
force-app/main/default/classes/AttachmentReQisHandler.cls | 103 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 80 insertions(+), 23 deletions(-)
diff --git a/force-app/main/default/classes/AttachmentReQisHandler.cls b/force-app/main/default/classes/AttachmentReQisHandler.cls
index 86d17c1..ed28a02 100644
--- a/force-app/main/default/classes/AttachmentReQisHandler.cls
+++ b/force-app/main/default/classes/AttachmentReQisHandler.cls
@@ -5,18 +5,18 @@
*/
public without sharing class AttachmentReQisHandler extends Oly_TriggerHandler{
@TestVisible
- private Map<Id, Attachment> newMap;
+ private Map<Id, ContentDocumentLink> newMap;
@TestVisible
- private Map<Id, Attachment> oldMap;
+ private Map<Id, ContentDocumentLink> oldMap;
@TestVisible
- private List<Attachment> newList;
+ private List<ContentDocumentLink> newList;
@TestVisible
- private List<Attachment> oldList;
+ private List<ContentDocumentLink> oldList;
public AttachmentReQisHandler() {
- this.newMap = (Map<Id, Attachment>) Trigger.newMap;
- this.oldMap = (Map<Id, Attachment>) Trigger.oldMap;
- this.newList = (List<Attachment>) Trigger.new;
- this.oldList = (List<Attachment>) Trigger.old;
+ this.newMap = (Map<Id, ContentDocumentLink>) Trigger.newMap;
+ this.oldMap = (Map<Id, ContentDocumentLink>) Trigger.oldMap;
+ this.newList = (List<ContentDocumentLink>) Trigger.new;
+ this.oldList = (List<ContentDocumentLink>) Trigger.old;
}
@TestVisible
protected override void afterInsert() {
@@ -24,19 +24,32 @@
NoteMail();
}
private void NoteMail() {
+ List<Id> linkIdList = new List<Id>();
+ for (ContentDocumentLink link : newList) {
+ linkIdList.add(link.Id);
+ }
+ newList = [select Id,LinkedEntityId,ContentDocumentId from ContentDocumentLink where Id in: linkIdList];
String baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
List<Messaging.SingleEmailMessage> sendMails = new List<Messaging.SingleEmailMessage>();
List<String> Rlist = new List<String>();
List<String> ParentIdList = new List<String>();
// QisID
- for (Attachment att : newList) {
- if(String.valueOf(att.ParentId).startsWith('a0J')
- || String.valueOf(att.ParentId).startsWith('a0f')){
- Rlist.add(att.Id);
- ParentIdList.add(att.ParentId);
+ for (ContentDocumentLink link : newList) {
+ if(String.valueOf(link.LinkedEntityId).startsWith('a0J')
+ || String.valueOf(link.LinkedEntityId).startsWith('a0f')){
+ Rlist.add(link.ContentDocumentId);
+ ParentIdList.add(link.LinkedEntityId);
}
}
- List<Attachment> NtList = [Select id,ParentId,Name,Body FROM Attachment where Id in : Rlist];
+ // for (Attachment att : newList) {
+ // if(String.valueOf(att.ParentId).startsWith('a0J')
+ // || String.valueOf(att.ParentId).startsWith('a0f')){
+ // Rlist.add(att.Id);
+ // ParentIdList.add(att.ParentId);
+ // }
+ // }
+ // List<Attachment> NtList = [Select id,ParentId,Name,Body FROM Attachment where Id in : Rlist];
+ List<ContentVersion> verList = [select Id,Title,VersionData,ContentDocumentId from ContentVersion where ContentDocumentId in: Rlist];
Map<Id,Repair__c> updateRprMap = new Map<Id,Repair__c>();
Map<Id,QIS_Report__c> updateQisMap = new Map<Id,QIS_Report__c>();
for (Repair__c re :[select id,Name,SerialNumber__c,Delivered_Product__r.Name,HP_Name__c
@@ -61,11 +74,12 @@
}
}
List<User> userList = [select Id, Name, Email, Manager.Email from User where id IN :IdList];
- for (Attachment nt : NtList) {
- String titName = updateRprMap.containsKey(nt.ParentId)? updateRprMap.get(nt.ParentId).Name : updateQisMap.get(nt.ParentId).Name;
- String prname = updateRprMap.containsKey(nt.ParentId)? updateRprMap.get(nt.ParentId).Delivered_Product__r.Name : updateQisMap.get(nt.ParentId).nonyushohin__r.Name;
- String Serial = updateRprMap.containsKey(nt.ParentId)? updateRprMap.get(nt.ParentId).SerialNumber__c : updateQisMap.get(nt.ParentId).lot_or_serial__c;
- String accountname = updateRprMap.containsKey(nt.ParentId)? updateRprMap.get(nt.ParentId).HP_Name__c : updateQisMap.get(nt.ParentId).Hospital__r.Name;
+ for (ContentVersion version : verList) {
+ ContentDocumentLink link = [select LinkedEntityId from ContentDocumentLink where ContentDocumentId =: version.ContentDocumentId limit 1];
+ String titName = updateRprMap.containsKey(link.LinkedEntityId)? updateRprMap.get(link.LinkedEntityId).Name : updateQisMap.get(link.LinkedEntityId).Name;
+ String prname = updateRprMap.containsKey(link.LinkedEntityId)? updateRprMap.get(link.LinkedEntityId).Delivered_Product__r.Name : updateQisMap.get(link.LinkedEntityId).nonyushohin__r.Name;
+ String Serial = updateRprMap.containsKey(link.LinkedEntityId)? updateRprMap.get(link.LinkedEntityId).SerialNumber__c : updateQisMap.get(link.LinkedEntityId).lot_or_serial__c;
+ String accountname = updateRprMap.containsKey(link.LinkedEntityId)? updateRprMap.get(link.LinkedEntityId).HP_Name__c : updateQisMap.get(link.LinkedEntityId).Hospital__r.Name;
String title = '';
String body = '';
title = '銆愪慨鐞�/QIS銆戯細' + titName + '宸叉柊澧為檮浠讹紝璇锋煡鐪�';
@@ -75,12 +89,12 @@
body += '<br/>';
body += '鏈鸿韩鍙�/鎵瑰彿 锛�' + Serial;
body += '<br/>';
- body += '闄勪欢鍚嶇О/澶囨敞鍚嶇О锛�' + nt.Name;
+ body += '闄勪欢鍚嶇О/澶囨敞鍚嶇О锛�' + version.Title;
body += '<br/>';
body += '鎿嶄綔鎷呭綋锛�' + UserInfo.getName();
body += '<br/>';
body += '<br/>';
- body += '閾炬帴锛�' + baseUrl + '/' + nt.ParentId +' ';
+ body += '閾炬帴锛�' + baseUrl + '/' + link.LinkedEntityId +' ';
//鏀朵欢閭
List<String> toMailList = new List<String>();
String uId = UserInfo.getUserId();
@@ -91,8 +105,9 @@
}
//鎶勯�佺殑閭
List<String> ccMailList = new List<String>();
- ccMailList.add('gaozhangwei@prec-tech.com');
- ccMailList.add('wei_liang@olympus.com.cn');
+ // ccMailList.add('gaozhangwei@prec-tech.com');
+ // ccMailList.add('wei_liang@olympus.com.cn');
+ ccMailList.add('chenjingwu@prec-tech.com');
Messaging.SingleEmailMessage messageNEW = new Messaging.SingleEmailMessage();
messageNEW.subject = title;
messageNEW.htmlBody = body;
@@ -103,6 +118,48 @@
}
sendMails.add(messageNEW);
}
+ // for (Attachment nt : NtList) {
+ // String titName = updateRprMap.containsKey(nt.ParentId)? updateRprMap.get(nt.ParentId).Name : updateQisMap.get(nt.ParentId).Name;
+ // String prname = updateRprMap.containsKey(nt.ParentId)? updateRprMap.get(nt.ParentId).Delivered_Product__r.Name : updateQisMap.get(nt.ParentId).nonyushohin__r.Name;
+ // String Serial = updateRprMap.containsKey(nt.ParentId)? updateRprMap.get(nt.ParentId).SerialNumber__c : updateQisMap.get(nt.ParentId).lot_or_serial__c;
+ // String accountname = updateRprMap.containsKey(nt.ParentId)? updateRprMap.get(nt.ParentId).HP_Name__c : updateQisMap.get(nt.ParentId).Hospital__r.Name;
+ // String title = '';
+ // String body = '';
+ // title = '銆愪慨鐞�/QIS銆戯細' + titName + '宸叉柊澧為檮浠讹紝璇锋煡鐪�';
+ // body += '鐢ㄦ埛鍚嶏細' + accountname;
+ // body += '<br/>';
+ // body += '浜у搧鍚嶇О/鍨嬪彿 锛�' + prname;
+ // body += '<br/>';
+ // body += '鏈鸿韩鍙�/鎵瑰彿 锛�' + Serial;
+ // body += '<br/>';
+ // body += '闄勪欢鍚嶇О/澶囨敞鍚嶇О锛�' + nt.Name;
+ // body += '<br/>';
+ // body += '鎿嶄綔鎷呭綋锛�' + UserInfo.getName();
+ // body += '<br/>';
+ // body += '<br/>';
+ // body += '閾炬帴锛�' + baseUrl + '/' + nt.ParentId +' ';
+ // //鏀朵欢閭
+ // List<String> toMailList = new List<String>();
+ // String uId = UserInfo.getUserId();
+ // for (User u : userList) {
+ // if (u.Id != uId) {
+ // toMailList.add(u.Email);
+ // }
+ // }
+ // //鎶勯�佺殑閭
+ // List<String> ccMailList = new List<String>();
+ // ccMailList.add('gaozhangwei@prec-tech.com');
+ // ccMailList.add('wei_liang@olympus.com.cn');
+ // Messaging.SingleEmailMessage messageNEW = new Messaging.SingleEmailMessage();
+ // messageNEW.subject = title;
+ // messageNEW.htmlBody = body;
+ // messageNEW.setCharset('UTF-8');
+ // messageNEW.toAddresses = toMailList;
+ // if(ccMailList.size() > 0){
+ // messageNEW.ccAddresses = ccMailList;
+ // }
+ // sendMails.add(messageNEW);
+ // }
//鍦ㄥ崟涓簨鍔′腑锛屽彧鑳借皟鐢╯end鏂规硶 10 娆°��
Messaging.SendEmailResult[] results = messaging.sendEmail(sendMails);
}
--
Gitblit v1.9.1