From 0a3f9325599467015aecc4af7543dd10fe70ec56 Mon Sep 17 00:00:00 2001
From: yumenghui <953181891@qq.com>
Date: 星期五, 04 八月 2023 14:14:28 +0800
Subject: [PATCH] 附件修改

---
 force-app/main/default/pages/TransferApplyQR.page |   63 +++++++++++++++++++++++++------
 1 files changed, 51 insertions(+), 12 deletions(-)

diff --git a/force-app/main/default/pages/TransferApplyQR.page b/force-app/main/default/pages/TransferApplyQR.page
index e5f8627..32340dd 100644
--- a/force-app/main/default/pages/TransferApplyQR.page
+++ b/force-app/main/default/pages/TransferApplyQR.page
@@ -13,29 +13,68 @@
 
             sforce.connection.sessionId = '{!GETSESSIONID()}';
 
-            var record = sforce.connection.query("select id from Attachment where ParentId = \'{!TransferApply__c.Id}\' and name = \'QRCode-{!TransferApply__c.Name}\'");
+            // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!TransferApply__c.Id}\' and name = \'QRCode-{!TransferApply__c.Name}\'");
+            var record = sforce.connection.query("select Id,ContentDocumentId from ContentDocumentLink where LinkedEntityId = \'{!TransferApply__c.Id}\'");
+            if(record.size > 0){
+                var records = record.getArray("records");
+                var idList = records.map(obj => "'" + obj.ContentDocumentId + "'").join(",");
+                record = sforce.connection.query("select Id from ContentDocument where Id in (" + idList + ") and Title = \'QRCode-{!TransferApply__c.Name}\'");
+            }
+            console.log("qqqqqqqqqqqqqqqqq",record.size);
             // 鏃€伀銇傘倢銇扮劇瑕�
             if (record.size == 0) {
-                var atta = new sforce.SObject("Attachment");
-                atta.Name = "QRCode-{!TransferApply__c.Name}";
-                atta.ParentId = "{!TransferApply__c.Id}";
-                atta.Body = src;
-                var result = sforce.connection.create([atta]);
+                var version = new sforce.SObject("ContentVersion");
+                version.VersionData = src;
+                version.Title = "QRCode-{!TransferApply__c.Name}";
+                version.ContentLocation = 's';
+                version.PathOnClient= "QRCode-{!TransferApply__c.Name}.jpg";
+                var versionResult = sforce.connection.create([version]);
+                record = sforce.connection.query("SELECT ContentDocumentId FROM ContentVersion WHERE Id =\'" + versionResult[0].id + "\'");
+                var records = record.getArray("records");
+                var link = new sforce.SObject("ContentDocumentLink");
+                link.ContentDocumentId = records[0].ContentDocumentId;
+                link.LinkedEntityId = "{!TransferApply__c.Id}";
+                link.ShareType = 'I';
+                link.Visibility = 'AllUsers';
+                var result = sforce.connection.create([link]);
+
+                // var atta = new sforce.SObject("Attachment");
+                // atta.Name = "QRCode-{!TransferApply__c.Name}";
+                // atta.ParentId = "{!TransferApply__c.Id}";
+                // atta.Body = src;
+                // var result = sforce.connection.create([atta]);
 
                 var es = new sforce.SObject("TransferApply__c");
                 es.Id = "{!TransferApply__c.Id}";
-                es.QRId__c = result[0].id;
+                es.QRId__c = versionResult[0].id;
                 result = sforce.connection.update([es]);
             //鐢宠涔︽洿鏂板け璐ョ殑璇濆啀娆℃洿鏂�
             } else if ("{!TransferApply__c.QRId__c}" == '' || "{!TransferApply__c.QRId__c}" == null) {
                 var records = record.getArray("records");
-                var es = new sforce.SObject("TransferApply__c");
-                es.Id = "{!TransferApply__c.Id}";
-                es.QRId__c = records[0].Id;
-                result = sforce.connection.update([es]);
+                var version = new sforce.SObject("ContentVersion");
+                version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where ContentDocumentId = \'" + records[0].Id + "\'");
+                version = version.getArray("records"); 
+                if(version[0].Id != "{!TransferApply__c.QRId__c}"){
+                    var es = new sforce.SObject("TransferApply__c");
+                    es.Id = "{!TransferApply__c.Id}";
+                    es.QRId__c = version[0].id;
+                    result = sforce.connection.update([es]);
+                }
                 // TODO Name澶夈倧銈嬪彲鑳芥�с亗銈娿�乽psert銇仐銇俱仚
             } else {
-                alert(record[0].id);
+                // var records = record.getArray("records");
+                // alert(records[0].Id);
+                var records = record.getArray("records");
+                var version = new sforce.SObject("ContentVersion");
+                version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where ContentDocumentId = \'" + records[0].Id + "\'");
+                version = version.getArray("records"); 
+                // 瀛樺湪qr鏃讹紝缁戝埌娓呭崟涓�
+                if(version[0].Id != "{!TransferApply__c.QRId__c}"){
+                    var es = new sforce.SObject("TransferApply__c");
+                    es.Id = "{!TransferApply__c.Id}";
+                    es.QRId__c = version[0].id;
+                    result = sforce.connection.update([es]);
+                }
             }
         }
 

--
Gitblit v1.9.1