From 784f9cec56eef3c7ac0ba02de98fdbf341c6a7b3 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 25 四月 2022 18:38:29 +0800 Subject: [PATCH] 0428IssueFix --- force-app/main/default/classes/StraightBackAddressController.cls | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 103 insertions(+), 9 deletions(-) diff --git a/force-app/main/default/classes/StraightBackAddressController.cls b/force-app/main/default/classes/StraightBackAddressController.cls index e63368a..23aa63b 100644 --- a/force-app/main/default/classes/StraightBackAddressController.cls +++ b/force-app/main/default/classes/StraightBackAddressController.cls @@ -12,6 +12,7 @@ public String tableDataStr{ get; set; } public String staticResource {get; set;} public String staticResourceContact {get; set;} + public String staticResourceRepair {get; set;} public Contact newCon{get; set;} /***************搴曢儴 缂栬緫鍜屾柊澧炵殑 瀵硅薄*******************/ @@ -66,7 +67,14 @@ public String contactNameValue{set;get;} public String contactIdValue{set;get;} public String addressDataIds{set;get;} + public String sfRecordId{set;get;} // Add by Li Jun for PIPL 20220308 End + + public String accRecordTypeId {set;get;}//褰撳墠 璁板綍绫诲瀷id + + public String accOfficeTypeId {set;get;}//璁板綍绫诲瀷id 鍔炰簨澶� + public String accAgencyTypeId {set;get;}//璁板綍绫诲瀷id 璨╁2搴� + public String accAgencyContactTypeId {set;get;}//璁板綍绫诲瀷id 缁忛攢鍟嗚仈绯讳汉 public StraightBackAddressController() { //鑾峰彇url鏁版嵁 @@ -94,12 +102,20 @@ staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Address__c')); staticResourceContact = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact')); + staticResourceRepair = JSON.serialize(PIHelper.getPIIntegrationInfo('Repair__c')); } /** * 寮�濮嬫柟娉� */ public PageReference init(){ + Schema.RecordTypeInfo recordTypeValue = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Office'); + if(recordTypeValue == null){ + recordTypeValue = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('office'); + } + accOfficeTypeId = recordTypeValue.getRecordTypeId(); + accAgencyTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); + accAgencyContactTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('AgencyContact').getRecordTypeId(); String RepairSql = makeTextRepairSql(RepairId); try{ pc = Database.query(RepairSql); @@ -147,7 +163,20 @@ newCon = new Contact(); return null; } - + + //鏌ヨ瀹㈡埛璁板綍绫诲瀷 + public PageReference queryRecordType(){ + if(insUpdData.Customer__c!=null){ + String accid = insUpdData.Customer__c; + Account acc = [SELECT id,name,RecordTypeId FROM Account WHERE id =: accid]; + System.debug('acc---'+acc); + System.debug('insUpdData---'+insUpdData); + if(acc!=null&&acc.RecordTypeId!=null&&insUpdData.Customer__c!=null){ + accRecordTypeId = acc.RecordTypeId; + } + } + return null; + } //缂栬緫鑾峰彇鏁版嵁 public PageReference onEditor(){ if(!String.isBlank(UpdId)){ @@ -188,6 +217,7 @@ } return null; } + /* //閲囩敤鎸夐挳 public PageReference adoptSave(){ //adoptId 瑕侀噰鐢ㄧ殑鍦板潃鏁版嵁id @@ -232,7 +262,7 @@ try{ //淇濆瓨鏁版嵁鍒颁慨鐞嗚〃涓� Repair__c rc = new Repair__c(); - rc.id=RepairId; + rc.id = RepairId; rc.Address_AWS_Data_Id__c = tableData[i].address.AWS_Data_Id__c; rc.Contact_AWS_Data_Id__c = contactawsDataId; rc.address_Contacts__c = contactsName; @@ -252,7 +282,9 @@ } rc.address_Telephone__c=tableData[i].address.Telephone__c; rc.Detailed_Address__c=address; - update rc; + if(!Test.isRunningTest()){ + update rc; + } //淇濆瓨鏁版嵁鍒颁繚鏈夎澶囪〃涓� Asset ast = new Asset( @@ -281,13 +313,14 @@ } return null; } - +*/ //閲嶅畾鍚戝埌 淇悊椤甸潰 public PageReference redirectPag(){ PageReference ref = new Pagereference('/' + RepairId); ref.setRedirect(true); return ref; } + /** * 妫�绱㈡暟鎹煡璇� @@ -350,12 +383,14 @@ List<Address__c> dataList = Database.query(AddressSql); if(dataList != null && dataList.size()> 0){ indexCou += dataList.size(); + System.debug('dataList-----'+dataList); for(Integer i = 0;i<dataList.size();i++){ String createID = dataList[i].CreatedByid; createId = createId.substring(0,15); //鍔炰簨澶勭殑鍦板潃涓嶅彲淇敼 + if(dataList[i].Address_Classification__c == '鍔炰簨澶�'){ - tableData.add(new AddressData(dataList[i],'none','none','inline')); + tableData.add(new AddressData(dataList[i],'none','none','inline')); }else{ //鍙兘鏀硅嚜宸卞垱寤虹殑鍦板潃鏁版嵁锛岀郴缁熺鐞嗗憳銆丟PI_绯荤粺绠$悊鍛楴ew 娌¢檺鍒� if(loginPerson == createId ||loginPerson == '00e10000000dzzG' ||loginPerson == '00e10000000Y3o5'){ @@ -470,7 +505,6 @@ } } //鍒ゆ柇鑱旂郴浜烘槸鍚﹂兘涓虹┖ - if(insUpdData.Contacts__c == null || String.isBlank(insUpdData.Contacts__c)){ //鍒ゆ柇鏂板缓鑱旂郴浜烘槸鍚︿负绌� if(insUpdData.Create_Contacts__c == null || String.isBlank(insUpdData.Create_Contacts__c)){ @@ -493,10 +527,16 @@ surname = surname.substring(0,1); } System.debug('newCon = '+newCon); - addContact = new Contact(LastName=surname,FirstName=monicker,AccountId=insUpdData.Customer__c,RecordTypeId=typeL,AWS_Data_Id__c = newCon.AWS_Data_Id__c,LastName_Encrypted__c=newCon.LastName_Encrypted__c); + addContact = new Contact(LastName = surname, + FirstName = monicker, + AccountId = insUpdData.Customer__c, + RecordTypeId = typeL, + AWS_Data_Id__c = newCon.AWS_Data_Id__c, + LastName_Encrypted__c = newCon.LastName_Encrypted__c); try{ //鏂板涓�鏉¤仈绯讳汉鏁版嵁 insert addContact; + sfRecordId = addContact.id; insUpdData.Create_Contacts__c = ''; }catch(Exception e){ //ApexPages.addMessages(e); @@ -527,6 +567,7 @@ try{ //鏂板鎴栦慨鏀规暟鎹� upsert insUpdData; + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '淇濆瓨鎴愬姛锛�')); isSearchBtn = true; //淇濆瓨鎴愬姛锛岄渶瑕佸垵濮嬪寲涓�涓嬫瀵硅薄锛岄槻姝㈠啀娆$偣鍑绘鎸夐挳淇濆瓨涓�涓潯鍚屾牱鐨勬暟鎹� @@ -552,12 +593,12 @@ //鏌ヨ淇悊琛ㄦ暟鎹� private String makeTextRepairSql(String uuid){ - String RepairSql = 'SELECT ID,NAME,HP_ID__c,HP_Name__c,Delivered_Product__c,FSE_ApplyForRepair_time__c,SAP_Transfer_time__c,Dealer__c,Dealer__r.Name,Returns_Product_way__c,Address_Type_Index__c FROM Repair__c where id = \''+RepairId+'\''; + String RepairSql = 'SELECT ID,NAME,HP_ID__c,HP_Name__c,Delivered_Product__c,FSE_ApplyForRepair_time__c,SAP_Transfer_time__c,Dealer__c,Dealer__r.Name,Returns_Product_way__c,Address_Type_Index__c,AWS_Data_Id__c FROM Repair__c where id = \''+RepairId+'\''; return RepairSql; } //鏌ヨ鍦板潃琛ㄦ暟鎹� private String makeTextAddressSql(String typeSearchId) { - String AddressSql = 'SELECT AWS_Data_Id__c,ID,Address_Classification__c,Customer__c,Customer__r.Name,Contacts__c,Contacts__r.Name,Contacts__r.AWS_Data_Id__c,Telephone__c' + String AddressSql = 'SELECT AWS_Data_Id__c,ID,Address_Classification__c,Customer__c,Customer__r.Name,Customer__r.Type,Customer__r.RecordTypeId,Contacts__c,Contacts__r.Name,Contacts__r.AWS_Data_Id__c,Telephone__c' +',Province__c,Province__r.Name,City__c,City__r.name,Detailed_Address__c,Create_Contacts__c,ZipCode__c,CreatedByid,Detailed_Address_Encrypted__c,Telephone_Encrypted__c,ZipCode_Encrypted__c,Contacts__r.LastName_Encrypted__c' + ' FROM Address__c where id != null'; //绫诲瀷绛涢�� @@ -641,6 +682,51 @@ + ' RecordType.name,Parent.Parent.Id FROM Account WHERE ID = \'' + accId + '\''; return AccountSql; } + + @RemoteAction + public static string SaveEx(string repaire_json,string asset_json, string address_id){ + return SaveExCore(repaire_json,asset_json,address_id); + } + + public static string SaveExCore(string repaire_json,string asset_json, string address_id){ + string message = null; + string savemessage = null; + savepoint sp = Database.setsavepoint(); + try { + Repair__c r = (Repair__c)JSON.deserialize(repaire_json,Repair__c.class); + Asset ast = (Asset)JSON.deserialize(asset_json,Asset.class); + Address__c add = new Address__c(Id=address_id,Using_Datetime__c = Datetime.now()); + update r; + update ast; + update add; + }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); + + message ='淇濆瓨澶辫触锛屽師鍥�:'+ e.getDmlMessage(index); + savemessage = e.getMessage()+e.getStackTraceString(); + } catch (Exception e) { + System.debug('into catch'+e.getMessage()); + Database.rollback(sp); + + savemessage = e.getMessage()+e.getStackTraceString(); + message = '淇濆瓨澶辫触'; + } finally { + PIHelper.saveTransLog('StraightBackAddressController',address_id,address_id,address_id, repaire_json ,'success',message); + } + return message; + } /** * 涓轰簡鏂逛究鍓嶆table鑾峰彇鍊� @@ -648,6 +734,14 @@ class AddressData { //鏁版嵁 public Address__c address { get; set; } + + public string addressJson { get{ + if (address == null) { + return null; + } + return JSON.serialize(address); + } } + //缂栬緫鎸夐挳鏄惁灞曠ず public String canEdit { get; private set; } //缂栬緫鎸夐挳鏄惁灞曠ず -- Gitblit v1.9.1