force-app/main/default/classes/NewAndEditCaseController.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/classes/NewAndEditQISController.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/classes/NewRepairController.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/pages/NewAndEditCase.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/pages/NewAndEditInquiryForm.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/pages/NewAndEditLead.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/pages/NewAndEditReport.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
force-app/main/default/pages/NewRepair.page | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
manifest/packageForCloneButton.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
force-app/main/default/classes/NewAndEditCaseController.cls
@@ -13,6 +13,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'Case'; public Boolean isNewMode{set;get;} public Boolean isCloneMode{protected set;get;} public String rtTypeId {get; set;} public String AWSDataId{set;get;} public String contactId{set;get;}//For Lookup field @@ -33,6 +34,7 @@ public string AWSToSobjectEncryptedMapJson{get{return JSON.serialize(AWSToSobjectEncryptedMap);}} public NewAndEditCaseController(ApexPages.StandardController controller) { 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; @@ -40,6 +42,10 @@ //获取所有字段 List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Case').getDescribe().fields.getMap().keyset()); // Add fields to controller. This is to avoid the SOQL error in visualforce page Map<string,string> mso = ApexPages.currentPage().getParameters(); if(mso != null && mso.containsKey('newclone')){ isCloneMode = true; } if (!Test.isRunningTest()) { controller.addFields(fieldList); } @@ -60,7 +66,8 @@ contactsInfo = JSON.serialize(sfIdToAWSIdMap); }else{ //新建 rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); // rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); rtTypeId = mso.get('RecordType'); obj.put('OwnerId',UserInfo.getUserId()); } LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Case','classic'); @@ -138,18 +145,27 @@ Response resp = new Response(); Savepoint sp = Database.setSavepoint(); String rid = ''; String awsDataId = ''; Boolean isClone = false; try{ System.debug('abcde'); if(isNew){ awsDataId = (String)caseInfo.get('AWS_Data_Id__c'); System.debug('awsDataId = ' + awsDataId); Case[] cases = [select id from Case where AWS_Data_Id__c =:awsDataId]; if(!isNew){ isClone = cases.size() == 0; } if(isNew || isClone){ System.debug('caseInfozhj = ' + caseInfo); if(!Test.isRunningTest()){ insert caseInfo; } }else{ System.debug('into update'); String awsDataId = (String)caseInfo.get('AWS_Data_Id__c'); System.debug('awsDataId = ' + awsDataId); Case[] cases = [select id from Case where AWS_Data_Id__c =:awsDataId]; // String awsDataId = (String)caseInfo.get('AWS_Data_Id__c'); // System.debug('awsDataId = ' + awsDataId); // Case[] cases = [select id from Case where AWS_Data_Id__c =:awsDataId]; System.debug('cases ========================= ' + cases); System.debug('Cases[0].id = ' + cases[0].id); caseInfo.put('Id',cases[0].id);//For testing; force-app/main/default/classes/NewAndEditQISController.cls
@@ -1,5 +1,6 @@ global with sharing class NewAndEditQISController extends NewAndEditBaseController{ public String Input_Required_Field_Msg{set;get;} public String qisId{set;get;} public NewAndEditQISController(ApexPages.StandardController controller) { Input_Required_Field_Msg = Label.Input_Required_Field_Msg; List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('QIS_Report__c').getDescribe().fields.getMap().keyset()); @@ -12,13 +13,16 @@ //Updated by Chen Yanan 20220323 Start String contactId = controller.getRecord().Id; Map<string,string> mso = ApexPages.currentPage().getParameters(); if(contactId == null){ Map<string,string> mso = ApexPages.currentPage().getParameters(); system.debug('mso='+mso); if(mso.containsKey('CF00N10000002FHFK_lkid')){ controller.getRecord().put('Name', '*'); } } if(mso.containsKey('CF00N100000073PA0_lkid')){ controller.getRecord().put('QIS_pre__c',mso.get('CF00N100000073PA0_lkid')); } system.debug('controller.getRecord()='+controller.getRecord()); //Updated by Chen Yanan 20220323 End } force-app/main/default/classes/NewRepairController.cls
@@ -190,18 +190,134 @@ if(mso.containsKey('00N10000008rsVuEAI')){ controller.getRecord().put('ProblemDescription__c',mso.get('00N10000008rsVuEAI')); } //报修人00N1m0000054ufW if(mso.containsKey('00N1m0000054ufW')){ controller.getRecord().put('RepairApplicant__c',mso.get('00N1m0000054ufW')); //如果是测试环境 if(NFMUtil.isSandbox()){ //报修人00N1m0000054ufW if(mso.containsKey('00N1m0000054ufW')){ controller.getRecord().put('RepairApplicant__c',mso.get('00N1m0000054ufW')); } //报修人医院00N1m0000054ufU if(mso.containsKey('00N1m0000054ufU')){ controller.getRecord().put('RepairApplicantHospital__c',mso.get('00N1m0000054ufU')); } //报修人科室00N1m0000054ufT if(mso.containsKey('00N1m0000054ufT')){ controller.getRecord().put('RepairApplicantDepartment__c',mso.get('00N1m0000054ufT')); } //报修子单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; } } //报修发起日 if(mso.containsKey('00N1m0000054ufa')){ String o = mso.get('00N1m0000054ufa'); controller.getRecord().put('RepairTime__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //报修单受理日ReceiverTime__c if(mso.containsKey('00N1m0000054ufS')){ String o = mso.get('00N1m0000054ufS'); controller.getRecord().put('ReceiverTime__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //计划上门日 if(mso.containsKey('00N1m000005SRiF')){ String o = mso.get('00N1m000005SRiF'); controller.getRecord().put('PlannedVisitDay__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //一次上门日 if(mso.containsKey('00N1m000005SRiK')){ String o = mso.get('00N1m000005SRiK'); controller.getRecord().put('ActualVisitDateFirst__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //二次上门日 if(mso.containsKey('00N1m000005SRiP')){ String o = mso.get('00N1m000005SRiP'); controller.getRecord().put('ActualVisitDateSecond__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //三次上门日 if(mso.containsKey('00N1m000005SRiU')){ String o = mso.get('00N1m000005SRiU'); controller.getRecord().put('ActualVisitDateThird__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //移动端申请修理日 if(mso.containsKey('00N1m000005SRmg')){ String o = mso.get('00N1m000005SRmg'); controller.getRecord().put('SubOrderCompleteDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //报修单处理完成日 if(mso.containsKey('00N1m000005SRmW')){ String o = mso.get('00N1m000005SRmW'); controller.getRecord().put('SubOrderCreatedDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } }else { //正式环境 //报修人 if(mso.containsKey('00N10000009H1rQ')){ controller.getRecord().put('RepairApplicant__c',mso.get('00N10000009H1rQ')); } //报修人医院 if(mso.containsKey('00N10000009H1rP')){ controller.getRecord().put('RepairApplicantHospital__c',mso.get('00N10000009H1rP')); } //报修人科室 if(mso.containsKey('00N10000009H1rO')){ controller.getRecord().put('RepairApplicantDepartment__c',mso.get('00N10000009H1rO')); } //报修子单 if(mso.containsKey('00N10000009H1rR_lkid')){ controller.getRecord().put('RepairSubOrder__c',mso.get('00N10000009H1rR_lkid')); //查询AWSDataId List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:mso.get('00N10000009H1rR_lkid')]; if(rso.size() > 0){ RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c; } } //报修发起日 if(mso.containsKey('00N10000009H1rS')){ String o = mso.get('00N10000009H1rS'); controller.getRecord().put('RepairTime__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //报修单受理日 if(mso.containsKey('00N10000009H1rN')){ String o = mso.get('00N10000009H1rN'); controller.getRecord().put('ReceiverTime__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //计划上门日 if(mso.containsKey('00N10000009H1rM')){ String o = mso.get('00N10000009H1rM'); controller.getRecord().put('PlannedVisitDay__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //一次上门日 if(mso.containsKey('00N10000009H1r6')){ String o = mso.get('00N10000009H1r6'); controller.getRecord().put('ActualVisitDateFirst__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //二次上门日 if(mso.containsKey('00N10000009H1r7')){ String o = mso.get('00N10000009H1r7'); controller.getRecord().put('ActualVisitDateSecond__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //三次上门日 if(mso.containsKey('00N10000009H1r8')){ String o = mso.get('00N10000009H1r8'); controller.getRecord().put('ActualVisitDateThird__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //移动端申请修理日 if(mso.containsKey('00N10000009H1ri')){ String o = mso.get('00N10000009H1ri'); controller.getRecord().put('SubOrderCompleteDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } //报修单处理完成日 if(mso.containsKey('00N10000009H1rj')){ String o = mso.get('00N10000009H1rj'); controller.getRecord().put('SubOrderCreatedDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); } } //报修人医院00N1m0000054ufU if(mso.containsKey('00N1m0000054ufU')){ controller.getRecord().put('RepairApplicantHospital__c',mso.get('00N1m0000054ufU')); } //报修人科室00N1m0000054ufT if(mso.containsKey('00N1m0000054ufT')){ controller.getRecord().put('RepairApplicantDepartment__c',mso.get('00N1m0000054ufT')); } //送修物流方式00N1m0000054ufE if(mso.containsKey('00N1m0000054ufE')){ controller.getRecord().put('DeliveryLogisticsMode__c',mso.get('00N1m0000054ufE')); @@ -222,15 +338,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 +372,24 @@ @RemoteAction global static Response EncryptUpdate(string rid){ system.debug('rid='+rid); Response r = new Response(); List<Repair__c> 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; update rep; r.status = b ? 'success' : 'failed'; r.message = b ? '' : '加密推送失败'; r.recordId = rid; force-app/main/default/pages/NewAndEditCase.page
@@ -24,7 +24,7 @@ //判断insert or update function ProcessPI(caseJson, payloadForNewPI) { blockme(); if ({!isNewMode}) { if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(caseJson, payloadForNewPI) }else { UpdatePIToAWS(caseJson, payloadForNewPI) @@ -175,7 +175,7 @@ payloadJson.Customer_manual_Encrypted__c = r.object[0].customerManualEncrypt; //payloadJson.AWS_Data_Id__c = r.object[0].dataId; payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; if (isNewMode) { if (isNewMode || {!isCloneMode}) { payloadJson.AWS_Data_Id__c = r.object[0].dataId; } else { payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; force-app/main/default/pages/NewAndEditInquiryForm.page
@@ -228,20 +228,26 @@ } else if (ele.type == 'checkbox') { result[field_api_name] = ele.checked; } else if (ele.type == 'select-multiple') { //field_api_name let multiple = field_api_name; let targets = ""; //InquiryForm特殊处理 if(multiple == "Product1__c"){ targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[1].rows[1].cells[2].innerText; }else if(multiple == "Request1__c"){ targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[2].rows[1].cells[2].innerText; }else{ targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[1].children[0].children[1].children[2].children[0].innerText; //After Update By zhj 20220411 Start let multiple = nodelist[index].getAttribute("data-id"); let targets = document.querySelector("[data-id=" + multiple + "]").options; let selValues = []; for(i=0; i < targets.length; i++){ if(targets[i].selected){ selValues.push(targets[i].value); } } targets = targets.replace(/\n/g, ";"); console.log('targets = ' + targets); result[field_api_name] = targets; let setValuesStr = JSON.stringify(selValues); setValuesStr = setValuesStr.substring(1,setValuesStr.length-1); if(setValuesStr){ setValuesStr = setValuesStr.replace(/"/g,""); if(setValuesStr.indexOf(',')!=-1){ setValuesStr = setValuesStr.replace(/,/g,";"); } } console.log('targets = ' + setValuesStr); result[nodelist[index].getAttribute("data-id")] = setValuesStr; //After Update By zhj 20220411 end } else { result[field_api_name] = ele.value; } force-app/main/default/pages/NewAndEditLead.page
@@ -118,12 +118,26 @@ } else if (nodelist[index].type == 'checkbox') { result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked; } else if (nodelist[index].type == 'select-multiple') { //nodelist[index].getAttribute("data-id") //After Update By zhj 20220411 Start let multiple = nodelist[index].getAttribute("data-id"); let targets = document.querySelector("[data-id=" + multiple + "]").parentNode.children[1].children[0].children[1].children[2].children[0].innerText; targets = targets.replace(/\n/g, ";"); console.log('targets = ' + targets); result[nodelist[index].getAttribute("data-id")] = targets; let targets = document.querySelector("[data-id=" + multiple + "]").options; let selValues = []; for(i=0; i < targets.length; i++){ if(targets[i].selected){ selValues.push(targets[i].value); } } let setValuesStr = JSON.stringify(selValues); setValuesStr = setValuesStr.substring(1,setValuesStr.length-1); if(setValuesStr){ setValuesStr = setValuesStr.replace(/"/g,""); if(setValuesStr.indexOf(',')!=-1){ setValuesStr = setValuesStr.replace(/,/g,";"); } } console.log('targets = ' + setValuesStr); result[nodelist[index].getAttribute("data-id")] = setValuesStr; //After Update By zhj 20220411 end } else { result[nodelist[index].getAttribute("data-id")] = nodelist[index].value; } force-app/main/default/pages/NewAndEditReport.page
@@ -72,7 +72,6 @@ result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked; } else if (nodelist[index].type == 'select-multiple') { //nodelist[index].getAttribute("data-id") let multiple = nodelist[index].getAttribute("data-id"); //let targets = document.querySelector("[data-id=" + multiple + "]").nextSibling.children[0].children[1].children[2].innerText; //Before Update By Li Jun 20220411 // let targets = document.querySelector("[data-id=" + multiple + "]").parentNode.children[2].children[0].children[1].children[2].children[0].innerText; @@ -82,6 +81,7 @@ //Before Update By Li Jun 20220411 //After Update By Li Jun 20220411 Start let multiple = nodelist[index].getAttribute("data-id"); let targets = document.querySelector("[data-id=" + multiple + "]").options; let selValues = []; for(i=0; i < targets.length; i++){ force-app/main/default/pages/NewRepair.page
@@ -227,7 +227,7 @@ //page:form:block:j_id34:17:j_id35:j_id36:2:j_id37 //page:form:block:j_id34:17:j_id35:j_id36:2:j_id37 if(document.getElementById('page:form:block:j_id34:17:j_id35:j_id36:2:j_id37')){ result.Return_Without_Repair_Reason__c = document.getElementById('page:form:block:j_id34:17:j_id35:j_id36:2:j_id37').value; result.Return_Without_Repair_Reason__c = document.getElementById('page:form:block:j_id34:17:j_id35:j_id36:2:j_id37').value=='_\x01_'?'':document.getElementById('page:form:block:j_id34:17:j_id35:j_id36:2:j_id37').value; } console.log(JSON.stringify(result)); return result; manifest/packageForCloneButton.xml
@@ -19,6 +19,8 @@ <members>RentalApplyControllerTest</members> <members>NewAndEditReportController</members> <members>NewAndEditReportControllerTest</members> <members>NewAndEditQISController</members> <members>NewAndEditCaseController</members> <name>ApexClass</name> </types> <types> @@ -36,6 +38,7 @@ <members>NewAndEditQIS</members> <members>NewAndEditContact</members> <members>NewAndEditInquiryForm</members> <members>NewAndEditCase</members> <name>ApexPage</name> </types> <version>52.0</version>