From 51fb56f3f5b0dc96d7f93a71f9b61263e303243f Mon Sep 17 00:00:00 2001
From: Li Jun <buli@deloitte.com.cn>
Date: 星期二, 10 五月 2022 15:12:45 +0800
Subject: [PATCH] Fix Edit Record Without AWSId

---
 force-app/main/default/classes/NewAndEditReportController.cls |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/force-app/main/default/classes/NewAndEditReportController.cls b/force-app/main/default/classes/NewAndEditReportController.cls
index eec19b4..756d2dd 100644
--- a/force-app/main/default/classes/NewAndEditReportController.cls
+++ b/force-app/main/default/classes/NewAndEditReportController.cls
@@ -37,6 +37,7 @@
     public String contactName3{set;get;}
     public String contactName4{set;get;}
     public String contactName5{set;get;}
+    public String sfRecordIdForEdit{set;get;}//Add By LiJun for Edit Record from NFM609, 20220510
     public NewAndEditReportController(ApexPages.StandardController controller) {
         ApiPrefix = 'PIBackApi';
         layoutEncryptedAPIList = new List<String>();
@@ -70,6 +71,7 @@
 
             rtTypeId = ReportData.RecordTypeId;
             AWSDataId = ReportData.AWS_Data_Id__c;
+            sfRecordIdForEdit = obj.Id;
             Map<String,String> sfIdToAWSIdMap = new Map<String,String>();
             system.debug('ReportData.Practitioner1__r.Id:' + ReportData.Practitioner1__r.Id);
             system.debug('ReportData.Practitioner1__r.AWS_Data_Id__c:' + ReportData.Practitioner1__r.AWS_Data_Id__c);
@@ -140,7 +142,17 @@
                 contactAWSDataId1 = '鏃�';
                 contactName1 = '鏃�';
             }
-        }else if(ApexPages.currentPage().getParameters().get('CF00N10000008ps6d_lkid') != null){
+        }else{
+            //鏂板缓
+            // Map<string,string> mso = ApexPages.currentPage().getParameters();
+            //鍖婚櫌/绉戝/缁忛攢鍟�(鎵嬪啓)
+            if(mso.containsKey('00N10000002GE3Z')){
+                controller.getRecord().put('Manual_Name__c',mso.get('00N10000002GE3Z'));
+            }
+            rtTypeId = ApexPages.currentPage().getParameters().get('RecordType');
+            obj.put('OwnerId',UserInfo.getUserId());
+        }
+        if(ApexPages.currentPage().getParameters().get('CF00N10000008ps6d_lkid') != null){
             //OPD璁″垝杩囨潵鐨勶紝閫氳繃Id鏌ュ嚭鍊熷嚭澶囧搧鐢宠No1杩涜灞曠ず
             String opdPlanId = ApexPages.currentPage().getParameters().get('CF00N10000008ps6d_lkid');
             if(String.isNotEmpty(opdPlanId)&&String.isNotBlank(opdPlanId)){
@@ -153,17 +165,10 @@
                     }                   
                 }
             }                                  
-            rtTypeId = ApexPages.currentPage().getParameters().get('RecordType');
-            obj.put('OwnerId',UserInfo.getUserId());
-        }else{
-            //鏂板缓
-            // Map<string,string> mso = ApexPages.currentPage().getParameters();
-            //鍖婚櫌/绉戝/缁忛攢鍟�(鎵嬪啓)
-            if(mso.containsKey('00N10000002GE3Z')){
-                controller.getRecord().put('Manual_Name__c',mso.get('00N10000002GE3Z'));
-            }
-            rtTypeId = ApexPages.currentPage().getParameters().get('RecordType');
-            obj.put('OwnerId',UserInfo.getUserId());
+        }
+        //OPD璁″垝
+        if(mso.containsKey('CF00N10000008ps6d_lkid')){
+            controller.getRecord().put('Report_OPDPlan__c',mso.get('CF00N10000008ps6d_lkid'));
         }
         LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Report__c','classic');
         layoutSections = LayoutWrapperValue.layoutSections;
@@ -253,12 +258,14 @@
             System.debug('鑷畾涔夋牸寮忚浆鎹㈢粨鏉�');
 
             String awsDataId = (String)reportInfo.get('AWS_Data_Id__c');
+            String sfRecordId =  (String)reportInfo.get('Id');
             System.debug('awsDataId = ' + awsDataId);
-            report__c[] reports = [select id from report__c where AWS_Data_Id__c =:awsDataId];
+            report__c[] reports = [select id from report__c where AWS_Data_Id__c =:awsDataId or id =:sfRecordId];
             
             if(!isNew){
                 isClone = reports.size() == 0;
             }
+            system.debug('isClone'+isClone + ' isNew'+isNew);
             if(isNew){
                 System.debug('reportInfo = ' + reportInfo);               
                 if(!Test.isRunningTest()){

--
Gitblit v1.9.1