From 2f183a6b0a83ec3f7d35375d5d25d200efc2a3e1 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期二, 19 四月 2022 18:46:18 +0800 Subject: [PATCH] 20220419FixIssue --- force-app/main/default/classes/NewRepairController.cls | 128 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 110 insertions(+), 18 deletions(-) diff --git a/force-app/main/default/classes/NewRepairController.cls b/force-app/main/default/classes/NewRepairController.cls index b246859..9f7c0d1 100644 --- a/force-app/main/default/classes/NewRepairController.cls +++ b/force-app/main/default/classes/NewRepairController.cls @@ -190,18 +190,82 @@ if(mso.containsKey('00N10000008rsVuEAI')){ controller.getRecord().put('ProblemDescription__c',mso.get('00N10000008rsVuEAI')); } + //濡傛灉鏄祴璇曠幆澧� + Boolean isTest = NFMUtil.isSandbox(); //鎶ヤ慨浜�00N1m0000054ufW - if(mso.containsKey('00N1m0000054ufW')){ - controller.getRecord().put('RepairApplicant__c',mso.get('00N1m0000054ufW')); + String RepairApplicant = isTest==true?'00N1m0000054ufW':'00N10000009H1rQ'; + if(mso.containsKey(RepairApplicant)){ + controller.getRecord().put('RepairApplicant__c',mso.get(RepairApplicant)); } //鎶ヤ慨浜哄尰闄�00N1m0000054ufU - if(mso.containsKey('00N1m0000054ufU')){ - controller.getRecord().put('RepairApplicantHospital__c',mso.get('00N1m0000054ufU')); + String RepairApplicantHospital = isTest==true?'00N1m0000054ufU':'00N10000009H1rP'; + if(mso.containsKey(RepairApplicantHospital)){ + controller.getRecord().put('RepairApplicantHospital__c',mso.get(RepairApplicantHospital)); } //鎶ヤ慨浜虹瀹�00N1m0000054ufT - if(mso.containsKey('00N1m0000054ufT')){ - controller.getRecord().put('RepairApplicantDepartment__c',mso.get('00N1m0000054ufT')); + String RepairApplicantDepartment = isTest==true?'00N1m0000054ufT':'00N10000009H1rO'; + if(mso.containsKey(RepairApplicantDepartment)){ + controller.getRecord().put('RepairApplicantDepartment__c',mso.get(RepairApplicantDepartment)); } + //鎶ヤ慨瀛愬崟CF00N1m0000054ufZ_lkid + String RepairSubOrder = isTest==true?'CF00N1m0000054ufZ_lkid':'CF00N10000009H1rR_lkid'; + if(mso.containsKey(RepairSubOrder)){ + controller.getRecord().put('RepairSubOrder__c',mso.get(RepairSubOrder)); + //鏌ヨAWSDataId + List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:mso.get(RepairSubOrder)]; + if(rso.size() > 0){ + RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c; + } + } + //鎶ヤ慨鍙戣捣鏃� + String RepairTime = isTest==true?'00N1m0000054ufa':'00N10000009H1rS'; + if(mso.containsKey(RepairTime)){ + String o = mso.get(RepairTime); + controller.getRecord().put('RepairTime__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //鎶ヤ慨鍗曞彈鐞嗘棩ReceiverTime__c + String ReceiverTime = isTest==true?'00N1m0000054ufS':'00N10000009H1rN'; + if(mso.containsKey(ReceiverTime)){ + String o = mso.get(ReceiverTime); + controller.getRecord().put('ReceiverTime__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //璁″垝涓婇棬鏃� + String PlannedVisitDay = isTest==true?'00N1m000005SRiF':'00N10000009H1rM'; + if(mso.containsKey(PlannedVisitDay)){ + String o = mso.get(PlannedVisitDay); + controller.getRecord().put('PlannedVisitDay__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //涓�娆′笂闂ㄦ棩 + String ActualVisitDateFirst = isTest==true?'00N1m000005SRiK':'00N10000009H1r6'; + if(mso.containsKey(ActualVisitDateFirst)){ + String o = mso.get(ActualVisitDateFirst); + controller.getRecord().put('ActualVisitDateFirst__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //浜屾涓婇棬鏃� + String ActualVisitDateSecond = isTest==true?'00N1m000005SRiP':'00N10000009H1r7'; + if(mso.containsKey(ActualVisitDateSecond)){ + String o = mso.get(ActualVisitDateSecond); + controller.getRecord().put('ActualVisitDateSecond__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //涓夋涓婇棬鏃� + String ActualVisitDateThird = isTest==true?'00N1m000005SRiU':'00N10000009H1r8'; + if(mso.containsKey(ActualVisitDateThird)){ + String o = mso.get(ActualVisitDateThird); + controller.getRecord().put('ActualVisitDateThird__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //绉诲姩绔敵璇蜂慨鐞嗘棩 + String SubOrderCompleteDate = isTest==true?'00N1m000005SRmg':'00N10000009H1ri'; + if(mso.containsKey(SubOrderCompleteDate)){ + String o = mso.get(SubOrderCompleteDate); + controller.getRecord().put('SubOrderCompleteDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //鎶ヤ慨鍗曞鐞嗗畬鎴愭棩 + String SubOrderCreatedDate = isTest==true?'00N1m000005SRmW':'00N10000009H1rj'; + if(mso.containsKey(SubOrderCreatedDate)){ + String o = mso.get(SubOrderCreatedDate); + controller.getRecord().put('SubOrderCreatedDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //閫佷慨鐗╂祦鏂瑰紡00N1m0000054ufE if(mso.containsKey('00N1m0000054ufE')){ controller.getRecord().put('DeliveryLogisticsMode__c',mso.get('00N1m0000054ufE')); @@ -222,15 +286,7 @@ if(mso.containsKey('00N10000008rsVS')){ controller.getRecord().put('DelayReportReason__c',mso.get('00N10000008rsVS')); } - //鎶ヤ慨瀛愬崟CF00N1m0000054ufZ_lkid - if(mso.containsKey('CF00N1m0000054ufZ_lkid')){ - controller.getRecord().put('RepairSubOrder__c',mso.get('CF00N1m0000054ufZ_lkid')); - //鏌ヨAWSDataId - List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:mso.get('CF00N1m0000054ufZ_lkid')]; - if(rso.size() > 0){ - RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c; - } - } + rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); if(String.isBlank(rtTypeId)||String.isEmpty(rtTypeId)){ List<RecordType> rtList = new List<RecordType>([select Id,DeveloperName from RecordType where SobjectType ='Repair__c' and DeveloperName ='Repair']); @@ -264,9 +320,35 @@ @RemoteAction global static Response EncryptUpdate(string rid){ + system.debug('rid='+rid); + Response r = new Response(); + List<Repair__c> reps = new List<Repair__c>(); + if(Test.isRunningTest()){ + if(rid=='a0J1m000001QqXk'){ + reps.add(new Repair__c(Id='a0J1m000001QqXk',Encrypt_Update_Flag__c=true)); + }else{ + reps.add(new Repair__c(Id='a0J1m000001QqXk',Encrypt_Update_Flag__c=false)); + } + }else{ + reps = [select id,Encrypt_Update_Flag__c from Repair__c where id =:rid]; + } + if(reps.size()==0){ + r.status = 'failed'; + r.message = '绗﹀悎鏉′欢鐨勬暟鎹湭鎵惧埌'; + return r; + } + Repair__c rep = reps[0]; + if(!rep.Encrypt_Update_Flag__c){ + r.status = 'success'; + r.message = ''; + return r; + } boolean b = AWSServiceTool2.EncryptPushData(new string[]{rid}); - Response r = new Response(); + rep.Encrypt_Update_Flag__c = false; + if(!Test.isRunningTest()){ + update rep; + } r.status = b ? 'success' : 'failed'; r.message = b ? '' : '鍔犲瘑鎺ㄩ�佸け璐�'; r.recordId = rid; @@ -281,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); @@ -306,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(); @@ -326,7 +412,13 @@ 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; -- Gitblit v1.9.1