From 5c01ebbfddb6b8674430b47c22977bea2e350084 Mon Sep 17 00:00:00 2001
From: Li Jun <buli@deloitte.com.cn>
Date: 星期三, 13 四月 2022 10:58:46 +0800
Subject: [PATCH] BackupPIPLFunction0413

---
 force-app/main/default/classes/QISPDFController.cls |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/classes/QISPDFController.cls b/force-app/main/default/classes/QISPDFController.cls
index 9ebe1a8..f51b606 100644
--- a/force-app/main/default/classes/QISPDFController.cls
+++ b/force-app/main/default/classes/QISPDFController.cls
@@ -3,15 +3,24 @@
     public User usr { get; private set; }
     public Boolean inGuarantee { get; private set; }
     public string staticResource { get; private set; }
+    public string staticResourceFile { get; private set; }
     
     //  HWAG-BC68W3  鏁呴殰鍙戠敓鏃ヤ负绌烘椂锛� 瀹冧负鐪�  start
     public Boolean outOfGuarantee { get; private set; }
     //  HWAG-BC68W3  鏁呴殰鍙戠敓鏃ヤ负绌烘椂锛� 瀹冧负鐪�  end
+
+    public string Photo_1_Text { get; private set; }
+    public string Photo_2_Text { get; private set; }
+    public string Photo_3_Text { get; private set; }
+    public string Photo_4_Text { get; private set; }
+    
+
     public QISPDFController() {
         qr = new QIS_Report__c();
         usr = new User();
         inGuarantee = false;
         staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('QIS_Report__c'));
+        staticResourceFile = JSON.serialize(PIHelper.getPIIntegrationInfo('Document'));
         
     }
     
@@ -51,6 +60,73 @@
             //HWAG-BC68W3 end
             	inGuarantee = true;
             }
+
+            Photo_1_Text = getImageByUrl(qr.Photo_1_Text__c);
+            Photo_2_Text = getImageByUrl(qr.Photo_2_Text__c);
+            Photo_3_Text = getImageByUrl(qr.Photo_3_Text__c);
+            Photo_4_Text = getImageByUrl(qr.Photo_4_Text__c);
         }
     }
+
+    public static String getImageByUrl(string urlStr){
+        //urlStr = 'https://ocsm--stagefull--c.documentforce.com/servlet/rtaImage?eid=a0f1000000cS7qH&feoid=00N10000006P4rz&refid=0EM10000002WIgq';
+        // 'https://ocsm--stagefull.my.salesforce.com/services/data/v51.0/sobjects/QIS_Report__c/a0f1000000IJay1/richTextImageFields/Photo_1__c/0EM100000017hLN
+        System.debug('urlStr='+urlStr);
+        Id eid = getUrlParameters(urlStr,'eid');
+        if (string.isBlank(eid)) {
+            System.debug('eid not found');
+            return null;
+        }
+
+        Id feoid = getUrlParameters(urlStr,'feoid');
+        if (string.isBlank(feoid)) {
+            System.debug('feoid not found');
+            return null;
+        }
+
+        Id refid = getUrlParameters(urlStr,'refid');
+        if (string.isBlank(refid)) {
+            System.debug('refid not found');
+            return null;
+        }
+
+        string body = MetaDataUtility.ToolingQuery('select id,FullName from CustomField where id=\''+feoid+'\'');
+        if(string.isBlank(body)){
+            System.debug('body is blank');
+            return null;
+        }
+        string sobjecttype = eid.getSobjectType().getDescribe().getName();
+        List<object> lo = (List<object>)(((Map<string,object>)JSON.deserializeUntyped(body)).get('records'));
+        Map<string,object> mso = (Map<string,object>)(lo[0]);
+        string f = ((string)mso.get('FullName')).replace(sobjecttype+'.', '');
+
+        String urlForClassic = 'https://'+System.URL.getOrgDomainUrl().getHost()+'/services/data/v53.0/sobjects/'+sobjecttype+'/'+eid+'/richTextImageFields/'+f+'/'+refid;
+        
+        system.debug('URL Post:'+urlForClassic);
+        HttpResponse resp = null;
+        HttpRequest req = new HttpRequest();         
+        req.setMethod('GET');        
+        req.setEndpoint(urlForClassic); 
+        req.setHeader('Authorization', 'Bearer ' + UserInfo.getsessionid());      
+        Http client = new Http();    
+        resp = client.send(req);
+        system.debug('getStatusCode:'+resp.getStatusCode());
+        return 'data:image/png;base64,' + EncodingUtil.base64Encode(resp.getBodyAsBlob());
+    }
+
+    public static String getUrlParameters(string url,string para){
+        //string url = 'https://sfpi-mebg-test.olympuschina.com:8081/stg/api/file/convert?from=https%3A%2F%2Focsm--stagefull--c.visualforce.com%2Fapex%2FQISPDF%3Fid%3Da0f1000000cS7qH&fileName=QISPDF';
+        if (string.isBlank(url) || string.isBlank(para)) {
+            return null;
+        }
+        Pattern p = Pattern.compile('(?<=' + para + '=)[^&]*');
+        Matcher m = p.matcher(url);
+        if (m.find()) {
+            return m.group();
+        }else {
+            system.debug('no found '+para+' in url='+url);
+            return null;
+        }
+        
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1