From e14d6d0619330cad423f06493e3aa2371faa2a8f Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期六, 09 九月 2023 14:02:23 +0800
Subject: [PATCH] Sit期间修改

---
 force-app/main/default/classes/AttachmentReQisHandler.cls |  117 ++++++++++++++++++----------------------------------------
 1 files changed, 36 insertions(+), 81 deletions(-)

diff --git a/force-app/main/default/classes/AttachmentReQisHandler.cls b/force-app/main/default/classes/AttachmentReQisHandler.cls
index cf04b27..69a2020 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, ContentDocumentLink> newMap;
+    private Map<Id, Attachment> newMap;
     @TestVisible
-    private Map<Id, ContentDocumentLink> oldMap;
+    private Map<Id, Attachment> oldMap;
     @TestVisible
-    private List<ContentDocumentLink> newList;
+    private List<Attachment> newList;
     @TestVisible
-    private List<ContentDocumentLink> oldList;
+    private List<Attachment> oldList;
     public AttachmentReQisHandler() {
-        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;
+        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;
     }
     @TestVisible
     protected override void afterInsert() {
@@ -24,41 +24,40 @@
         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 (ContentDocumentLink link : newList) {
-            if(String.valueOf(link.LinkedEntityId).startsWith('a0J') 
-                || String.valueOf(link.LinkedEntityId).startsWith('a0f')){
-                Rlist.add(link.ContentDocumentId);
-                ParentIdList.add(link.LinkedEntityId);
+        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 (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];
+        List<Attachment> NtList = [Select id,ParentId,Name,Body FROM Attachment where Id 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
-                                        from Repair__c where id in : ParentIdList] ) {
+        //DB202308180733 P-鏂版姇璇夌郴缁烥CHS椤圭洰--SQL涓姞鍏ユ柊瀛楁-鍒樺窛-Latest_upload_time_attachments__c
+        for (Repair__c re :[select id,Name,SerialNumber__c,Delivered_Product__r.Name,HP_Name__c,Latest_upload_time_attachments__c
+                                        from Repair__c where id in : ParentIdList]) {
+            //DB202308180733 P-鏂版姇璇夌郴缁烥CHS椤圭洰-鍒樺窛-鏂板瓧娈佃祴鍊� 
+            re.Latest_upload_time_attachments__c = DateTime.now();
             updateRprMap.put(re.id, re);
         }
-        for (QIS_Report__c qi :[select id,Name,lot_or_serial__c,nonyushohin__r.Name,Hospital__r.Name 
+        // 	DB202308180733 P-鏂版姇璇夌郴缁烥CHS椤圭洰-鍒樺窛-鏇存柊瀛楁
+        if (updateRprMap != null && updateRprMap.size() > 0) {
+            update updateRprMap.values();
+        }
+        for (QIS_Report__c qi :[select id,Name,lot_or_serial__c,nonyushohin__r.Name,Hospital__r.Name,Latest_upload_time_attachments__c
                                         from QIS_Report__c where id in : ParentIdList] ) {
+            qi.Latest_upload_time_attachments__c = DateTime.now();
             updateQisMap.put(qi.id, qi);
+        }
+        //DB202308180733 P-鏂版姇璇夌郴缁烥CHS椤圭洰-鍒樺窛-鏇存柊瀛楁
+        if (updateQisMap != null && updateQisMap.size() > 0) {
+            update updateQisMap.values();
         }
         // Map<Id,Repair__c> updateRprMap = [select id,Name,SerialNumber__c,Delivered_Product__r.Name
         //                              from Repair__c where id in : ParentIdList];
@@ -74,12 +73,11 @@
             }
         }
         List<User> userList = [select Id, Name, Email, Manager.Email from User where id IN :IdList];
-        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;
+        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 + '宸叉柊澧為檮浠讹紝璇锋煡鐪�';
@@ -89,12 +87,12 @@
             body += '<br/>';
             body += '鏈鸿韩鍙�/鎵瑰彿 锛�' + Serial;
             body += '<br/>';
-            body += '闄勪欢鍚嶇О/澶囨敞鍚嶇О锛�' + version.Title;
+            body += '闄勪欢鍚嶇О/澶囨敞鍚嶇О锛�' + nt.Name;
             body += '<br/>';
             body += '鎿嶄綔鎷呭綋锛�' + UserInfo.getName();
             body += '<br/>';
             body += '<br/>';
-            body += '閾炬帴锛�' + baseUrl + '/' + link.LinkedEntityId +' ';
+            body += '閾炬帴锛�' + baseUrl + '/' + nt.ParentId +' ';
             //鏀朵欢閭
             List<String> toMailList = new List<String>();
             String uId = UserInfo.getUserId();
@@ -107,7 +105,6 @@
             List<String> ccMailList = new List<String>();
             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;
@@ -118,48 +115,6 @@
             }
             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