From ea5686cada5a3e63edaa0d3e8c2db8def4f9ff31 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 11 四月 2022 11:52:41 +0800 Subject: [PATCH] PIPLCloneButton --- force-app/main/default/pages/NewAndEditContact.page | 41 -- force-app/main/default/classes/NewAndEditLeadController.cls | 46 ++ force-app/main/default/classes/NewRepairController.cls | 185 ++++++++++ force-app/main/default/pages/NewRepair.page | 57 ++ force-app/main/default/classes/NewAndEditContactController.cls | 8 force-app/main/default/classes/NewAndEditBaseController.cls | 38 + force-app/main/default/classes/NewRepairControllerTest.cls | 36 + force-app/main/default/pages/NewAndEditAgencyContact.page | 10 force-app/main/default/pages/NewAndEditQIS.page | 135 +----- force-app/main/default/classes/NewAndEditReportController.cls | 86 ++-- force-app/main/default/pages/NewRentalApply.page | 12 force-app/main/default/pages/NewOnCall.page | 12 force-app/main/default/classes/NewAndEditAddressController.cls | 30 + force-app/main/default/pages/NewConsumApply.page | 5 force-app/main/default/pages/NewAndEditASEActivity.page | 15 force-app/main/default/pages/NewAndEditInspectionReport.page | 8 force-app/main/default/pages/NewAndEditReport.page | 110 ++++- force-app/main/default/classes/OnCallController.cls | 58 +- force-app/main/default/classes/RentalApplyController.cls | 32 + manifest/packageForCloneButton.xml | 42 ++ force-app/main/default/pages/NewAndEditInquiryForm.page | 17 force-app/main/default/classes/NewConsumApplyController.cls | 25 + force-app/main/default/pages/NewAndEditAddress.page | 11 force-app/main/default/pages/NewAndEditLead.page | 5 force-app/main/default/pages/NewAndEditTenderinformation.page | 10 25 files changed, 682 insertions(+), 352 deletions(-) diff --git a/force-app/main/default/classes/NewAndEditAddressController.cls b/force-app/main/default/classes/NewAndEditAddressController.cls index 8826764..6feb735 100644 --- a/force-app/main/default/classes/NewAndEditAddressController.cls +++ b/force-app/main/default/classes/NewAndEditAddressController.cls @@ -13,6 +13,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'Address__c'; 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 @@ -32,6 +33,7 @@ // public String CurrentUserName{private set; get;} public NewAndEditAddressController(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,7 +42,12 @@ List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Address__c').getDescribe().fields.getMap().keyset()); // Add fields to controller. This is to avoid the SOQL error in visualforce page if (!Test.isRunningTest()) { - controller.addFields(fieldList);} + controller.addFields(fieldList); + } + Map<string,string> mso = ApexPages.currentPage().getParameters(); + if(mso != null && mso.containsKey('newclone')){ + isCloneMode = true; + } SObject obj = controller.getRecord(); if(obj.Id != null){ //鏇存柊 @@ -103,7 +110,10 @@ if(String.isNotBlank(dt)&&dt.contains('T')){ dt = dt.replace('T',' '); addressInfo.put(fieldAPI, Datetime.valueOfGmt(dt)); - }else { + }else if(String.isNotBlank(fieldValue)) { + fieldValue = fieldValue.replace('/', '-') + ':00'; + addressInfo.put(fieldAPI, Datetime.valueOf(fieldValue)); + }else{ addressInfo.put(fieldAPI,fieldValue); } }else if(String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ @@ -119,18 +129,26 @@ String status = 'success'; Response resp = new Response(); Savepoint sp = Database.setSavepoint(); + Boolean isClone = false; // String rid = ''; String awsDataId = ''; try{ System.debug('abcde'); - if(isNew){ + awsDataId = (String)addressInfo.get('AWS_Data_Id__c'); + System.debug('awsDataId = ' + awsDataId); + Address__c[] addresses = [select id from Address__c where AWS_Data_Id__c =:awsDataId]; + if(!isNew){ + isClone = addresses.size() == 0; + } + System.debug('isClone---------'+isClone); + if(isNew || isClone){ System.debug('addressInfoNancy = ' + addressInfo); insert addressInfo; }else{ System.debug('into update'); - awsDataId = (String)addressInfo.get('AWS_Data_Id__c'); - System.debug('awsDataId = ' + awsDataId); - Address__c[] addresses = [select id from Address__c where AWS_Data_Id__c =:awsDataId]; + // awsDataId = (String)addressInfo.get('AWS_Data_Id__c'); + // System.debug('awsDataId = ' + awsDataId); + // Address__c[] addresses = [select id from Address__c where AWS_Data_Id__c =:awsDataId]; System.debug('addresses[0].id = ' + addresses[0].id); addressInfo.put('Id',addresses[0].id);//For testing; update addressInfo; diff --git a/force-app/main/default/classes/NewAndEditBaseController.cls b/force-app/main/default/classes/NewAndEditBaseController.cls index 1e854ce..6474e93 100644 --- a/force-app/main/default/classes/NewAndEditBaseController.cls +++ b/force-app/main/default/classes/NewAndEditBaseController.cls @@ -6,6 +6,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public String sobjectTypeValue {private set; get;} public Boolean isNewMode{set;get;} + public Boolean isCloneMode{protected set;get;} public String rtTypeId {get; set;} public String AWSDataId{set;get;} public String CurrentUserId{private set;get;} @@ -53,7 +54,7 @@ public List<String> LookUpOverrideFields{get;private set;} public string LookUpOverrideFieldsMapJson{get; set;} public string recordId{get;private set;} - + public NewAndEditBaseController(){ ApiPrefix = 'PIBackApi'; AWSToSobjectNonEncryptedMap = new Map<string,string>(); @@ -71,8 +72,12 @@ system.debug('obj='+sobjectTypeValue); isNewMode = true; + isCloneMode = false; List<Sobject> lso = Database.query('select id from RecordType where SobjectType = :sobjectTypeValue'); - + Map<string,string> mso = ApexPages.currentPage().getParameters(); + if(mso != null && mso.containsKey('newclone')){ + isCloneMode = true; + } if(obj.Id != null){ recordId = obj.Id; isNewMode = false; @@ -187,13 +192,14 @@ System.debug('sobjectTypeValue:'+sobjectTypeValue+' Info:' + JSON.serialize(leadJson)); System.debug('json length='+leadJson.length()); System.debug('leadJson---------'+leadJson); + System.debug('isNew---------'+isNew); //1. Prepare the payload for Lead Schema.SObjectType leadSchema = schemaMap.get(sobjectTypeValue); Map<String, Schema.SObjectField> fieldAPIToTypeMap = leadSchema.getDescribe().fields.getMap(); Map<String,Object> fieldValueMap = (Map<String,Object>)JSON.deserializeUntyped(leadJson); - + Boolean isClone = false; //2. Save Record Process String status = 'success'; Response resp = new Response(); @@ -201,7 +207,7 @@ Savepoint sp = Database.setSavepoint(); Sobject leadInfo = sobj; try{ - System.debug('abcde'); + for (String fieldAPI: fieldValueMap.keySet()) { system.debug('field API='+fieldAPI); if(!fieldAPIToTypeMap.containskey(fieldAPI)){ @@ -234,22 +240,28 @@ } system.debug('for (String fieldAPI: fieldValueMap.keySet()) end'); + awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); + if (string.isBlank(awsDataId)) { + throw new DMLException('鏇存柊鏃禔WS_Data_Id__c涓嶈兘涓虹┖'); + } + System.debug('awsDataId = ' + awsDataId); + Sobject[] sobjects = Database.query('select id from '+sobjectTypeValue+' where AWS_Data_Id__c =:awsDataId'); - if(isNew){ + + if(!isNew){ + isClone = sobjects.size() == 0; + } + System.debug('isNew---------'+isNew); + + if(isNew || isClone){ System.debug('leadInfozhj = ' + leadInfo); if(!Test.isRunningTest()){ insert leadInfo; } }else{ System.debug('into update'); - awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); - if (string.isBlank(awsDataId)) { - throw new DMLException('鏇存柊鏃禔WS_Data_Id__c涓嶈兘涓虹┖'); - } - System.debug('awsDataId = ' + awsDataId); - Sobject[] leads = Database.query('select id from '+sobjectTypeValue+' where AWS_Data_Id__c =:awsDataId'); - System.debug('leads[0].id = ' + leads[0].id); - leadInfo.put('Id',leads[0].id);//For testing; + System.debug('sobjects[0].id = ' + sobjects[0].id); + leadInfo.put('Id',sobjects[0].id);//For testing; if(!Test.isRunningTest()){ update leadInfo; } diff --git a/force-app/main/default/classes/NewAndEditContactController.cls b/force-app/main/default/classes/NewAndEditContactController.cls index 022e74b..51152d2 100644 --- a/force-app/main/default/classes/NewAndEditContactController.cls +++ b/force-app/main/default/classes/NewAndEditContactController.cls @@ -18,6 +18,7 @@ }else{ Map<string,string> mso = ApexPages.currentPage().getParameters(); system.debug('mso='+mso); + system.debug('url='+ApexPages.currentPage().getUrl()); if(mso.containsKey('con4_lkid')){ controller.getRecord().put('AccountId',mso.get('con4_lkid')); } @@ -31,15 +32,16 @@ system.debug(mso); PageReference pg = null; mso.remove('sfdc.override'); + mso.remove('save_new'); system.debug('recordId='+recordId); if(string.isBlank(recordId)){ pg = new PageReference('/003/e'); }else{ pg = new PageReference('/'+recordId+'/e'); } - //pg.getParameters().putAll(mso); - pg.getParameters().put('RecordType',mso.get('RecordType')); - pg.getParameters().put('accid',mso.get('accid')); + pg.getParameters().putAll(mso); + //pg.getParameters().put('RecordType',mso.get('RecordType')); + //pg.getParameters().put('accid',mso.get('accid')); pg.getParameters().put('nooverride','1'); pg.setRedirect(true); return pg; diff --git a/force-app/main/default/classes/NewAndEditLeadController.cls b/force-app/main/default/classes/NewAndEditLeadController.cls index 6a1bf53..6ff38fd 100644 --- a/force-app/main/default/classes/NewAndEditLeadController.cls +++ b/force-app/main/default/classes/NewAndEditLeadController.cls @@ -13,6 +13,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'Lead'; public Boolean isNewMode{set;get;} + public Boolean isCloneMode{protected set;get;} public String rtTypeId {get; set;} public String AWSDataId{set;get;} public String AWSDataIdInquiryForm{set;get;} @@ -40,10 +41,15 @@ ApiPrefix = 'PIBackApi'; isDecryptContact = '0'; 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; sobjecttypeForFrontEnd = sobjectTypeValue; + Map<string,string> mso = ApexPages.currentPage().getParameters(); + if(mso != null && mso.containsKey('newclone')){ + isCloneMode = true; + } //鑾峰彇鎵�鏈夊瓧娈� List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Lead').getDescribe().fields.getMap().keyset()); // Add fields to controller. This is to avoid the SOQL error in visualforce page @@ -82,7 +88,7 @@ contactsInfo = JSON.serialize(sfIdToAWSIdMap); }else{ //鐪嬮摼鎺ヤ腑鏈夋棤甯﹁繃鏉ョ殑鍙傛暟(瀹㈡埛浜哄憳) - Map<string,string> mso = ApexPages.currentPage().getParameters(); + // Map<string,string> mso = ApexPages.currentPage().getParameters(); for(String key : mso.keySet()){ System.debug('key=' + key + ',value=' + mso.get(key)); } @@ -195,19 +201,30 @@ String status = 'success'; Response resp = new Response(); Savepoint sp = Database.setSavepoint(); + Boolean isClone = false; String rid = ''; + String awsDataId = ''; try{ System.debug('abcde'); - if(isNew){ + awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); + System.debug('awsDataId = ' + awsDataId); + Lead[] leads = [select id from Lead where AWS_Data_Id__c =:awsDataId]; + + if(!isNew){ + isClone = leads.size() == 0; + } + System.debug('isClone---------'+isClone); + + if(isNew || isClone){ System.debug('leadInfozhj = ' + leadInfo); if(!Test.isRunningTest()){ insert leadInfo; } }else{ System.debug('into update'); - String awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); - System.debug('awsDataId = ' + awsDataId); - Lead[] leads = [select id from Lead where AWS_Data_Id__c =:awsDataId]; + // String awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); + // System.debug('awsDataId = ' + awsDataId); + // Lead[] leads = [select id from Lead where AWS_Data_Id__c =:awsDataId]; System.debug('leads[0].id = ' + leads[0].id); leadInfo.put('Id',leads[0].id);//For testing; if(!Test.isRunningTest()){ @@ -222,6 +239,25 @@ System.debug('resp from sfdx back-end' + resp); return resp; + } catch(DmlException e) { + Integer index = 0; + System.debug(e.getNumDml()); + System.debug(e.getDmlFields(index)); + System.debug(e.getDmlId(index)); + System.debug(e.getDmlIndex(index)); + System.debug(e.getDmlMessage(index)); + System.debug(e.getDmlStatusCode(index)); + System.debug(e.getDmlType(index)); + system.debug(e.getMessage()); + system.debug(e.getStackTraceString()); + + System.debug('into catch'+e.getMessage()); + Database.rollback(sp); + resp.status = 'Exception'; + resp.message ='淇濆瓨澶辫触锛屽師鍥�:'+ e.getDmlMessage(index); + PIHelper.saveTransLog(sobjectTypeValue,(String)leadInfo.get('AWS_Data_Id__c'),rid,transId, leadJson ,status,e.getMessage()+e.getStackTraceString()); + return resp; + } catch(Exception e) { System.debug('into catch'+e.getMessage()); Database.rollback(sp); diff --git a/force-app/main/default/classes/NewAndEditReportController.cls b/force-app/main/default/classes/NewAndEditReportController.cls index de62a49..eec19b4 100644 --- a/force-app/main/default/classes/NewAndEditReportController.cls +++ b/force-app/main/default/classes/NewAndEditReportController.cls @@ -3,6 +3,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'Report__c'; 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 @@ -42,6 +43,7 @@ AWSToSobjectEncryptedMap = new Map<string,string>(); sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='Report' limit 1].CustomObjectId; isNewMode = true; + isCloneMode = false; Input_Required_Field_Msg = Label.Input_Required_Field_Msg; PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; sobjecttypeForFrontEnd = sobjectTypeValue; @@ -50,6 +52,10 @@ // Add fields to controller. This is to avoid the SOQL error in visualforce page if (!Test.isRunningTest()) { controller.addFields(fieldList); + } + Map<string,string> mso = ApexPages.currentPage().getParameters(); + if(mso != null && mso.containsKey('newclone')){ + isCloneMode = true; } SObject obj = controller.getRecord(); if(obj.Id != null){ @@ -151,7 +157,7 @@ obj.put('OwnerId',UserInfo.getUserId()); }else{ //鏂板缓 - Map<string,string> mso = ApexPages.currentPage().getParameters(); + // Map<string,string> mso = ApexPages.currentPage().getParameters(); //鍖婚櫌/绉戝/缁忛攢鍟�(鎵嬪啓) if(mso.containsKey('00N10000002GE3Z')){ controller.getRecord().put('Manual_Name__c',mso.get('00N10000002GE3Z')); @@ -210,41 +216,49 @@ Savepoint sp = Database.setSavepoint(); String rid = ''; //鑷畾涔夋牸寮忚浆鎹� + Boolean isClone = false; try{ - for (String fieldAPI: fieldValueMap.keySet()) { - if(!fieldAPIToTypeMap.containskey(fieldAPI)){ - continue; + for (String fieldAPI: fieldValueMap.keySet()) { + if(!fieldAPIToTypeMap.containskey(fieldAPI)){ + continue; + } + Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType(); + String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); + if(String.valueOf(fielddataType)=='DATE'){ + System.debug('DATE fieldAPI = '+fieldAPI+' filedData = '+String.valueOf(fieldValueMap.get(fieldAPI))); + //reportInfo.put(fieldAPI, Date.valueOf(String.valueOf(fieldValueMap.get(fieldAPI)).replace('/', '-'))); + reportInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); + }else if(String.valueOf(fielddataType)=='DATETIME'){ + System.debug('fieldValueMap:' + fieldValueMap); + String dt = String.valueOf(fieldValueMap.get(fieldAPI)); + System.debug('fieldValueMap.get(fieldAPI)' + fieldValueMap.get(fieldAPI)); + System.debug('dt:'+dt); + if(String.isNotBlank(dt)&&dt.contains('T')){ + dt = dt.replace('T',' '); + reportInfo.put(fieldAPI, Datetime.valueOfGmt(dt)); + }else if(String.isNotBlank(dt)) { + reportInfo.put(fieldAPI, Datetime.valueOf(dt.replace('/', '-') + ':00')); + }else{ + reportInfo.put(fieldAPI, null); + } + }else if(String.valueof(fielddataType)=='CURRENCY'|| String.valueof(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ + //reportInfo.put(fieldAPI, Decimal.valueOf(String.valueOf(fieldValueMap.get(fieldAPI)))); + reportInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); + } else if(String.valueof(fielddataType)=='BOOLEAN'){ + reportInfo.put(fieldAPI, fieldValueMap.get(fieldAPI)); + }else { + reportInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI))); + } } - Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType(); - String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); - if(String.valueOf(fielddataType)=='DATE'){ - System.debug('DATE fieldAPI = '+fieldAPI+' filedData = '+String.valueOf(fieldValueMap.get(fieldAPI))); - //reportInfo.put(fieldAPI, Date.valueOf(String.valueOf(fieldValueMap.get(fieldAPI)).replace('/', '-'))); - reportInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); - }else if(String.valueOf(fielddataType)=='DATETIME'){ - System.debug('fieldValueMap:' + fieldValueMap); - String dt = String.valueOf(fieldValueMap.get(fieldAPI)); - System.debug('fieldValueMap.get(fieldAPI)' + fieldValueMap.get(fieldAPI)); - System.debug('dt:'+dt); - if(String.isNotBlank(dt)&&dt.contains('T')){ - dt = dt.replace('T',' '); - reportInfo.put(fieldAPI, Datetime.valueOfGmt(dt)); - }else if(String.isNotBlank(dt)) { - reportInfo.put(fieldAPI, Datetime.valueOf(dt.replace('/', '-') + ':00')); - }else{ - reportInfo.put(fieldAPI, null); - } - }else if(String.valueof(fielddataType)=='CURRENCY'|| String.valueof(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ - //reportInfo.put(fieldAPI, Decimal.valueOf(String.valueOf(fieldValueMap.get(fieldAPI)))); - reportInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); - } else if(String.valueof(fielddataType)=='BOOLEAN'){ - reportInfo.put(fieldAPI, fieldValueMap.get(fieldAPI)); - }else { - reportInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI))); - } - } - System.debug('鑷畾涔夋牸寮忚浆鎹㈢粨鏉�'); + System.debug('鑷畾涔夋牸寮忚浆鎹㈢粨鏉�'); + + String awsDataId = (String)reportInfo.get('AWS_Data_Id__c'); + System.debug('awsDataId = ' + awsDataId); + report__c[] reports = [select id from report__c where AWS_Data_Id__c =:awsDataId]; + if(!isNew){ + isClone = reports.size() == 0; + } if(isNew){ System.debug('reportInfo = ' + reportInfo); if(!Test.isRunningTest()){ @@ -255,9 +269,9 @@ } }else{ System.debug('into update'); - String awsDataId = (String)reportInfo.get('AWS_Data_Id__c'); - System.debug('awsDataId = ' + awsDataId); - report__c[] reports = [select id from report__c where AWS_Data_Id__c =:awsDataId]; + // String awsDataId = (String)reportInfo.get('AWS_Data_Id__c'); + // System.debug('awsDataId = ' + awsDataId); + // report__c[] reports = [select id from report__c where AWS_Data_Id__c =:awsDataId]; System.debug('reports[0].id = ' + reports[0].id); reportInfo.put('Id',reports[0].id);//For testing; if(!Test.isRunningTest()){ diff --git a/force-app/main/default/classes/NewConsumApplyController.cls b/force-app/main/default/classes/NewConsumApplyController.cls index fab3059..ad6b778 100644 --- a/force-app/main/default/classes/NewConsumApplyController.cls +++ b/force-app/main/default/classes/NewConsumApplyController.cls @@ -12,6 +12,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'Consum_Apply__c'; public Boolean isNewMode{set;get;} + public Boolean isCloneMode{protected set;get;} public String rtTypeId {get; set;} public String AWSDataId{set;get;} public List<String> encryptedAPIList{set;get;} @@ -30,10 +31,15 @@ public NewConsumApplyController(ApexPages.StandardController controller) { ApiPrefix = 'PIBackApi'; isNewMode = true; + isCloneMode = false; Input_Required_Field_Msg = Label.Input_Required_Field_Msg; PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; //鑾峰彇鎵�鏈夊瓧娈� List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Consum_Apply__c').getDescribe().fields.getMap().keyset()); + Map<string,string> mso = ApexPages.currentPage().getParameters(); + if(mso != null && mso.containsKey('newclone')){ + isCloneMode = true; + } if (!Test.isRunningTest()) { controller.addFields(fieldList); } @@ -55,7 +61,7 @@ //鏂板缓 rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); obj.put('OwnerId',UserInfo.getUserId()); - Map<string,string> mso = ApexPages.currentPage().getParameters(); + // Map<string,string> mso = ApexPages.currentPage().getParameters(); system.debug('mso='+mso); if(mso.containsKey('00N10000008rdgs')){ controller.getRecord().put('demo_purpose2__c',mso.get('00N10000008rdgs')); @@ -133,17 +139,26 @@ Response resp = new Response(); Savepoint sp = Database.setSavepoint(); String rid = ''; + Boolean isClone = false; + String awsDataId = ''; + try{ System.debug('abcde'); - if(isNew){ + awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); + System.debug('awsDataId = ' + awsDataId); + Consum_Apply__c[] ConsumApplys = [select id from Consum_Apply__c where AWS_Data_Id__c =:awsDataId]; + if(!isNew){ + isClone = ConsumApplys.size() == 0; + } + if(isNew || isClone){ System.debug('consumApplyInfozhj = ' + consumApplyInfo); insert consumApplyInfo; System.debug('consumApplyInfo.Id' + consumApplyInfo.Id); }else{ System.debug('into update'); - String awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); - System.debug('awsDataId = ' + awsDataId); - Consum_Apply__c[] ConsumApplys = [select id from Consum_Apply__c where AWS_Data_Id__c =:awsDataId]; + // String awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); + // System.debug('awsDataId = ' + awsDataId); + // Consum_Apply__c[] ConsumApplys = [select id from Consum_Apply__c where AWS_Data_Id__c =:awsDataId]; System.debug('ConsumApplys[0].id = ' + ConsumApplys[0].id); consumApplyInfo.put('Id',ConsumApplys[0].id);//For testing; update consumApplyInfo; diff --git a/force-app/main/default/classes/NewRepairController.cls b/force-app/main/default/classes/NewRepairController.cls index 1126822..b246859 100644 --- a/force-app/main/default/classes/NewRepairController.cls +++ b/force-app/main/default/classes/NewRepairController.cls @@ -26,6 +26,9 @@ public String sobjectPrefix{set;get;} public String sobjecttypeForFrontEnd{set;get;} public String sobjectId{set;get;} + public String workLocationSelect{set;get;} + public String RepairSubOrderAWSDataId{set;get;} + public String staticResourceRepairSubOrder{set;get;} public NewRepairController(ApexPages.StandardController controller) { sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='Repair' limit 1].CustomObjectId; isNewMode = true; @@ -52,14 +55,181 @@ //鏂板缓 Map<string,string> mso = ApexPages.currentPage().getParameters(); system.debug('mso='+mso); + //淇悊鍝佽繑閫佸湴 if(mso.containsKey('00N10000006P6SM')){ controller.getRecord().put('SalesOfficeCode_selection__c',mso.get('00N10000006P6SM')); } if(mso.containsKey('00N10000002FH86')){ - controller.getRecord().put('On_site_repair__c',mso.get('00N10000002FH86')); + //controller.getRecord().put('On_site_repair__c',mso.get('00N10000002FH86')); + //Repair_Source__c + controller.getRecord().put('Repair_Source__c',mso.get('00N10000002FH86')); } if(mso.containsKey('00N10000006P6Rn')){ controller.getRecord().put('work_location_select__c',mso.get('00N10000006P6Rn')); + workLocationSelect = mso.get('00N10000006P6Rn'); + System.debug('workLocationSelect = ' + workLocationSelect); + } + //闂鍐呭鎻忚堪00N10000002Dx6I + if(mso.containsKey('00N10000002Dx6I')){ + controller.getRecord().put('Repair_Detail__c',mso.get('00N10000002Dx6I')); + } + //闂鑱旂粶鏀跺埌鏃�00N10000008rsVQ + if(mso.containsKey('00N10000008rsVQ')){ + String o = mso.get('00N10000008rsVQ'); + controller.getRecord().put('DateReceiptQuestions__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + + //鏄惁鏈夋浜°�佷激瀹炽�佹劅鏌�00N10000008rsW7 + if(mso.containsKey('00N10000008rsW7')){ + controller.getRecord().put('ifDeadHurt__c',mso.get('00N10000008rsW7')); + } + //鏄惁鍜岃繖娆$殑浜у搧鏁呴殰鏈夊叧00N10000008rsVw + if(mso.containsKey('00N10000008rsVw')){ + controller.getRecord().put('ProductFailureRelated__c',mso.get('00N10000008rsVw')); + } + //鍖婚櫌鏈夋病鏈夊悜鏀垮簻鏈哄叧鎶ュ憡涓嶈壇浜嬩欢鎴栫枒浼间笉鑹簨浠�00N10000008rsW2 + if(mso.containsKey('00N10000008rsW2')){ + controller.getRecord().put('ReportAdverseEvents__c',mso.get('00N10000008rsW2')); + } + //鍋氱殑鏄摢涓」鐩�00N10000008rsW6 + if(mso.containsKey('00N10000008rsW6')){ + controller.getRecord().put('WhatProject__c',mso.get('00N10000008rsW6')); + } + //鎵嬫湳/妫�鏌ュ悕绉�00N10000008rsVk + if(mso.containsKey('00N10000008rsVk')){ + controller.getRecord().put('OperationOrExaminationName__c',mso.get('00N10000008rsVk')); + } + //鏄惁鏈夊彂鐢熸柇瑁傛垨鑴辫惤00N10000008rsVN + if(mso.containsKey('00N10000008rsVN')){ + controller.getRecord().put('BreakORFallOff__c',mso.get('00N10000008rsVN')); + } + //閰嶅浣跨敤浜у搧00N10000008rsW4 + if(mso.containsKey('00N10000008rsW4')){ + controller.getRecord().put('SupportingProducts__c',mso.get('00N10000008rsW4')); + } + //鍙戠幇鏁呴殰鍚庯紝鍖婚櫌瀵规偅鑰呯殑澶勭悊鎯呭喌00N10000008rsVL + if(mso.containsKey('00N10000008rsVL')){ + controller.getRecord().put('AfterFailureInformation__c',mso.get('00N10000008rsVL')); + } + //鍙戠幇鏁呴殰鐜拌薄鍚庯紝鏈夊欢璇�15鍒嗛挓浠ヤ笂鐨勬墜鏈疄鏂界殑鎯呭喌鍙戠敓鍚�00N10000008rsVR + if(mso.containsKey('00N10000008rsVR')){ + controller.getRecord().put('Delay15Min__c',mso.get('00N10000008rsVR')); + } + //淇℃伅鏄粠鍖婚櫌鐨勮皝閭i噷寰楀埌鐨�00N10000008rsVZ + if(mso.containsKey('00N10000008rsVZ')){ + controller.getRecord().put('InformationFrom__c',mso.get('00N10000008rsVZ')); + } + //鍦ㄥ尰闄紝鏁呴殰鍙戠敓鐨勯鐜囨槸澶氬皯00N10000008rsVT + if(mso.containsKey('00N10000008rsVT')){ + controller.getRecord().put('FailureQInHospital__c',mso.get('00N10000008rsVT')); + } + //闂鍙戠敓鏃堕棿鎯呭喌00N10000008rsVv + if(mso.containsKey('00N10000008rsVv')){ + controller.getRecord().put('ProblemOccurred__c',mso.get('00N10000008rsVv')); + } + //鏄惁鐢ㄨ浜у搧瀹屾垚浜嗘墜鏈�/妫�鏌�00N10000008rsW5 + if(mso.containsKey('00N10000008rsW5')){ + if(mso.get('00N10000008rsW5') != 'undefined'){ + controller.getRecord().put('UseFailProductFinish__c',mso.get('00N10000008rsW5')); + } + } + //鏁呴殰鍙戠敓鏃�00N10000002Dx5y + if(mso.containsKey('00N10000002Dx5y')){ + String o = mso.get('00N10000002Dx5y'); + controller.getRecord().put('Failure_Occurrence_Date__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); + } + //淇悊濮旀墭鑰�(FSE)CF00N10000002EMHw_lkid + if(mso.containsKey('CF00N10000002EMHw_lkid')){ + controller.getRecord().put('Incharge_Staff__c',mso.get('CF00N10000002EMHw_lkid')); + } + //鍘熶慨鐞嗗彈浠樼暘鍙�00N1m000005gt1l + if(mso.containsKey('00N1m000005gt1l')){ + controller.getRecord().put('Old_Name__c',mso.get('00N1m000005gt1l')); + } + //璁惧鍨嬪彿CF00N10000002Dx1X_lkid + if(mso.containsKey('CF00N10000002Dx1X_lkid')){ + controller.getRecord().put('Delivered_Product__c',mso.get('CF00N10000002Dx1X_lkid')); + } + //缁翠慨濮旀墭涔﹀彿鐮�00N10000006P1dw + if(mso.containsKey('00N10000006P1dw')){ + controller.getRecord().put('PaperRepairRequestNo__c',mso.get('00N10000006P1dw')); + } + + //閫氳繃id鏌� + Repair__c rc = null; + if (mso.containsKey('RepairId')) { + String RepairId = mso.get('RepairId'); + rc = [select Hospital__c,Department_Class__c,Account__c,Dealer__c,Incharge_Staff_Contact__c,Incharge_Staff__c from Repair__c where id =:RepairId ]; + //鍖婚櫌 + controller.getRecord().put('Hospital__c',rc.Hospital__c); + //鎴樼暐绉戝鍒嗙被 + controller.getRecord().put('Department_Class__c',rc.Department_Class__c); + //绉戝 + controller.getRecord().put('Account__c',rc.Account__c); + //缁忛攢鍟嗗悕 + controller.getRecord().put('Dealer__c',rc.Dealer__c); + //淇悊濮旀墭鑰咃紙鍛樺伐锛� + controller.getRecord().put('Incharge_Staff_Contact__c',rc.Incharge_Staff_Contact__c); + //淇悊濮旀墭鑰�(FSE) + controller.getRecord().put('Incharge_Staff__c',rc.Incharge_Staff__c); + } + + //甯傚満澶氬勾淇濅慨 鏈夊伩/鏃犲伩淇悊00N10000008rG4p + if(mso.containsKey('00N10000008rG4p')){ + controller.getRecord().put('RepairCostType__c',mso.get('00N10000008rG4p')); + } + //鏈嶅姟鏂瑰紡00N10000002F6dW + if(mso.containsKey('00N10000002F6dW')){ + controller.getRecord().put('On_site_repair__c',mso.get('00N10000002F6dW')); + } + //杩斿搧鏂瑰紡00N1m000004QmcJ + if(mso.containsKey('00N1m000004QmcJ')){ + controller.getRecord().put('Returns_Product_way__c',mso.get('00N1m000004QmcJ')); + } + //闂鍐呭鎻忚堪锛堝浘鐗囷級00N10000008rsVuEAI + 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')); + } + //鎶ヤ慨浜哄尰闄�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')); + } + //閫佷慨鐗╂祦鏈�鏂扮姸鎬�00N1m0000054ufk + if(mso.containsKey('00N1m0000054ufk')){ + controller.getRecord().put('LogisticsLatestStatus__c',mso.get('00N1m0000054ufk')); + } + //閫佷慨鐗╂祦鍗曞彿00N1m0000054ufF + if(mso.containsKey('00N1m0000054ufF')){ + controller.getRecord().put('DeliveryLogisticsNo__c',mso.get('00N1m0000054ufF')); + } + //閫佷慨鐗╂祦淇℃伅澶囨敞00N1m0000054ufD + if(mso.containsKey('00N1m0000054ufD')){ + controller.getRecord().put('DeliveryLogisticsAnnotation__c',mso.get('00N1m0000054ufD')); + } + //瓒呮椂鎶ュ憡鐨勭悊鐢�00N10000008rsVS + 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)){ @@ -77,9 +247,11 @@ PIHelper.PIIntegration piIntegration = PIHelper.getPIIntegrationInfo('Repair__c'); PIHelper.PIIntegration piIntegrationAddress = PIHelper.getPIIntegrationInfo('Address__c'); PIHelper.PIIntegration piIntegrationContact = PIHelper.getPIIntegrationInfo('Contact'); + PIHelper.PIIntegration piIntegrationRepairSubOrder = PIHelper.getPIIntegrationInfo('RepairSubOrder__c'); staticResource = JSON.serialize(piIntegration); staticResourceAddress = JSON.serialize(piIntegrationAddress); staticResourceContact = JSON.serialize(piIntegrationContact); + staticResourceRepairSubOrder = JSON.serialize(piIntegrationRepairSubOrder); encryptedAPIList = piIntegration.PIFields; sobjectPrefix = piIntegration.sobjectPrefix; } @@ -89,6 +261,17 @@ public String message{set;get;} public String status{set;get;} } + + @RemoteAction + global static Response EncryptUpdate(string rid){ + + boolean b = AWSServiceTool2.EncryptPushData(new string[]{rid}); + Response r = new Response(); + r.status = b ? 'success' : 'failed'; + r.message = b ? '' : '鍔犲瘑鎺ㄩ�佸け璐�'; + r.recordId = rid; + return r; + } @RemoteAction global static Response saveRepair(String repairJson,String transId,Boolean isNew) { diff --git a/force-app/main/default/classes/NewRepairControllerTest.cls b/force-app/main/default/classes/NewRepairControllerTest.cls index 5efe64a..b24e100 100644 --- a/force-app/main/default/classes/NewRepairControllerTest.cls +++ b/force-app/main/default/classes/NewRepairControllerTest.cls @@ -37,10 +37,44 @@ url = ApexPages.currentPage().getParameters().put('00N10000002FH86','RC淇悊'); url = ApexPages.currentPage().getParameters().put('00N10000006P6Rn','鍖椾含鍔炰簨澶�'); url = ApexPages.currentPage().getParameters().put('RecordType',recordTypeId); - + + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx66_lkid','0011000000V9TM6'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx66','%E5%89%91%E9%98%81%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5t_lkid','0011000000VAFmh'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5t','%E5%89%91%E9%98%81%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2+ET'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5n_lkid','0011000000VAFmh'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5n','%E5%89%91%E9%98%81%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2+ET'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx1X_lkid','02i10000004FhGu'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx1X','MH-443%3A%E5%90%B8%E5%BC%95%E6%8C%89%E9%92%AE'); + url = ApexPages.currentPage().getParameters().put('00N10000002FH86','%e5%8f%aa%e4%bf%ae%e7%90%86'); + url = ApexPages.currentPage().getParameters().put('00N10000006P6Rn','%E5%8C%97%E4%BA%AC%E5%8A%9E%E4%BA%8B%E5%A4%84'); + + url = ApexPages.currentPage().getParameters().put('CF00N10000002FIJZ_lkid','a0f1000000cS7qH'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002FIJZ','OCSM-%E8%A5%BF%E5%8C%97-153PA-07878'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx66_lkid','0011000000V9SnP'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx66','%E6%B7%AE%E6%BB%A8%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5t_lkid','0011000000V9ZEI'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5t','%E6%B7%AE%E6%BB%A8%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2+%E6%B6%88%E5%8C%96%E7%A7%91'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5n_lkid','0011000000VALNX'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5n','%E6%B7%AE%E6%BB%A8%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2+%E6%B6%88%E5%8C%96%E7%A7%91+%E8%83%83%E9%95%9C%E5%AE%A4'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx1X_lkid','02i10000004ExNO'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx1X','GIF-H170%3A%E7%94%B5%E5%AD%90%E4%B8%8A%E6%B6%88%E5%8C%96%E9%81%93%E5%86%85%E7%AA%A5%E9%95%9C'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002EMHw_lkid','00510000005sFUG'); + url = ApexPages.currentPage().getParameters().put('CF00N10000002EMHw','%E5%90%95%20%E5%85%A8%E5%A5%BD'); + url = ApexPages.currentPage().getParameters().put('00N10000002Dx5y','2020/08/05'); + url = ApexPages.currentPage().getParameters().put('00N10000006P6SM','%E9%83%91%E5%B7%9E'); + url = ApexPages.currentPage().getParameters().put('00N10000002FH86','%E4%BB%8EQIS'); + url = ApexPages.currentPage().getParameters().put('00N10000006P6Rn','%E5%8C%97%E4%BA%AC%E5%8A%9E%E4%BA%8B%E5%A4%84'); + + Repair__c repTest = TestDataUtility.CreateRepairs(1)[0]; + url = ApexPages.currentPage().getParameters().put('RepairId',repTest.Id); Test.startTest(); ApexPages.StandardController con = new ApexPages.StandardController(new Repair__c()); NewRepairController repDetail = new NewRepairController(con); Test.stopTest(); } + static testMethod void testMethod3(){ + TestDataUtility.CreatePIPolicyConfiguration('Repair__c'); + NewRepairController.EncryptUpdate('a0J1m000001QqXk'); + } } \ No newline at end of file diff --git a/force-app/main/default/classes/OnCallController.cls b/force-app/main/default/classes/OnCallController.cls index 23a15ff..910fdad 100644 --- a/force-app/main/default/classes/OnCallController.cls +++ b/force-app/main/default/classes/OnCallController.cls @@ -1,10 +1,3 @@ -/** - * @description : - * @author : ChangeMeIn@UserSettingsUnder.SFDoc - * @group : - * @last modified on : 03-28-2022 - * @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc -**/ global without sharing class OnCallController { public String layoutSectionsStr {get; set;}//for dynamic add readonly attribute public List <LayoutDescriberHelper.LayoutSection > layoutSections{set;get;} @@ -12,6 +5,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'On_Call__c'; public Boolean isNewMode{set;get;} + public Boolean isCloneMode{protected set;get;} public String rtTypeId {get; set;} public String AWSDataId{set;get;} public List<String> encryptedAPIList{set;get;} @@ -28,6 +22,7 @@ public OnCallController(ApexPages.StandardController controller) { // sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='OnCall' limit 1].CustomObjectId; 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; @@ -37,7 +32,13 @@ // Add fields to controller. This is to avoid the SOQL error in visualforce page if(!Test.isRunningTest()){ controller.addFields(fieldList); + } + Map<string,string> mso = ApexPages.currentPage().getParameters(); + System.debug('mso:' + mso); + if(mso != null && mso.containsKey('newclone')){ + isCloneMode = true; } + System.debug('isClone:' + isCloneMode); SObject obj = controller.getRecord(); if(obj.Id != null){ //鏇存柊 @@ -78,33 +79,31 @@ On_Call__c onCallInfo = new On_Call__c(); //鑷畾涔夋牸寮忚浆鎹� for (String fieldAPI: fieldValueMap.keySet()) { - system.debug('field API'+fieldAPI); - if(!fieldAPIToTypeMap.containskey(fieldAPI)){ - continue; - } + system.debug('field API='+fieldAPI); Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType(); String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); + system.debug('Field Type:'+fielddataType+' field Value='+fieldValue); if(String.valueOf(fielddataType)=='DATE'){ - onCallInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); + onCallInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); }else if(String.valueOf(fielddataType)=='DATETIME'){ if(String.isNotBlank(fieldValue)&&fieldValue.contains('T')){ fieldValue = fieldValue.replace('T',' '); onCallInfo.put(fieldAPI, Datetime.valueOfGmt(fieldValue)); + //20220405 By ChenYanan Start }else if(String.isNotBlank(fieldValue)) { fieldValue = fieldValue.replace('/', '-') + ':00'; - System.debug('fieldValue = ' + fieldValue); onCallInfo.put(fieldAPI, Datetime.valueOf(fieldValue)); + //20220405 By ChenYanan End }else{ onCallInfo.put(fieldAPI, null); - } - - }else if(String.valueOf(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='CURRENCY'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ - onCallInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); + } + }else if(String.valueof(fielddataType)=='CURRENCY'|| String.valueof(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ + onCallInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?0:Decimal.valueOf(fieldValue)); } else if(String.valueof(fielddataType)=='BOOLEAN'){ onCallInfo.put(fieldAPI, fieldValueMap.get(fieldAPI)); }else { - onCallInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI))); - } + onCallInfo.put(fieldAPI,fieldValue); + } } //2. Save Record Process @@ -112,16 +111,27 @@ Response resp = new Response(); Savepoint sp = Database.setSavepoint(); String rid = ''; + Boolean isClone = false; + String awsDataId = ''; try{ - System.debug('abcde'); - if(isNew){ + System.debug('abcde'+isNew); + awsDataId = (String)onCallInfo.get('AWS_Data_Id__c'); + if (string.isBlank(awsDataId)) { + throw new DMLException('鏇存柊鏃禔WS_Data_Id__c涓嶈兘涓虹┖'); + } + System.debug('awsDataId = ' + awsDataId); + On_Call__c[] onCalls = Database.query('select id from On_Call__c where AWS_Data_Id__c =:awsDataId'); + if(!isNew){ + isClone = onCalls.size() == 0; + } + if(isNew || isClone){ System.debug('onCallInfozhj = ' + onCallInfo); insert onCallInfo; }else{ System.debug('into update'); - String awsDataId = (String)onCallInfo.get('AWS_Data_Id__c'); - System.debug('awsDataId = ' + awsDataId); - On_Call__c[] onCalls = [select id from On_Call__c where AWS_Data_Id__c =:awsDataId]; + // String awsDataId = (String)onCallInfo.get('AWS_Data_Id__c'); + // System.debug('awsDataId = ' + awsDataId); + // On_Call__c[] onCalls = [select id from On_Call__c where AWS_Data_Id__c =:awsDataId]; System.debug('onCalls[0].id = ' + onCalls[0].id); onCallInfo.put('Id',onCalls[0].id);//For testing; update onCallInfo; diff --git a/force-app/main/default/classes/RentalApplyController.cls b/force-app/main/default/classes/RentalApplyController.cls index 24037c2..fac0fb0 100644 --- a/force-app/main/default/classes/RentalApplyController.cls +++ b/force-app/main/default/classes/RentalApplyController.cls @@ -1,10 +1,3 @@ -/** - * @description : - * @author : ChangeMeIn@UserSettingsUnder.SFDoc - * @group : - * @last modified on : 03-28-2022 - * @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc -**/ global without sharing class RentalApplyController { public String layoutSectionsStr {get; set;}//for dynamic add readonly attribute public List <LayoutDescriberHelper.LayoutSection > layoutSections{set;get;} @@ -12,6 +5,7 @@ public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); public static String sobjectTypeValue = 'Rental_Apply__c'; public Boolean isNewMode{set;get;} + public Boolean isCloneMode{protected set;get;} public String rtTypeId {get; set;} public String AWSDataId{set;get;} public List<String> encryptedAPIList{set;get;} @@ -30,10 +24,15 @@ public RentalApplyController(ApexPages.StandardController controller) { ApiPrefix = 'PIBackApi'; isNewMode = true; + isCloneMode = false; Input_Required_Field_Msg = Label.Input_Required_Field_Msg; PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; //鑾峰彇鎵�鏈夊瓧娈� List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Rental_Apply__c').getDescribe().fields.getMap().keyset()); + Map<string,string> mso = ApexPages.currentPage().getParameters(); + if(mso != null && mso.containsKey('newclone')){ + isCloneMode = true; + } if(!Test.isRunningTest()){ controller.addFields(fieldList); } @@ -51,7 +50,7 @@ contactsInfo = JSON.serialize(sfIdToAWSIdMap); }else{ //鏂板缓 - Map<string,string> mso = ApexPages.currentPage().getParameters(); + // Map<string,string> mso = ApexPages.currentPage().getParameters(); system.debug('mso='+mso); if(mso.containsKey('Name')){ controller.getRecord().put('Name',mso.get('Name')); @@ -151,17 +150,26 @@ Response resp = new Response(); Savepoint sp = Database.setSavepoint(); String rid = ''; + Boolean isClone = false; + String awsDataId = ''; try{ System.debug('abcde'); - if(isNew){ + awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); + System.debug('awsDataId = ' + awsDataId); + Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; + if(!isNew){ + isClone = RentalApplys.size() == 0; + } + + if(isNew || isClone){ System.debug('rentalApplyInfozhj = ' + rentalApplyInfo); insert rentalApplyInfo; System.debug('rentalApplyInfo.Id' + rentalApplyInfo.Id); }else{ System.debug('into update'); - String awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); - System.debug('awsDataId = ' + awsDataId); - Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; + // String awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); + // System.debug('awsDataId = ' + awsDataId); + // Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; System.debug('RentalApplys[0].id = ' + RentalApplys[0].id); rentalApplyInfo.put('Id',RentalApplys[0].id);//For testing; update rentalApplyInfo; diff --git a/force-app/main/default/pages/NewAndEditASEActivity.page b/force-app/main/default/pages/NewAndEditASEActivity.page index 6d10370..ec21f0b 100644 --- a/force-app/main/default/pages/NewAndEditASEActivity.page +++ b/force-app/main/default/pages/NewAndEditASEActivity.page @@ -1,10 +1,3 @@ -<!-- - @description : - @author : ChangeMeIn@UserSettingsUnder.SFDoc - @group : - @last modified on : 03-23-2022 - @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc ---> <apex:page standardController="ASEActivity__c" extensions="NewAndEditASEActivityController" id="page"> <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> @@ -70,7 +63,7 @@ //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}'; @@ -145,7 +138,7 @@ function ProcessPI(sobjJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) @@ -474,10 +467,10 @@ <div class="ptBody"> <div class="content"> <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> - <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> + <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> + <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> <div class="blank"> </div> </div> <div class="links"> diff --git a/force-app/main/default/pages/NewAndEditAddress.page b/force-app/main/default/pages/NewAndEditAddress.page index a767a50..ea98368 100644 --- a/force-app/main/default/pages/NewAndEditAddress.page +++ b/force-app/main/default/pages/NewAndEditAddress.page @@ -1,10 +1,3 @@ -<!-- - @description : - @author : ChangeMeIn@UserSettingsUnder.SFDoc - @group : - @last modified on : 03-23-2022 - @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc ---> <apex:page standardController="Address__c" extensions="NewAndEditAddressController" id="page"> <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> @@ -30,7 +23,7 @@ var VLookUpFields = new Set(['Contacts__c', 'Province__c', 'City__c', 'Customer__c']); function ProcessPI(addressJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(addressJson, payloadForNewPI) }else { UpdatePIToAWS(addressJson, payloadForNewPI) @@ -172,7 +165,7 @@ payloadJson.Detailed_Address_Encrypted__c = r.object[0].detailedAddressEncrypt; //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}'; diff --git a/force-app/main/default/pages/NewAndEditAgencyContact.page b/force-app/main/default/pages/NewAndEditAgencyContact.page index aa864c3..5230dab 100644 --- a/force-app/main/default/pages/NewAndEditAgencyContact.page +++ b/force-app/main/default/pages/NewAndEditAgencyContact.page @@ -61,7 +61,7 @@ //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}'; @@ -128,7 +128,7 @@ var VLookUpFields = {! VLookUpFieldsJson}; function ProcessPI(sobjJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) @@ -431,10 +431,10 @@ <div class="ptBody"> <div class="content"> <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> - <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> + <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> + <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> <div class="blank"> </div> </div> <div class="links"> @@ -456,7 +456,7 @@ <tr> <td class="pbTitle"> <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> - <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> + <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> </td> <td class="pbButton" id="topButtonRow"> <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> diff --git a/force-app/main/default/pages/NewAndEditContact.page b/force-app/main/default/pages/NewAndEditContact.page index 3b78be9..29881e7 100644 --- a/force-app/main/default/pages/NewAndEditContact.page +++ b/force-app/main/default/pages/NewAndEditContact.page @@ -61,7 +61,7 @@ //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}'; @@ -134,7 +134,7 @@ var VLookUpFields = {! VLookUpFieldsJson}; function ProcessPI(sobjJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) @@ -388,10 +388,10 @@ <div class="ptBody"> <div class="content"> <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> - <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> + <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> + <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> <div class="blank"> </div> </div> <div class="links"> @@ -413,7 +413,7 @@ <tr> <td class="pbTitle"> <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> - <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> + <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> </td> <td class="pbButton" id="topButtonRow"> <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> @@ -487,37 +487,6 @@ } } jQuery('a[data-id="OwnerId"]').remove(); - - /* - jQuery(".lookupInput").each(function(i,e){ - let je =jQuery(e).find('input'); - je.attr("readonly",""); - je.css("background","unset"); - - let dataid = je.attr('data-id'); - if(['Hospital_Name__c','Department_Class__c','OwnerId'].indexOf(dataid) > -1) return; - jQuery(e).children(":last-child").before('<img class="closeIcon" data-id="'+dataid+'" generate="" alt="Clear" src="/s.gif" style="display: inline-block;">'); - }) - - jQuery(".lookupInput").on("mouseenter","img[generate]",function(e){ - this.className = "closeIconOn"; - }); - - jQuery(".lookupInput").on("mouseleave","img[generate]",function(e){ - this.className = "closeIcon" - }); - - jQuery(".lookupInput").on("click","img[generate]",function(e){ - let id = jQuery("input[data-id='"+jQuery(this).attr("data-id")+ "']").attr("id"); - let input = document.getElementById(id); - if(input){ - input.value = ''; - let hidden = document.getElementById(id+'_lkid'); - if(hidden){ - hidden.value = ''; - } - } - });*/ var layoutSections = JSON.parse('{!layoutSectionsStr}'); for (let m = 0; m < layoutSections.length; m++) { diff --git a/force-app/main/default/pages/NewAndEditInquiryForm.page b/force-app/main/default/pages/NewAndEditInquiryForm.page index 056f814..b3e7658 100644 --- a/force-app/main/default/pages/NewAndEditInquiryForm.page +++ b/force-app/main/default/pages/NewAndEditInquiryForm.page @@ -63,7 +63,7 @@ //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}'; @@ -128,7 +128,7 @@ var VLookUpFields = {! VLookUpFieldsJson}; function ProcessPI(sobjJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) @@ -521,10 +521,10 @@ <div class="ptBody"> <div class="content"> <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> - <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> + <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> + <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> <div class="blank"> </div> </div> <div class="links"> @@ -547,7 +547,7 @@ <tr> <td class="pbTitle"> <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> - <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> + <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> </td> <td class="pbButton" id="topButtonRow"> <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> @@ -682,13 +682,6 @@ } }) }) - - // jQuery(".lookupInput").on("click","img.closeIconOn",function(){ - // if (jQuery(this).siblings("input").attr("data-id") == 'Hospital_Name__c'){ - // clearVlookup('Department_Class__c'); - // clearVlookup('Hospital__c'); - // } - // }); jQuery("body").on("change","input[data-id='Hospital_Name__c']",function(){ setTimeout(() => { diff --git a/force-app/main/default/pages/NewAndEditInspectionReport.page b/force-app/main/default/pages/NewAndEditInspectionReport.page index 39bdc71..226472d 100644 --- a/force-app/main/default/pages/NewAndEditInspectionReport.page +++ b/force-app/main/default/pages/NewAndEditInspectionReport.page @@ -57,7 +57,7 @@ //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}'; @@ -120,7 +120,7 @@ var VLookUpFields = {! VLookUpFieldsJson}; function ProcessPI(sobjJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) @@ -361,10 +361,10 @@ <div class="ptBody"> <div class="content"> <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> - <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> + <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> + <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> <div class="blank"> </div> </div> <div class="links"> diff --git a/force-app/main/default/pages/NewAndEditLead.page b/force-app/main/default/pages/NewAndEditLead.page index dc63186..b030efe 100644 --- a/force-app/main/default/pages/NewAndEditLead.page +++ b/force-app/main/default/pages/NewAndEditLead.page @@ -23,8 +23,7 @@ var VLookUpFields = new Set(['Hospital_Name__c', 'Department_Class__c', 'Contact_Name__c', 'Campaign__c', 'Lead_Inquiry_form__c', 'Opp_Name_Search__c']); function ProcessPI(leadJson, payloadForNewPI) { blockme(); - if ({!isNewMode - }) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(leadJson, payloadForNewPI) }else { UpdatePIToAWS(leadJson, payloadForNewPI) @@ -170,7 +169,7 @@ payloadJson.Email_Encrypted__c = r.object[0].emailEncrypt; //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}'; diff --git a/force-app/main/default/pages/NewAndEditQIS.page b/force-app/main/default/pages/NewAndEditQIS.page index b27fcc6..6ca0acf 100644 --- a/force-app/main/default/pages/NewAndEditQIS.page +++ b/force-app/main/default/pages/NewAndEditQIS.page @@ -62,7 +62,7 @@ //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}'; @@ -130,7 +130,7 @@ var VLookUpFields = {! VLookUpFieldsJson}; function ProcessPI(sobjJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) @@ -202,6 +202,15 @@ return error_msg; } + function getCKEinstance(api_name){ + let t = jQuery("label[for$='textAreaDelegate_"+api_name+"']").parent().next().find("textarea")[0]; + if(t && t.id){ + return CKEDITOR.instances[t.id] + + } + return null; + } + function getSobjectInformation() { //api_id_map //let nodelist = document.getElementsByClassName(config.ApiPrefix); @@ -255,109 +264,35 @@ // } } //璧嬪�煎瘜鏂囨湰鍖哄煙 - //闂鍐呭鎻忚堪锛堝浘鐗囷級-FSE-OCSM-OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:4:j_id51:j_id52:15:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.problem_detail_photo__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:4:j_id51:j_id52:15:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + if(getCKEinstance('problem_detail_photo__c')){ + result.problem_detail_photo__c = getCKEinstance('problem_detail_photo__c').getData() } - //闂鍐呭鎻忚堪锛堝浘鐗囷級-OSH鍥炵瓟瀹屾瘯-鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:5:j_id51:j_id52:15:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.problem_detail_photo__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:5:j_id51:j_id52:15:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + + if(getCKEinstance('Photo_1__c')){ + result.Photo_1__c = getCKEinstance('Photo_1__c').getData() + } - //鐓х墖1 - OCSM-鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:14:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_1__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:14:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + if(getCKEinstance('Photo_2__c')){ + result.Photo_2__c = getCKEinstance('Photo_2__c').getData() } - //鐓х墖2-OCSM-鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:14:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_2__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:14:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + if(getCKEinstance('Photo_3__c')){ + result.Photo_3__c = getCKEinstance('Photo_3__c').getData() } - //鐓х墖3 -OCSM-鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:14:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_3__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:14:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + if(getCKEinstance('Photo_4__c')){ + result.Photo_4__c = getCKEinstance('Photo_4__c').getData() } - //鐓х墖4 -OCSM-鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:14:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_4__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:14:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + + if(getCKEinstance('Photo_OSH_1__c')){ + result.Photo_OSH_1__c = getCKEinstance('Photo_OSH_1__c').getData() } - //鐓х墖OSH1 - OCSM - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:19:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_1__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:19:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + if(getCKEinstance('Photo_OSH_2__c')){ + result.Photo_OSH_2__c = getCKEinstance('Photo_OSH_2__c').getData() } - //鐓х墖OSH2-OCSM - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:19:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_2__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:19:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + if(getCKEinstance('Photo_OSH_3__c')){ + result.Photo_OSH_3__c = getCKEinstance('Photo_OSH_3__c').getData() } - //鐓х墖OSH3 -OCSM - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:19:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_3__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:19:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH4 -OCSM - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:19:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_4__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:19:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH1 - OSH鍥炵瓟瀹屾瘯 - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:18:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_1__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:18:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH2-OSH鍥炵瓟瀹屾瘯 - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:18:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_2__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:18:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH3 -OSH鍥炵瓟瀹屾瘯 - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:18:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_3__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:18:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH4 -OSH鍥炵瓟瀹屾瘯 - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:18:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_4__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:18:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖1 - OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:13:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_1__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:13:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖2-OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:13:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_2__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:13:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖3 -OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:13:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_3__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:13:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖4 -OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:13:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_4__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:13:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH1 - OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:16:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_1__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:16:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH2-OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:16:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_2__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:16:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH3 -OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:16:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_3__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:16:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH4 -OSH - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:16:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_4__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:16:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH1 -鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:17:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_1__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:17:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH2-鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:17:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_2__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:17:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH3 -鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:17:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_3__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:17:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖OSH4 -鐜板満缁撴-final - if(document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:17:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ - result.Photo_OSH_4__c = document.querySelector("[title = 'RTF 绶ㄨ集鍣�, page:form:block:j_id50:17:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + if(getCKEinstance('Photo_OSH_4__c')){ + result.Photo_OSH_4__c = getCKEinstance('Photo_OSH_4__c').getData() } return result; } @@ -478,10 +413,10 @@ <div class="ptBody"> <div class="content"> <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> - <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> + <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> + <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> <div class="blank"> </div> </div> <div class="links"> @@ -528,7 +463,7 @@ <!--Each section has layoutFields, let's iterate them as well--> <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!QIS_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" - required="{!layoutField.isRequired}" /> + required="{!layoutField.isRequired}" /> <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> </apex:pageblocksectionitem> </apex:repeat> diff --git a/force-app/main/default/pages/NewAndEditReport.page b/force-app/main/default/pages/NewAndEditReport.page index 6d07c91..16baa76 100644 --- a/force-app/main/default/pages/NewAndEditReport.page +++ b/force-app/main/default/pages/NewAndEditReport.page @@ -46,6 +46,15 @@ errorMsgNode.className = ''; } + function getCKEinstance(api_name){ + let t = jQuery("label[for$='textAreaDelegate_"+api_name+"']").parent().next().find("textarea")[0]; + if(t && t.id){ + return CKEDITOR.instances[t.id] + + } + return null; + } + //1銆傝幏鍙栨墍鏈夊瓧娈靛�� function getReportInformation() { let nodelist = document.querySelectorAll("[data-id]"); @@ -64,10 +73,35 @@ } 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; - targets = targets.replace(/\n/g, ";"); - console.log('targets = ' + targets); - result[nodelist[index].getAttribute("data-id")] = targets; + //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; + // targets = targets.replace(/\n/g, ";"); + // console.log('targets = ' + targets); + // result[nodelist[index].getAttribute("data-id")] = targets; + //Before Update By Li Jun 20220411 + + //After Update By Li Jun 20220411 Start + 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 Li Jun 20220411 End + + } else { result[nodelist[index].getAttribute("data-id")] = nodelist[index].value; } @@ -85,30 +119,48 @@ result.Purpose2__c = document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38').value; } //瀵屾枃鏈璧嬪�� + if(getCKEinstance('Customer_sigh_photo__c')){ + result.Customer_sigh_photo__c = getCKEinstance('Customer_sigh_photo__c').getData() + } + if(getCKEinstance('Photo1__c')){ + result.Photo1__c = getCKEinstance('Photo1__c').getData() + } + if(getCKEinstance('Photo2__c')){ + result.Photo2__c = getCKEinstance('Photo2__c').getData() + } + if(getCKEinstance('Photo3__c')){ + result.Photo3__c = getCKEinstance('Photo3__c').getData() + } + if(getCKEinstance('VOC_follow_up_result__c')){ + result.VOC_follow_up_result__c = getCKEinstance('VOC_follow_up_result__c').getData() + } + if(getCKEinstance('VOC_follow_up_result1__c')){ + result.VOC_follow_up_result1__c = getCKEinstance('VOC_follow_up_result1__c').getData() + } //鐢ㄦ埛绛惧瓧鐨勭収鐗� - if(document.querySelector("[aria-describedby = 'cke_34']")){ - result.Customer_sigh_photo__c = document.querySelector("[aria-describedby = 'cke_34']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖1 Photo1__c - if(document.querySelector("[aria-describedby = 'cke_42']")){ - result.Photo1__c = document.querySelector("[aria-describedby = 'cke_42']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖2 Photo2__c - if(document.querySelector("[aria-describedby = 'cke_75']")){ - result.Photo2__c = document.querySelector("[aria-describedby = 'cke_75']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //鐓х墖3 Photo3__c - if(document.querySelector("[aria-describedby = 'cke_108']")){ - result.Photo3__c = document.querySelector("[aria-describedby = 'cke_108']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //瀵瑰簲缁撴灉 VOC_follow_up_result__c cke_38 - if(document.querySelector("[aria-describedby = 'cke_38']")){ - result.VOC_follow_up_result__c = document.querySelector("[aria-describedby = 'cke_38']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } - //瀵瑰簲缁撴灉绗竴娆� VOC_follow_up_result1__c cke_71 - if(document.querySelector("[aria-describedby = 'cke_71']")){ - result.VOC_follow_up_result1__c = document.querySelector("[aria-describedby = 'cke_71']").contentWindow.document.getElementsByTagName('body')[0].innerHTML - } + // if(document.querySelector("[aria-describedby = 'cke_34']")){ + // result.Customer_sigh_photo__c = document.querySelector("[aria-describedby = 'cke_34']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + // } + // //鐓х墖1 Photo1__c + // if(document.querySelector("[aria-describedby = 'cke_42']")){ + // result.Photo1__c = document.querySelector("[aria-describedby = 'cke_42']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + // } + // //鐓х墖2 Photo2__c + // if(document.querySelector("[aria-describedby = 'cke_75']")){ + // result.Photo2__c = document.querySelector("[aria-describedby = 'cke_75']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + // } + // //鐓х墖3 Photo3__c + // if(document.querySelector("[aria-describedby = 'cke_108']")){ + // result.Photo3__c = document.querySelector("[aria-describedby = 'cke_108']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + // } + // //瀵瑰簲缁撴灉 VOC_follow_up_result__c cke_38 + // if(document.querySelector("[aria-describedby = 'cke_38']")){ + // result.VOC_follow_up_result__c = document.querySelector("[aria-describedby = 'cke_38']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + // } + // //瀵瑰簲缁撴灉绗竴娆� VOC_follow_up_result1__c cke_71 + // if(document.querySelector("[aria-describedby = 'cke_71']")){ + // result.VOC_follow_up_result1__c = document.querySelector("[aria-describedby = 'cke_71']").contentWindow.document.getElementsByTagName('body')[0].innerHTML + // } if(result.From__c){ result.From__c = result.From__c.replace(/\//g, '-')+':00'; } @@ -202,7 +254,7 @@ //5.鏂板缓鎴栫紪杈� function ProcessPI(reportJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(reportJson, payloadForNewPI) }else { UpdatePIToAWS(reportJson, payloadForNewPI) @@ -439,7 +491,7 @@ payloadJson.age_Encrypted__c = result.object[0].ageEncrypt; payloadJson.Medical_History_Encrypted__c = result.object[0].medicalHistoryEncrypt; payloadJson.sex_Encrypted__c = result.object[0].sexEncrypt; - if (isNewMode) { + if (isNewMode || {!isCloneMode}) { payloadJson.AWS_Data_Id__c = result.object[0].dataId; } else { payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; diff --git a/force-app/main/default/pages/NewAndEditTenderinformation.page b/force-app/main/default/pages/NewAndEditTenderinformation.page index 21fb942..a0d15b5 100644 --- a/force-app/main/default/pages/NewAndEditTenderinformation.page +++ b/force-app/main/default/pages/NewAndEditTenderinformation.page @@ -57,7 +57,7 @@ //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}'; @@ -120,7 +120,7 @@ var VLookUpFields = {! VLookUpFieldsJson}; function ProcessPI(sobjJson, payloadForNewPI) { blockme(); - if ({!isNewMode}) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) @@ -361,10 +361,10 @@ <div class="ptBody"> <div class="content"> <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> - <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> + <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> <span class="titleSeparatingColon">:</span> </h1> - <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> + <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> <div class="blank"> </div> </div> <div class="links"> @@ -386,7 +386,7 @@ <tr> <td class="pbTitle"> <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> - <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> + <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> </td> <td class="pbButton" id="topButtonRow"> <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> diff --git a/force-app/main/default/pages/NewConsumApply.page b/force-app/main/default/pages/NewConsumApply.page index 7af6237..588c175 100644 --- a/force-app/main/default/pages/NewConsumApply.page +++ b/force-app/main/default/pages/NewConsumApply.page @@ -60,7 +60,7 @@ payloadJson.Phone_Number_Encrypt__c = r.object[0].phoneNumberEncrypt; payloadJson.Direct_Shippment_Address_Encrypt__c = r.object[0].directShippmentAddressEncrypt; 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}'; @@ -71,8 +71,7 @@ // New Or Edit function ProcessPI(consumApplyJson, payloadForNewPI) { blockme(); - if ({!isNewMode - }) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(consumApplyJson, payloadForNewPI) }else { UpdatePIToAWS(consumApplyJson, payloadForNewPI) diff --git a/force-app/main/default/pages/NewOnCall.page b/force-app/main/default/pages/NewOnCall.page index 5d53a7f..c64cdb1 100644 --- a/force-app/main/default/pages/NewOnCall.page +++ b/force-app/main/default/pages/NewOnCall.page @@ -1,10 +1,3 @@ -<!-- - @description : - @author : ChangeMeIn@UserSettingsUnder.SFDoc - @group : - @last modified on : 03-24-2022 - @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc ---> <apex:page standardController="On_Call__c" extensions="OnCallController" id="page"> <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> @@ -61,7 +54,7 @@ payloadJson.Caller_Phone_Encrypt__c = r.object[0].callerPhoneEncrypt; payloadJson.Responsible_PersonHP_Encrypt__c = r.object[0].responsiblePersonHPEncrypt; 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}'; @@ -73,8 +66,7 @@ // New Or Edit function ProcessPI(onCallJson, payloadForNewPI) { blockme(); - if ({!isNewMode - }) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(onCallJson, payloadForNewPI) }else { UpdatePIToAWS(onCallJson, payloadForNewPI) diff --git a/force-app/main/default/pages/NewRentalApply.page b/force-app/main/default/pages/NewRentalApply.page index 53168ff..10321bc 100644 --- a/force-app/main/default/pages/NewRentalApply.page +++ b/force-app/main/default/pages/NewRentalApply.page @@ -1,10 +1,3 @@ -<!-- - @description : - @author : Dennis - @group : - @last modified on : 04-01-2022 - @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc ---> <apex:page standardController="Rental_Apply__c" extensions="RentalApplyController" id="page"> <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> @@ -63,7 +56,7 @@ payloadJson.Phone_Number_Encrypt__c = r.object[0].phoneNumberEncrypt; payloadJson.Direct_Shippment_Address_Encrypt__c = r.object[0].directShippmentAddressEncrypt; 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}'; @@ -75,8 +68,7 @@ // New Or Edit function ProcessPI(rentalApplyJson, payloadForNewPI) { blockme(); - if ({!isNewMode - }) { + if ({!isNewMode} || {!isCloneMode}) { NewPIToAWS(rentalApplyJson, payloadForNewPI) }else { UpdatePIToAWS(rentalApplyJson, payloadForNewPI) diff --git a/force-app/main/default/pages/NewRepair.page b/force-app/main/default/pages/NewRepair.page index 3cafc75..4db1fd5 100644 --- a/force-app/main/default/pages/NewRepair.page +++ b/force-app/main/default/pages/NewRepair.page @@ -30,14 +30,26 @@ //Redirect Required Parameter var redirectCallBack = function redirectCallBack(sfId, errorMessage) { - if (sfId) { - if (redirectMode == 'Save') { - window.open('/' + sfId, '_self'); - } else if (redirectMode == 'SaveAndNew') { - window.open('/setup/ui/recordtypeselect.jsp?ent=' + '{!sobjectId}' + '&retURL=/' + '{!sobjectPrefix}' + '/o&save_new_url=/' + '{!sobjectPrefix}' + '/e?retURL=%2F' + '{!sobjectPrefix}' + '%2Fo', '_self'); - } - } else { - // alert(errorMessage); + if(sfId){ + Visualforce.remoting.Manager.invokeAction( + 'NewRepairController.EncryptUpdate', // example + sfId, + function (result, event) { + console.log(result); + if(result.message){ + alert(result.message); + } + if (redirectMode == 'Save') { + window.open('/' + sfId, '_self'); + } else if (redirectMode == 'SaveAndNew') { + window.open('/setup/ui/recordtypeselect.jsp?ent=' + '{!sobjectId}' + '&retURL=/' + '{!sobjectPrefix}' + '/o&save_new_url=/' + '{!sobjectPrefix}' + '/e?retURL=%2F' + '{!sobjectPrefix}' + '%2Fo', '_self'); + } + + }, + { escape: true } + ); + + }else{ alertErrorMessage(errorMessage); } } @@ -211,6 +223,12 @@ if(e){ result.Repair_Determine_result_ConfirmationUser__c = e.value; } + //鏈慨鐞嗗綊杩樼悊鐢� + //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; + } console.log(JSON.stringify(result)); return result; } @@ -369,7 +387,7 @@ <!--Each section has layoutFields, let's iterate them as well--> <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> - <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" + <apex:inputField html-title="{!layoutField.fieldAPI}" styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" required="{!layoutField.isRequired}" /> <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> </apex:pageblocksectionitem> @@ -449,6 +467,27 @@ }) }) + //缁翠慨涓績 + if('{!workLocationSelect}' != ''){ + let wlNode = document.getElementById('page:form:block:j_id34:1:j_id35:j_id36:18:j_id37'); + if(wlNode){ + wlNode.removeAttribute("disabled") + var o = new Option() + o.text = '{!workLocationSelect}' + wlNode.options.add(o) + wlNode.value = '{!workLocationSelect}' + } + } + + //濡傛灉浠庢姤淇瓙鍗曡繃鏉ワ紝闇�瑕佽В瀵嗘姤淇汉 + if('{!RepairSubOrderAWSDataId}' != ''){ + var staticResourceRepairSubOrder = JSON.parse('{!staticResourceRepairSubOrder}'); + let queryBackRepairSubOrder = function queryBackRepairSubOrder(data) { + document.querySelector("[data-id='RepairApplicant__c']").value = data.object.repairApplicantName; + }; + AWSService.query(staticResourceRepairSubOrder.queryUrl, '{!RepairSubOrderAWSDataId}', queryBackRepairSubOrder, staticResourceRepairSubOrder.token); + } + // jQuery(".lookupInput").each(function(i,e){ // let je =jQuery(e).find('input'); // je.attr("readonly",""); diff --git a/manifest/packageForCloneButton.xml b/manifest/packageForCloneButton.xml new file mode 100644 index 0000000..f6ee9c4 --- /dev/null +++ b/manifest/packageForCloneButton.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<Package xmlns="http://soap.sforce.com/2006/04/metadata"> + <types> + <members>NewAndEditBaseController</members> + <members>NewAndEditBaseControllerTest</members> + <members>NewRepairController</members> + <members>NewRepairControllerTest</members> + <members>NewAndEditAddressController</members> + <members>NewAndEditAddressControllerTest</members> + <members>NewAndEditContactController</members> + <members>NewAndEditContactControllerTest</members> + <members>OnCallController</members> + <members>OnCallControllerTest</members> + <members>NewAndEditLeadController</members> + <members>NewAndEditLeadControllerTest</members> + <members>NewConsumApplyController</members> + <members>NewConsumApplyControllerTest</members> + <members>RentalApplyController</members> + <members>RentalApplyControllerTest</members> + <members>NewAndEditReportController</members> + <members>NewAndEditReportControllerTest</members> + <name>ApexClass</name> + </types> + <types> + <members>NewAndEditReport</members> + <members>NewRepair</members> + <members>NewAndEditTenderinformation</members> + <members>NewAndEditAgencyContact</members> + <members>NewRentalApply</members> + <members>NewConsumApply</members> + <members>NewAndEditLead</members> + <members>NewAndEditASEActivity</members> + <members>NewAndEditInspectionReport</members> + <members>NewAndEditAddress</members> + <members>NewOnCall</members> + <members>NewAndEditQIS</members> + <members>NewAndEditContact</members> + <members>NewAndEditInquiryForm</members> + <name>ApexPage</name> + </types> + <version>52.0</version> +</Package> \ No newline at end of file -- Gitblit v1.9.1