| | |
| | | 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); |
| | |
| | | }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(); |
| | |
| | | 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; |