From 01f207d979d6be17c8cdec293feab48828c0ec3e Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期五, 08 四月 2022 14:22:52 +0800
Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBG

---
 force-app/main/default/classes/NewAndEditInquiryFormController.cls |   86 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/force-app/main/default/classes/NewAndEditInquiryFormController.cls b/force-app/main/default/classes/NewAndEditInquiryFormController.cls
index b3d2e0c..64380cf 100644
--- a/force-app/main/default/classes/NewAndEditInquiryFormController.cls
+++ b/force-app/main/default/classes/NewAndEditInquiryFormController.cls
@@ -7,10 +7,15 @@
     public String leadId{set;get;}//For Lead Lookup
     public String staticResourceContact {get; set;}
     public String staticResourceLead {get; set;}
+    public String urlCheckContactAWSid {get; set;}
+    public String contactAWSDataId{set;get;}
+    public String contactName{set;get;}
     public NewAndEditInquiryFormController(ApexPages.StandardController controller) {
         List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Inquiry_form__c').getDescribe().fields.getMap().keyset());  
         // Add fields to controller. This is to avoid the SOQL error in visualforce page
-        controller.addFields(fieldList);
+        if (!Test.isRunningTest()) { 
+            controller.addFields(fieldList);
+        }
         // contact lookup
         LookUpOverrideFields.add('Contact_Name__c');
         LookUpOverrideFields.add('Lead_link__c');
@@ -21,16 +26,93 @@
         if(obj.Id == null){
             //鍒濆鍖栧姞杞藉��
             obj.put('OwnerId',UserInfo.getUserId());
+        }else {
+            //鑱旂郴浜虹殑Id
+            Inquiry_form__c ifc = [select Contact_Name__c from Inquiry_form__c where id=:obj.Id];
+            if(ifc != null){
+                List<Contact> c = [select AWS_Data_Id__c,Name from Contact where id=:ifc.Contact_Name__c];
+                if(c.size()>0){
+                    if (c[0].AWS_Data_Id__c != null && c[0].AWS_Data_Id__c != '') {
+                        contactAWSDataId = c[0].AWS_Data_Id__c;
+                    }else {
+                        contactName = c[0].Name;
+                    }
+                }
+            }else {
+                contactAWSDataId = '鏃�';
+                contactName = '鏃�';
+            }
         }
         //contact淇℃伅锛堟悳绱㈡煡璇uery url鐢級
         staticResourceContact = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact'));
         //Lead淇℃伅锛堟悳绱㈡煡璇uery url鐢級
         staticResourceLead = JSON.serialize(PIHelper.getPIIntegrationInfo('Lead'));
+
+        checkUrl('CF00N1000000962n8_lkid','Contact');
     }
 
-    
     @RemoteAction
     global static Response saveInquiryForm(String leadJson,String transId,Boolean isNew) {
         return save(new Inquiry_form__c(),leadJson,transId,isNew);
     }
+
+    @RemoteAction
+    global static String queryAccount(String accountTypes,String accountId) {
+        System.debug('accountType='+accountTypes);
+        System.debug('accountId='+accountId);
+        List<Object> types = (List<Object>)JSON.deserializeUntyped(accountTypes);
+        System.debug('types='+types);
+        String soql = 'select Id,Name,';
+        for (Object t : types) {
+            soql += (String)t+',';
+        }
+        soql = soql.substring(0,soql.length()-1);
+        soql += ' from Account where id=\''+accountId+'\'';
+        System.debug('soql='+soql);
+        Sobject account = Database.query(soql);
+
+        Map<String, Map<String, String>> m = new Map<String, Map<String, String>>();
+        
+        System.debug('account='+account);
+        for (Object ty : types) {
+            String t = (String)ty;
+            if (account.get(t) != null){
+                Sobject acc = Database.query('select Id,Name from Account where id=\''+account.get(t)+'\'');
+                Map<String, String> n = new Map<String, String>();
+                n.put('Id', (String)acc.get('Id'));
+                n.put('Name', (String)acc.get('Name'));
+                m.put(t, n);
+            }
+        }
+        // if (account.get('Hospital__c') != null){
+        //     m.put('Hospital__c', (String)account.get('Hospital__c'));
+        //     m.put('Hospital__r.Name', (String)account.get('Hospital__r.Name'));
+        // }
+        // if (account.get('Department_Class__c') != null){
+        //     m.put('Department_Class__c', (String)account.get('Department_Class__c'));
+        //     m.put('Department_Class__r.Name', (String)account.get('Department_Class__r.Name'));
+        // }
+        System.debug('m='+m);
+        return JSON.serialize(m);
+
+        // return (String)account.get('Hospital__c');
+    }
+
+    private void checkUrl(String urlStr, String sobjType){
+        Map<String, String> urlFieldMap = new Map<String, String>();
+        urlFieldMap = ApexPages.currentPage().getParameters();
+        if (urlFieldMap.containsKey(urlStr)) {
+            String sobjId = urlFieldMap.get(urlStr);
+            String soql = 'select id,AWS_Data_Id__c from ' + sobjType;
+            soql += ' where id=\'' + sobjId + '\'';
+            Sobject sobj = Database.query(soql);
+
+            Map<String, String> m = new Map<String, String>();
+
+            sobjId = sobjId.substring(0,sobjId.length()-3);
+            m.put((String)sobjId, (String)sobj.get('AWS_Data_Id__c'));
+
+            LookUpOverrideFieldsMapJson = JSON.serialize(m);
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1