| | |
| | | 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;} |
| | |
| | | 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 |
| | |
| | | ifc = [select Id,AWS_Data_Id__c,Contact_Name__c,Contact_Id__c,Hospital_Name__c,Hospital_ID__c,Department_Class__c, |
| | | Department_ID__c,Opp_Name_Search__c,Opp_Name_Search_ID__c,Campaign__c, |
| | | Campaign_ID__c,Name,Cancel_Reason__c,Phone__c,Email__c,Last_Name__c,LeadSource__c,Opportunity_Division__c,Request1__c, |
| | | Urgent__c from Inquiry_form__c where id = :InquiryFormId]; |
| | | Urgent__c,Inquiry_Num__c from Inquiry_form__c where id = :InquiryFormId]; |
| | | System.debug('ifc = ' + ifc); |
| | | if(ifc.Contact_Id__c !=null && ifc.Contact_Id__c != ''){ |
| | | Contact c = [select AWS_Data_Id__c from Contact where id = :ifc.Contact_Id__c]; |
| | |
| | | System.debug('ifc = ' + ifc); |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | obj.put('OwnerId',UserInfo.getUserId()); |
| | | obj.put('Inquiry_Num__c',ifc.Inquiry_Num__c);// 20220413 SWAG-CBUB2W you |
| | | }else if(obj.Id != null){ |
| | | //更新 |
| | | isNewMode = false; |
| | |
| | | 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)); |
| | | } |
| | |
| | | // if(mso.containsKey('CF00N10000006qNtt_lkid ')){ |
| | | // controller.getRecord().put('Department_Class__c',mso.get('CF00N10000006qNtt_lkid ')); |
| | | // } |
| | | // 2022-04-13 来源 jz start 0414 lt |
| | | if (mso.containsKey('LeadSource')) { |
| | | controller.getRecord().put('LeadSource', mso.get('LeadSource')); |
| | | } |
| | | if (mso.containsKey('00N10000006qOFb')) { |
| | | controller.getRecord().put('Opportunity_stage__c', mso.get('00N10000006qOFb')); |
| | | } |
| | | if (mso.containsKey('00N10000006qOF0')) { |
| | | controller.getRecord().put('Close_Forecasted_Date__c', Date.parse(mso.get('00N10000006qOF0'))); |
| | | } |
| | | if (mso.containsKey('00N10000002EjE1')) { |
| | | controller.getRecord().put('Opp_Name__c', mso.get('00N10000002EjE1')); |
| | | } |
| | | // if (mso.containsKey('00N100000048UBf')) { |
| | | // controller.getRecord().put('Contact__c', mso.get('00N100000048UBf')); |
| | | // } |
| | | if (mso.containsKey('00N10000002Cl6Y')) { |
| | | controller.getRecord().put('Purchase_Reason__c', mso.get('00N10000002Cl6Y')); |
| | | } |
| | | if (mso.containsKey('00N10000002CpEz')) { |
| | | controller.getRecord().put('Fund_Basis__c', mso.get('00N10000002CpEz')); |
| | | } |
| | | if (mso.containsKey('00N10000002CpF9')) { |
| | | controller.getRecord().put('Purchase_Type__c', mso.get('00N10000002CpF9')); |
| | | } |
| | | //20220427 |
| | | if (mso.containsKey('00N1m000007YNMM')) { //招标项目Id |
| | | controller.getRecord().put('Tender_information__c', mso.get('00N1m000007YNMM')); |
| | | } |
| | | if (mso.containsKey('00N1m000007YNN0')) { //经销商询价Id |
| | | controller.getRecord().put('Agency_Opportunity__c', mso.get('00N1m000007YNN0')); |
| | | } |
| | | if (mso.containsKey('00N10000008rqHj')) { //经销商询价--招标方式 |
| | | controller.getRecord().put('Sales_Method__c', mso.get('00N10000008rqHj')); |
| | | } |
| | | // 2022-04-13 来源 jz end 0414 lt |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | // 20220420 lt OBSAP start |
| | | if (String.isBlank(rtTypeId) && mso.containsKey('RecordTypeId')) { |
| | | rtTypeId = mso.get('RecordTypeId'); |
| | | } |
| | | // 20220420 lt OBSAP end |
| | | obj.put('OwnerId',UserInfo.getUserId()); |
| | | } |
| | | LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Lead','classic'); |
| | |
| | | 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()){ |
| | |
| | | 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); |