From 254ea442ff0e0a7a97e9f481e9f127a782cba840 Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期一, 17 七月 2023 11:37:35 +0800
Subject: [PATCH] 修改附件7.17

---
 force-app/main/default/pages/AssetQR.page |   61 +++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 15 deletions(-)

diff --git a/force-app/main/default/pages/AssetQR.page b/force-app/main/default/pages/AssetQR.page
index 68ebdb5..b5d3a21 100644
--- a/force-app/main/default/pages/AssetQR.page
+++ b/force-app/main/default/pages/AssetQR.page
@@ -13,32 +13,63 @@
 
             sforce.connection.sessionId = '{!GETSESSIONID()}';
 
-            var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Asset.Id}\' and name = \'QRCode\'");
-
+            // var record = sforce.connection.query("select id from Attachment where ParentId = \'{!Asset.Id}\' and name = \'QRCode\'");
+            var record = sforce.connection.query("SELECT ContentDocumentId from ContentDocumentLink where LinkedEntityId =\'{!Asset.Id}\'");
+            var records;
+            if(record.size > 0){
+                records = record.getArray("records");
+                var idList = records.map(obj => "'" + obj.ContentDocumentId + "'").join(",");
+                record = sforce.connection.query("SELECT Id,Title, OwnerId, ContentModifiedDate FROM ContentDocument WHERE Id IN (" + idList + ") AND Title = 'QRCode'");
+            }
             // 鏃€伀銇傘倢銇扮劇瑕�
             if (record.size == 0) {
-                var atta = new sforce.SObject("Attachment");
-                atta.Name = "QRCode";
-                atta.ParentId = "{!Asset.Id}";
-                atta.Body = src;
-                var result = sforce.connection.create([atta]);
+                // var atta = new sforce.SObject("Attachment");
+                // atta.Name = "QRCode";
+                // atta.ParentId = "{!Asset.Id}";
+                // atta.Body = src;
+                // var result = sforce.connection.create([atta]);
+                var version = new sforce.SObject("ContentVersion");
+                version.VersionData = src;
+                version.Title = "QRCode";
+                version.ContentLocation= 's';
+                version.PathOnClient="QRCode.jpg";
+                var versionResult = sforce.connection.create([version]);
+                record = sforce.connection.query("SELECT ContentDocumentId FROM ContentVersion WHERE Id =\'" + versionResult[0].id + "\'");
+                records = record.getArray("records");
+                var link = new sforce.SObject("ContentDocumentLink");
+                link.ContentDocumentId = records[0].ContentDocumentId;
+                link.LinkedEntityId = "{!Asset.Id}";
+                link.ShareType = 'I';
+                link.Visibility = 'AllUsers';
+                var result = sforce.connection.create([link]);
+
 
                 var es = new sforce.SObject("Asset");
                 es.Id = "{!Asset.Id}";
-                es.QRId__c = result[0].id;
+                es.QRId__c = result[0].ContentDocumentId;
                 es.Fixture_QRCode_Text__c = "{!Asset.Fixture_QRCode__c}";
                 result = sforce.connection.update([es]);
             } else if ("{!Asset.QRId__c}" == null || "{!Asset.QRId__c}" == '' || "{!Asset.Fixture_QRCode__c}" != "{!Asset.Fixture_QRCode_Text__c}"){
-                var records = record.getArray("records");
-                var atta = new sforce.SObject("Attachment");
-                atta.Name = "QRCode";
-                atta.Body = src;
-                atta.Id = records[0].Id;
-                var result = sforce.connection.update([atta]);
+                // var records = record.getArray("records");
+                // var version = 
+                // var atta = new sforce.SObject("Attachment");
+                // atta.Name = "QRCode";
+                // atta.Body = src;
+                // atta.Id = records[0].Id;
+                // var result = sforce.connection.update([atta]);
 
+
+                var result = sforce.connection.query("SELECT Id from ContentDocumentLink where ContentDocumentId =" + record[0].Id);
+                var version = sforce.connection.query("SELECT Id from ContentVersion where ContentDocumentId =" + record[0].Id);
+                var versions = version.getArray("versions");
+                var atta = new sforce.SObject("ContentVersion");
+                atta.VersionData = src;
+                atta.Id = versions[0].Id;
+                version = sforce.connection.update([atta]);
+                records = result.getArray("records");
                 var es = new sforce.SObject("Asset");
                 es.Id = "{!Asset.Id}";
-                es.QRId__c = result[0].id;
+                es.QRId__c = records[0].Id;
                 es.Fixture_QRCode_Text__c = "{!Asset.Fixture_QRCode__c}";
                 result = sforce.connection.update([es]);
                 // TODO Name澶夈倧銈嬪彲鑳芥�с亗銈娿�乽psert銇仐銇俱仚

--
Gitblit v1.9.1