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/NewRepairController.cls | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/force-app/main/default/classes/NewRepairController.cls b/force-app/main/default/classes/NewRepairController.cls
index 6e97867..793482c 100644
--- a/force-app/main/default/classes/NewRepairController.cls
+++ b/force-app/main/default/classes/NewRepairController.cls
@@ -363,6 +363,7 @@
Map<String, Schema.SObjectField> fieldAPIToTypeMap = repairSchema.getDescribe().fields.getMap();
Map<String,Object> fieldValueMap = (Map<String,Object>)JSON.deserializeUntyped(repairJson);
Repair__c repairInfo = new Repair__c();
+ Boolean updateRepairCheck = false;
//鑷畾涔夋牸寮忚浆鎹�
for (String fieldAPI: fieldValueMap.keySet()) {
system.debug('field API'+fieldAPI);
@@ -388,12 +389,15 @@
}else if(String.valueOf(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='CURRENCY'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){
repairInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', '')));
} else if(String.valueof(fielddataType)=='BOOLEAN'){
+ //check repair check value
+ if(fieldAPI == 'Return_Without_Repair__c'&&Boolean.valueof(fieldValueMap.get(fieldAPI))){
+ updateRepairCheck = true;
+ }
repairInfo.put(fieldAPI, fieldValueMap.get(fieldAPI));
}else {
repairInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI)));
}
}
-
//2. Save Record Process
String status = 'success';
Response resp = new Response();
@@ -408,13 +412,19 @@
System.debug('into update');
String awsDataId = (String)repairInfo.get('AWS_Data_Id__c');
System.debug('awsDataId = ' + awsDataId);
- Repair__c[] repairs = [select id from Repair__c where AWS_Data_Id__c =:awsDataId];
+ Repair__c[] repairs = [select id,Return_Without_Repair_Reason__c,SAP_Transfer_time__c from Repair__c where AWS_Data_Id__c =:awsDataId];
+ if(!updateRepairCheck){
+ repairInfo.put('Return_Without_Repair_Reason__c',repairs[0].Return_Without_Repair_Reason__c);
+ }
+ if(repairs!=null&&repairs[0]!=null){
+ repairInfo.put('SAP_Transfer_time__c',repairs[0].SAP_Transfer_time__c);
+ }
System.debug('repairs[0].id = ' + repairs[0].id);
repairInfo.put('Id',repairs[0].id);//For testing;
update repairInfo;
}
rid=repairInfo.Id;
- PIHelper.saveTransLog(sobjectTypeValue,rid,transId, (String)repairInfo.get('AWS_Data_Id__c'),repairJson ,status,'');
+ PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,'');
resp.recordId = repairInfo.Id;
resp.message = '';
resp.status = status;
@@ -438,14 +448,14 @@
Database.rollback(sp);
resp.status = 'Exception';
resp.message ='淇濆瓨澶辫触锛屽師鍥�:'+ e.getDmlMessage(index);
- PIHelper.saveTransLog(sobjectTypeValue,rid,transId, (String)repairInfo.get('AWS_Data_Id__c'),repairJson ,status,'');
+ PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,e.getMessage()+e.getStackTraceString());
return resp;
} catch(Exception e) {
System.debug('into catch'+e.getMessage());
Database.rollback(sp);
status = 'fail';
- PIHelper.saveTransLog(sobjectTypeValue,rid,transId, (String)repairInfo.get('AWS_Data_Id__c'),repairJson,status,e.getMessage());
+ PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,e.getMessage()+e.getStackTraceString());
resp.message = e.getMessage();
resp.status = status;
return resp;
--
Gitblit v1.9.1