From b51b57a619d3f0075ccaa13303c99c9e849bf23a Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期二, 23 四月 2024 18:13:54 +0800
Subject: [PATCH] 123

---
 force-app/main/default/pages/ConsumApplyQR.page |   43 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/force-app/main/default/pages/ConsumApplyQR.page b/force-app/main/default/pages/ConsumApplyQR.page
index da67a69..7b33ac3 100644
--- a/force-app/main/default/pages/ConsumApplyQR.page
+++ b/force-app/main/default/pages/ConsumApplyQR.page
@@ -13,27 +13,52 @@
 
             sforce.connection.sessionId = '{!GETSESSIONID()}';
 
-            var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Consum_Apply__c.Id}\' and name = \'QRCode-{!Consum_Apply__c.Name}\'");
+            // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Consum_Apply__c.Id}\' and name = \'QRCode-{!Consum_Apply__c.Name}\'");
+            var record = sforce.connection.query("select ContentDocumentId from ContentDocumentLink where LinkedEntityId = \'{!Consum_Apply__c.Id}\'");
             // 涓嶅瓨鍦╭r鏂囦欢鏃讹紝鏂扮敓鎴愪竴涓紝骞惰繛鍒扮敵璇峰崟涓�
+            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-{!Consum_Apply__c.Name}\'");
+                console.log("select Id from ContentDocument where Id in (" + idList + ") and Title = \'QRCode-{!Consum_Apply__c.Name}\'");
+            }
             if (record.size == 0) {
-                var atta = new sforce.SObject("Attachment");
-                atta.Name = "QRCode-{!Consum_Apply__c.Name}";
-                atta.ParentId = "{!Consum_Apply__c.Id}";
-                atta.Body = src;
-                var result = sforce.connection.create([atta]);
+                // var atta = new sforce.SObject("Attachment");
+                // atta.Name = "QRCode-{!Consum_Apply__c.Name}";
+                // atta.ParentId = "{!Consum_Apply__c.Id}";
+                // atta.Body = src;
+                // var result = sforce.connection.create([atta]);
+
+                var version = new sforce.SObject("ContentVersion");
+                version.Title = "QRCode-{!Consum_Apply__c.Name}";
+                version.VersionData = src;
+                version.ContentLocation = "s";
+                version.PathOnClient = "QRCode-{!Consum_Apply__c.Name}.jpg";
+                var result = sforce.connection.create([version]);
+                version = sforce.connection.query("select Id,ContentDocumentId from ContentVersion where Id = \'" + result[0].id + "\'");
+                version = version.getArray("records"); 
+                var link = new sforce.SObject("ContentDocumentLink");
+                link.LinkedEntityId = "{!Consum_Apply__c.Id}";
+                link.ContentDocumentId = version[0].ContentDocumentId;
+                link.ShareType = 'I';
+                link.Visibility = 'AllUsers';
+                result = sforce.connection.create([link]);
 
                 var es = new sforce.SObject("Consum_Apply__c");
                 es.Id = "{!Consum_Apply__c.Id}";
-                es.QRId__c = result[0].id;
+                es.QRId__c = version[0].Id;
                 result = sforce.connection.update([es]);
             }
             else {
                 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(records[0].Id != "{!Consum_Apply__c.QRId__c}"){
+                if(version[0].Id != "{!Consum_Apply__c.QRId__c}"){
                     var es = new sforce.SObject("Consum_Apply__c");
                     es.Id = "{!Consum_Apply__c.Id}";
-                    es.QRId__c = records[0].Id;
+                    es.QRId__c = version[0].Id;
                     result = sforce.connection.update([es]);
                 }
             }

--
Gitblit v1.9.1