From 8badb57ea2c82557850ad5b39281c3e8714eb119 Mon Sep 17 00:00:00 2001
From: liuyan <liuyan@prec-tech.com>
Date: 星期四, 24 十一月 2022 10:08:31 +0800
Subject: [PATCH] 科室信息漏传SPO问题
---
force-app/main/default/classes/OnCallController.cls | 46 ++++++++++++++++++++++++++++++++++------------
1 files changed, 34 insertions(+), 12 deletions(-)
diff --git a/force-app/main/default/classes/OnCallController.cls b/force-app/main/default/classes/OnCallController.cls
index 551e515..3740276 100644
--- a/force-app/main/default/classes/OnCallController.cls
+++ b/force-app/main/default/classes/OnCallController.cls
@@ -1,10 +1,3 @@
-/**
- * @description :
- * @author : ChangeMeIn@UserSettingsUnder.SFDoc
- * @group :
- * @last modified on : 03-17-2022
- * @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
-**/
global without sharing class OnCallController {
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 = 'On_Call__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,10 +18,12 @@
public String PIPL_Input_Account_Error_Msg{set;get;}
public String sobjectPrefix{set;get;}
public String sobjecttypeForFrontEnd{set;get;}
+ public String sfRecordIdForEdit{set;get;}//Add By LiJun for edit record from daily report, 20220510
// public String sobjectId{set;get;}
public OnCallController(ApexPages.StandardController controller) {
// sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='OnCall' limit 1].CustomObjectId;
isNewMode = true;
+ isCloneMode = false;
Input_Required_Field_Msg = Label.Input_Required_Field_Msg;
PIPL_Name_Label = Label.PIPL_Name_Label;
PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg;
@@ -38,12 +34,19 @@
if(!Test.isRunningTest()){
controller.addFields(fieldList);
}
+ Map<string,string> mso = ApexPages.currentPage().getParameters();
+ System.debug('mso:' + mso);
+ if(mso != null && mso.containsKey('newclone')){
+ isCloneMode = true;
+ }
+ System.debug('isClone:' + isCloneMode);
SObject obj = controller.getRecord();
if(obj.Id != null){
//鏇存柊
isNewMode = false;
On_Call__c onCallData = [select Id,AWS_Data_Id__c from On_Call__c where id =: obj.Id];
AWSDataId = onCallData.AWS_Data_Id__c;
+ sfRecordIdForEdit = obj.Id;//Add By LiJun for Edit Record from NFM609, 20220510
}else{
//鏂板缓
rtTypeId = null;
@@ -88,6 +91,11 @@
if(String.isNotBlank(fieldValue)&&fieldValue.contains('T')){
fieldValue = fieldValue.replace('T',' ');
onCallInfo.put(fieldAPI, Datetime.valueOfGmt(fieldValue));
+ //20220405 By ChenYanan Start
+ }else if(String.isNotBlank(fieldValue)) {
+ fieldValue = fieldValue.replace('/', '-') + ':00';
+ onCallInfo.put(fieldAPI, Datetime.valueOf(fieldValue));
+ //20220405 By ChenYanan End
}else{
onCallInfo.put(fieldAPI, null);
}
@@ -105,16 +113,30 @@
Response resp = new Response();
Savepoint sp = Database.setSavepoint();
String rid = '';
+ Boolean isClone = false;
+ String awsDataId = '';
+ String sfRecordId = '';
try{
- System.debug('abcde');
- if(isNew){
+ System.debug('abcde'+isNew);
+ awsDataId = (String)onCallInfo.get('AWS_Data_Id__c');
+ sfRecordId = (String)onCallInfo.get('Id');
+ if (string.isBlank(awsDataId)) {
+ throw new DMLException('鏇存柊鏃禔WS_Data_Id__c涓嶈兘涓虹┖');
+ }
+ System.debug('awsDataId = ' + awsDataId);
+ On_Call__c[] onCalls = Database.query('select id from On_Call__c where AWS_Data_Id__c =:awsDataId or id =:sfRecordId');
+ if(!isNew){
+ isClone = onCalls.size() == 0;
+ }
+ system.debug('isClone'+isClone + ' isNew'+isNew);
+ if(isNew || isClone){
System.debug('onCallInfozhj = ' + onCallInfo);
insert onCallInfo;
}else{
System.debug('into update');
- String awsDataId = (String)onCallInfo.get('AWS_Data_Id__c');
- System.debug('awsDataId = ' + awsDataId);
- On_Call__c[] onCalls = [select id from On_Call__c where AWS_Data_Id__c =:awsDataId];
+ // String awsDataId = (String)onCallInfo.get('AWS_Data_Id__c');
+ // System.debug('awsDataId = ' + awsDataId);
+ // On_Call__c[] onCalls = [select id from On_Call__c where AWS_Data_Id__c =:awsDataId];
System.debug('onCalls[0].id = ' + onCalls[0].id);
onCallInfo.put('Id',onCalls[0].id);//For testing;
update onCallInfo;
--
Gitblit v1.9.1