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