From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新

---
 force-app/main/default/classes/NewAndEditContactController.cls |  158 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 127 insertions(+), 31 deletions(-)

diff --git a/force-app/main/default/classes/NewAndEditContactController.cls b/force-app/main/default/classes/NewAndEditContactController.cls
index 59c3e6e..a3c6101 100644
--- a/force-app/main/default/classes/NewAndEditContactController.cls
+++ b/force-app/main/default/classes/NewAndEditContactController.cls
@@ -1,52 +1,148 @@
 global class NewAndEditContactController extends NewAndEditBaseController 
 {
     public String unifiedIContactID{set;get;}
+    public String staticResourceContactV2 {get; set;}
+    
 	
     public NewAndEditContactController(ApexPages.StandardController controller) {
-        
         List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Contact').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);
+        }
         Init(controller.getRecord());
         String contactId = controller.getRecord().Id;
         if(contactId != null){
-            Contact c = [select UnifiedI_Contact_ID__c from Contact where Id =:contactId ];
+            Contact c = [select id,UnifiedI_Contact_ID__c from Contact where Id =:contactId ];
             system.debug('Contact c = '+c);
             unifiedIContactID = c.UnifiedI_Contact_ID__c;
+        }else{
+            Map<string,string> mso = ApexPages.currentPage().getParameters();
+            system.debug('mso='+mso);
+            if(mso.containsKey('con4_lkid')){
+                controller.getRecord().put('AccountId',mso.get('con4_lkid'));
+            }
         }
-
-        // AWSToSobjectNonEncryptedMap.put('lastName', 'LastName');
-        // AWSToSobjectNonEncryptedMap.put('phone', 'Phone');
-        // AWSToSobjectNonEncryptedMap.put('email', 'Email');
-        // AWSToSobjectNonEncryptedMap.put('medicalStaffFullName', 'MedicalStaff_Full_name__c');
-        // AWSToSobjectNonEncryptedMap.put('mobilePhone', 'MobilePhone');
-        // AWSToSobjectNonEncryptedMap.put('title', 'Title');
-        // AWSToSobjectNonEncryptedMap.put('olyAssistantType', 'OLY_Assistant_Type__c');
-        // AWSToSobjectNonEncryptedMap.put('jobCategoryPicklist', 'Job_Category_picklist__c');
-        // AWSToSobjectNonEncryptedMap.put('type', 'Type__c');
-        // AWSToSobjectNonEncryptedMap.put('contactAddress', 'Contact_address__c');
-        // AWSToSobjectNonEncryptedMap.put('contactType', 'ContactType__c');
-        // AWSToSobjectNonEncryptedMap.put('doctorDivision1', 'Doctor_Division1__c');
-        // AWSToSobjectNonEncryptedMap.put('uniqueNumber', 'UniqueNumber__c');
-
-        // AWSToSobjectEncryptedMap.put('lastNameEncrypt', 'LastName_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('phoneEncrypt', 'Phone_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('emailEncrypt', 'Email_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('medicalStaffFullNameEncrypt', 'MedicalStaff_Full_name_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('mobilePhoneEncrypt', 'MobilePhone_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('titleEncrypt', 'Title_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('olyAssistantTypeEncrypt', 'OLY_Assistant_Type_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('jobCategoryPicklistEncrypt', 'Job_Category_picklist_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('typeEncrypt', 'Type_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('contactAddressEncrypt', 'Contact_address_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('contactTypeEncrypt', 'ContactType_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('doctorDivision1Encrypt', 'Doctor_Division1_Encrypted__c');
-        // AWSToSobjectEncryptedMap.put('uniqueNumberEncrypt', 'UniqueNumber_Encrypted__c');
+        system.debug('controller.getRecord()='+controller.getRecord());
+        //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 start
+        PIHelper.PIIntegration piIntegration = PIHelper.getPIIntegrationInfo('contactV2');
+        staticResourceContactV2 = JSON.serialize(piIntegration);
+        System.debug('staticResourceContactV2 = ' + staticResourceContactV2);
+        //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 end
+    }
+    
+    PageReference RedirectStandardPage(){
+        Map<string,string> mso = ApexPages.currentPage().getParameters();
+        system.debug(mso);
+        PageReference pg = null;
+        mso.remove('sfdc.override');
+        system.debug('recordId='+recordId);
+        if(string.isBlank(recordId)){
+            pg = new PageReference('/003/e');
+        }else{
+            pg = new PageReference('/'+recordId+'/e');
+        }
+        //pg.getParameters().putAll(mso);
+        pg.getParameters().put('RecordType',mso.get('RecordType'));
+        pg.getParameters().put('accid',mso.get('accid'));
+        pg.getParameters().put('nooverride','1');
+        pg.setRedirect(true);
+        return pg;
     }
 
