From 2f183a6b0a83ec3f7d35375d5d25d200efc2a3e1 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期二, 19 四月 2022 18:46:18 +0800 Subject: [PATCH] 20220419FixIssue --- force-app/main/default/classes/RentalApplyController.cls | 61 +++++++++++++++++++++++------- 1 files changed, 46 insertions(+), 15 deletions(-) diff --git a/force-app/main/default/classes/RentalApplyController.cls b/force-app/main/default/classes/RentalApplyController.cls index e38bb9f..88b61a6 100644 --- a/force-app/main/default/classes/RentalApplyController.cls +++ b/force-app/main/default/classes/RentalApplyController.cls @@ -1,10 +1,3 @@ -/** - * @description : - * @author : ChangeMeIn@UserSettingsUnder.SFDoc - * @group : - * @last modified on : 03-28-2022 - * @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc -**/ global without sharing class RentalApplyController { public String layoutSectionsStr {get; set;}//for dynamic add readonly attribute public List <LayoutDescriberHelper.LayoutSection > layoutSections{set;get;} @@ -12,6 +5,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'Rental_Apply__c'; public Boolean isNewMode{set;get;} + public Boolean isCloneMode{protected set;get;} public String rtTypeId {get; set;} public String AWSDataId{set;get;} public List<String> encryptedAPIList{set;get;} @@ -24,16 +18,25 @@ public String contactsInfo {set;get;} public String contactId{set;get;} public String PIPL_Input_Account_Error_Msg{set;get;} + public final string ApiPrefix{get;private set;} //Add By Li Jun 20220403 + public Map<string,string> AWSToSobjectEncryptedMap{get;private set;} + public string AWSToSobjectEncryptedMapJson{get{return JSON.serialize(AWSToSobjectEncryptedMap);}} public RentalApplyController(ApexPages.StandardController controller) { + ApiPrefix = 'PIBackApi'; isNewMode = true; + isCloneMode = false; Input_Required_Field_Msg = Label.Input_Required_Field_Msg; PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; //鑾峰彇鎵�鏈夊瓧娈� List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Rental_Apply__c').getDescribe().fields.getMap().keyset()); + Map<string,string> mso = ApexPages.currentPage().getParameters(); + if(mso != null && mso.containsKey('newclone')){ + isCloneMode = true; + } if(!Test.isRunningTest()){ controller.addFields(fieldList); } - SObject obj = controller.getRecord(); + SObject obj = controller.getRecord(); if(obj.Id != null){ //鏇存柊 isNewMode = false; @@ -47,7 +50,7 @@ contactsInfo = JSON.serialize(sfIdToAWSIdMap); }else{ //鏂板缓 - Map<string,string> mso = ApexPages.currentPage().getParameters(); + // Map<string,string> mso = ApexPages.currentPage().getParameters(); system.debug('mso='+mso); if(mso.containsKey('Name')){ controller.getRecord().put('Name',mso.get('Name')); @@ -76,9 +79,23 @@ if(mso.containsKey('00N10000003OJzc')){ controller.getRecord().put('Loaner_received_staff__c',mso.get('00N10000003OJzc')); } + + + rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); obj.put('OwnerId',UserInfo.getUserId()); } + + if(mso.containsKey('00N10000003Mp2H')){ + system.debug('00N10000003Mp2H='+mso.get('00N10000003Mp2H')); + controller.getRecord().put('Status__c',mso.get('00N10000003Mp2H')); + } + + if(mso.containsKey('00N10000007oQKh')){ + system.debug('00N10000007oQKh='+mso.get('00N10000007oQKh')); + controller.getRecord().put('Split_Apply_Reason__c',mso.get('00N10000007oQKh')); + } + system.debug('Rental Apply Record Type:'+rtTypeId); LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Rental_Apply__c','classic'); layoutSections = LayoutWrapperValue.layoutSections; layoutSectionsStr = JSON.serialize(layoutSections); //for dynamic add readonly attribute @@ -86,9 +103,14 @@ Map<String,String> fieldAPIToLabelMap = LayoutWrapperValue.fieldAPIToLabelMap; requiredFieldAPIListStr = JSON.serialize(requiredFieldAPIList); fieldAPIToLabelMapStr = JSON.serialize(fieldAPIToLabelMap); - staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Rental_Apply__c')); - encryptedAPIList = PIHelper.getPIIntegrationInfo('Rental_Apply__c').PIFields; + PIHelper.PIIntegration piIntegration = PIHelper.getPIIntegrationInfo('Rental_Apply__c'); + staticResource = JSON.serialize(piIntegration); + encryptedAPIList = piIntegration.PIFields; staticResourceContact = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact')); + AWSToSobjectEncryptedMap = new Map<String,String>(); + for (PI_Field_Policy_Detail__c PIDetail : piIntegration.PIDetails) { + AWSToSobjectEncryptedMap.put(PIDetail.AWS_Field_API__c, PIDetail.SF_Field_API_Name__c); + } } global class Response{ @@ -142,17 +164,26 @@ Response resp = new Response(); Savepoint sp = Database.setSavepoint(); String rid = ''; + Boolean isClone = false; + String awsDataId = ''; try{ System.debug('abcde'); - if(isNew){ + awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); + System.debug('awsDataId = ' + awsDataId); + Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; + if(!isNew){ + isClone = RentalApplys.size() == 0; + } + + if(isNew || isClone){ System.debug('rentalApplyInfozhj = ' + rentalApplyInfo); insert rentalApplyInfo; System.debug('rentalApplyInfo.Id' + rentalApplyInfo.Id); }else{ System.debug('into update'); - String awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); - System.debug('awsDataId = ' + awsDataId); - Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; + // String awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); + // System.debug('awsDataId = ' + awsDataId); + // Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; System.debug('RentalApplys[0].id = ' + RentalApplys[0].id); rentalApplyInfo.put('Id',RentalApplys[0].id);//For testing; update rentalApplyInfo; -- Gitblit v1.9.1