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