From e19c35a6d99fd792106d925ae03e8ae3cef3f6b3 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期三, 20 四月 2022 16:44:06 +0800 Subject: [PATCH] Insert log issue --- 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