+    public PageReference PageLoad(){
+        system.debug('rtTypeId='+rtTypeId);
+        string s = null;
+        if(!string.isBlank(rtTypeId)){
+            s = Schema.SObjectType.Contact.getRecordTypeInfosById().get(rtTypeId).getDeveloperName();
+            if(s == 'Agency' || s == 'Internal_staff'){
+                return RedirectStandardPage();
+            }
+        }
+        string accid = ApexPages.currentPage().getParameters().get('accid');
+        if(!string.isBlank(accid)){
+            List<Account> accs = [select RecordType.DeveloperName from account where id = :accid];
+            if(accs.size()>0){
+                s = accs[0].RecordType.DeveloperName;
+                if(s == 'Office' || s == 'AgencyContact' || s == 'Agency'){
+                    return RedirectStandardPage();
+                }
+            }
+            
+            
+        }
+        system.debug('null');
+        return null;
+    }
     
     @RemoteAction
     global static Response saveContact(String leadJson,String transId,Boolean isNew) {
         return save(new Contact(),leadJson,transId,isNew);
     }
+
+    //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 start
+    @RemoteAction
+    global static ResponseV2 searchContactByAccountId(String accountId,String RecordTypeId,String Isactive) {
+        System.debug('accountId = ' + accountId);
+        ResponseV2 res = new ResponseV2();
+        try{
+            Account account = [select Id,Name from Account where Id = :accountId];
+            List<Contact> contactList = [select id,AWS_Data_Id__c, CManageCode__c,Name from Contact where AccountId = :account.Id];
+            Map<String,String> dataIdManageCodeMap = new Map<String,String>();
+            for(Contact contact : contactList){
+                dataIdManageCodeMap.put(contact.AWS_Data_Id__c,contact.CManageCode__c);
+            }
+            res.dataIdManageCodeMap = dataIdManageCodeMap;
+            res.accountName = account.Name;
+            res.contactList = contactList;
+
+            ID DoctorRecordTypeId = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Doctor').getRecordTypeId();
+            Map<String,String> accMap= new Map<String,String>();
+            List<Account> accList=[select ID,Is_Active__c,Is_Active_Formula__c from Account where ID =:accountId];
+            if(accList.size()>0){
+                for(Account acc:accList){
+                    if (String.isNotBlank(acc.Is_Active__c)){
+                        String subId = acc.Id;
+                        accMap.put(subId.substring(0,15), acc.Is_Active__c);
+                        continue;
+                    }
+                    if (String.isNotBlank(acc.Is_Active_Formula__c)){
+                        String subId = acc.Id;
+                        accMap.put(subId.substring(0,15), acc.Is_Active_Formula__c);
+                    }
+                }
+            }
+            System.debug('accMap= ' + accMap);
+            //濡傛灉鏄疍octor璁板綍绫诲瀷鐨勯渶瑕佽繘琛屽鍚�+鎵嬫満鍙峰垽鏂�
+            if(DoctorRecordTypeId.equals(RecordTypeId)){
+                res.isNameMobileVerif = true;
+            }
+            System.debug('Isactive= ' + Isactive);
+            System.debug('DoctorRecordTypeId.equals(RecordTypeId) = ' + DoctorRecordTypeId.equals(RecordTypeId));
+            System.debug('accMap.get(accountId) = ' + accMap.get(accountId));
+            if (('鏈夋晥'.equals(Isactive) || '鏈夊姽'.equals(Isactive))
+                && ('鏈夊姽'.equals(accMap.get(accountId)) || '鏈夋晥'.equals(accMap.get(accountId))) && (DoctorRecordTypeId.equals(RecordTypeId))) {
+                res.isMobileVerif = true;
+            }else {
+                res.isMobileVerif = false;
+            }
+            res.status = 'success';
+            return res;
+        }catch(Exception e){
+            res.message = e.getMessage() + '';
+            res.status = 'fail';
+            return res;
+        }
+    }
+
+    global class ResponseV2{
+        public List<Contact> contactList{set;get;}
+        public String accountName{set;get;}
+        public Map<String,String> dataIdManageCodeMap{set;get;}
+        public Boolean isMobileVerif;
+        public Boolean isNameMobileVerif;
+        public String message{set;get;}
+        public String status{set;get;}
+    }
+    //zhj MEBG鏂版柟妗堟敼閫� 2022-11-24 end
 }
\ No newline at end of file

--
Gitblit v1.9.1