From bfca7a84bec815da594f1d12558535ed06d2490b Mon Sep 17 00:00:00 2001
From: 沙世明 <shashiming@prec-tech.com>
Date: 星期二, 13 九月 2022 09:57:32 +0800
Subject: [PATCH] 本地提交备份

---
 force-app/main/default/classes/StraightBackAddressController.cls |  209 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 143 insertions(+), 66 deletions(-)

diff --git a/force-app/main/default/classes/StraightBackAddressController.cls b/force-app/main/default/classes/StraightBackAddressController.cls
index f4e8e7b..fe17636 100644
--- a/force-app/main/default/classes/StraightBackAddressController.cls
+++ b/force-app/main/default/classes/StraightBackAddressController.cls
@@ -1,4 +1,4 @@
-public without sharing class StraightBackAddressController {
+global without sharing class StraightBackAddressController {
     /**
      * 椤甸潰椤堕儴妫�绱㈡暟鎹�
      */
@@ -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,6 +67,7 @@
     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 
@@ -100,13 +102,18 @@
 
         staticResource = JSON.serialize(PIHelper.getPIIntegrationInfo('Address__c'));
         staticResourceContact = JSON.serialize(PIHelper.getPIIntegrationInfo('Contact'));
+        staticResourceRepair = JSON.serialize(PIHelper.getPIIntegrationInfo('Repair__c'));
     }
 
     /**
      * 寮�濮嬫柟娉�
      */
     public PageReference init(){
-        accOfficeTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Office').getRecordTypeId();
+        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);
@@ -156,6 +163,7 @@
         newCon = new Contact();
         return null;
     }
+    
     //鏌ヨ瀹㈡埛璁板綍绫诲瀷
     public PageReference queryRecordType(){
         if(insUpdData.Customer__c!=null){
@@ -209,6 +217,7 @@
         }
         return null;
     }
+    /*
     //閲囩敤鎸夐挳
     public PageReference adoptSave(){
         //adoptId  瑕侀噰鐢ㄧ殑鍦板潃鏁版嵁id
@@ -273,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(
@@ -302,13 +313,14 @@
         }
         return null;
     }
-
+*/
     //閲嶅畾鍚戝埌 淇悊椤甸潰
     public PageReference redirectPag(){
         PageReference ref = new Pagereference('/' + RepairId);
         ref.setRedirect(true);
         return ref;
     }
+    
 
     /**
      * 妫�绱㈡暟鎹煡璇�
@@ -413,10 +425,12 @@
      */
     public PageReference save(){
         system.debug('Address value:'+JSON.serialize(insUpdData));       
-        if(String.isNotBlank(contactIdValue)&&String.isNotEmpty(contactIdValue)){
-            system.debug('Contact Value:'+contactIdValue);
-            insUpdData.Contacts__c = contactIdValue;
-        }
+        // WLIG-CCX4BB 銆愬鎵樸�戜慨鐞嗙洿杩旀敹璐у湴鍧�鍔熻兘鏀归�� thh 20220513 start
+        // if(String.isNotBlank(contactIdValue)&&String.isNotEmpty(contactIdValue)){
+        //     system.debug('Contact Value:'+contactIdValue);
+        //     insUpdData.Contacts__c = contactIdValue;
+        // }
+        // WLIG-CCX4BB 銆愬鎵樸�戜慨鐞嗙洿杩旀敹璐у湴鍧�鍔熻兘鏀归�� thh 20220513 end
         system.debug('Address value:'+JSON.serialize(insUpdData));
         savepoint sp = Database.setsavepoint();
         if(insUpdData != null){
@@ -447,6 +461,7 @@
                 this.insUpdData.Telephone__c.addError('涓嶈兘涓虹┖锛�');
             }
             //璇︾粏鍦板潃涓嶈兘涓虹┖
+            System.debug('insUpdData.Detailed_Address__c1:' + insUpdData.Detailed_Address__c);
             if(String.isBlank(insUpdData.Detailed_Address__c)){
                 flag = false;
                 this.insUpdData.Detailed_Address__c.addError('璇︾粏鍦板潃涓嶈兘涓虹┖锛�');
@@ -492,68 +507,75 @@
                     }
                 }
             }
-            //鍒ゆ柇鑱旂郴浜烘槸鍚﹂兘涓虹┖
-            if(insUpdData.Contacts__c == null || String.isBlank(insUpdData.Contacts__c)){
+            //WLIG-CCX4BB 銆愬鎵樸�戜慨鐞嗙洿杩旀敹璐у湴鍧�鍔熻兘鏀归�� thh 20220513 start 
+            //鍒ゆ柇鑱旂郴浜烘槸鍚︿负绌�
+            System.debug('insUpdData.ContactName__c1:' + insUpdData.ContactName__c);
+            if(String.isBlank(insUpdData.ContactName__c)){
+                this.insUpdData.ContactName__c.addError('銆愯仈绯讳汉銆戜笉鑳戒负绌猴紒');
                 //鍒ゆ柇鏂板缓鑱旂郴浜烘槸鍚︿负绌�
-                if(insUpdData.Create_Contacts__c == null || String.isBlank(insUpdData.Create_Contacts__c)){
-                    flag = false;
-                    this.insUpdData.Create_Contacts__c.addError('銆愯仈绯讳汉銆戝拰銆愯仈绯讳汉锛堟柊寤猴級銆戜笉鑳藉悓鏃朵负绌猴紒');
-                }else{//濡傛灉鑱旂郴浜轰负绌猴紝浣嗘槸鏂板缓鑱旂郴浜轰笉涓虹┖锛岄偅涔堟柊澧炰竴鏉¤仈绯讳汉鏁版嵁
-                    if(flag){
-                        String typeL = '';//绫诲瀷
-                        if(insUpdData.Address_Classification__c == '鍖婚櫌'){
-                            typeL = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Doctor').getRecordTypeId();//鍖诲斧
-                        }else if(insUpdData.Address_Classification__c == '缁忛攢鍟�'){
-                            typeL = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();//璨╁2搴�
-                        }else if(insUpdData.Address_Classification__c == '鍔炰簨澶�'){
-                            typeL = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Internal_staff').getRecordTypeId();//绀惧唴鍛樺伐
-                        }
-                        String surname = String.valueOf(insUpdData.Create_Contacts__c);//濮�
-                        String monicker = '';//鍚�
-                        if(surname.length() >= 2){
-                            monicker = surname.substring(1,surname.length());
-                            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);
-                        try{
-                            //鏂板涓�鏉¤仈绯讳汉鏁版嵁
-                            insert addContact;
-                            insUpdData.Create_Contacts__c = '';
-                        }catch(Exception e){
-                            //ApexPages.addMessages(e);
-                            Database.rollback(sp);
-                            //澶辫触鎻愮ず
-                            System.debug('myException caught when save or submit: ' + e.getMessage() + e.getStackTraceString());
-                            ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, e.getMessage()));
-                            isSearchBtn = false;
-                            return null;
-                        }
-                        insUpdData.Contacts__c = addContact.id;
-                        //name璧嬪��
-                        /*if(insUpdData.Contacts__c == null){
-                            insUpdData.name =  insUpdData.Customer__r.Name+'_'+insUpdData.Contacts__r.Name;
-                        }else{
-                            insUpdData.name =  insUpdData.Customer__r.Name+'_'+insUpdData.Create_Contacts__c;
-                        }*/
-                    }
-                }
-            }else{//鑱旂郴浜哄拰鏂板缓鑱旂郴浜轰笉鑳介兘鏈夊��
-                //鍒ゆ柇鏂板缓鑱旂郴浜烘槸鍚︿负绌�
-                if(!String.isBlank(insUpdData.Create_Contacts__c)){
-                    flag = false;
-                    this.insUpdData.Create_Contacts__c.addError('銆愯仈绯讳汉銆戝拰銆愯仈绯讳汉锛堟柊寤猴級銆戜笉鑳藉悓鏃堕兘鏈夊�硷紒');
-                }
+                // if(insUpdData.Create_Contacts__c == null || String.isBlank(insUpdData.Create_Contacts__c)){
+                //     flag = false;
+                //     this.insUpdData.Create_Contacts__c.addError('銆愯仈绯讳汉銆戝拰銆愯仈绯讳汉锛堟柊寤猴級銆戜笉鑳藉悓鏃朵负绌猴紒');
+                // }else{//濡傛灉鑱旂郴浜轰负绌猴紝浣嗘槸鏂板缓鑱旂郴浜轰笉涓虹┖锛岄偅涔堟柊澧炰竴鏉¤仈绯讳汉鏁版嵁
+                //     if(flag){
+                //         String typeL = '';//绫诲瀷
+                //         if(insUpdData.Address_Classification__c == '鍖婚櫌'){
+                //             typeL = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Doctor').getRecordTypeId();//鍖诲斧
+                //         }else if(insUpdData.Address_Classification__c == '缁忛攢鍟�'){
+                //             typeL = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();//璨╁2搴�
+                //         }else if(insUpdData.Address_Classification__c == '鍔炰簨澶�'){
+                //             typeL = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Internal_staff').getRecordTypeId();//绀惧唴鍛樺伐
+                //         }
+                //         String surname = String.valueOf(insUpdData.Create_Contacts__c);//濮�
+                //         String monicker = '';//鍚�
+                //         if(surname.length() >= 2){
+                //             monicker = surname.substring(1,surname.length());
+                //             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);
+                //         try{
+                //             //鏂板涓�鏉¤仈绯讳汉鏁版嵁
+                //             insert addContact;
+                //             sfRecordId = addContact.id;
+                //             insUpdData.Create_Contacts__c = '';
+                //         }catch(Exception e){
+                //             //ApexPages.addMessages(e);
+                //             Database.rollback(sp);
+                //             //澶辫触鎻愮ず
+                //             System.debug('myException caught when save or submit: ' + e.getMessage() + e.getStackTraceString());
+                //             ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, e.getMessage()));
+                //             isSearchBtn = false;
+                //             return null;
+                //         }
+                //         insUpdData.Contacts__c = addContact.id;
+                //         //name璧嬪��
+                //         /*if(insUpdData.Contacts__c == null){
+                //             insUpdData.name =  insUpdData.Customer__r.Name+'_'+insUpdData.Contacts__r.Name;
+                //         }else{
+                //             insUpdData.name =  insUpdData.Customer__r.Name+'_'+insUpdData.Create_Contacts__c;
+                //         }*/
+                //     }
+                // }
             }
+            // else{//鑱旂郴浜哄拰鏂板缓鑱旂郴浜轰笉鑳介兘鏈夊��
+            //     //鍒ゆ柇鏂板缓鑱旂郴浜烘槸鍚︿负绌�
+            //     if(!String.isBlank(insUpdData.Create_Contacts__c)){
+            //         flag = false;
+            //         this.insUpdData.Create_Contacts__c.addError('銆愯仈绯讳汉銆戝拰銆愯仈绯讳汉锛堟柊寤猴級銆戜笉鑳藉悓鏃堕兘鏈夊�硷紒');
+            //     }
+            // }
+            //WLIG-CCX4BB 銆愬鎵樸�戜慨鐞嗙洿杩旀敹璐у湴鍧�鍔熻兘鏀归�� thh 20220513 end
             if(flag){
                 try{
                     //鏂板鎴栦慨鏀规暟鎹�
                     upsert insUpdData;
+                    
                     ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '淇濆瓨鎴愬姛锛�'));
                     isSearchBtn = true;
                     //淇濆瓨鎴愬姛锛岄渶瑕佸垵濮嬪寲涓�涓嬫瀵硅薄锛岄槻姝㈠啀娆$偣鍑绘鎸夐挳淇濆瓨涓�涓潯鍚屾牱鐨勬暟鎹�
@@ -579,14 +601,16 @@
 
     //鏌ヨ淇悊琛ㄦ暟鎹�
     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,Customer__r.Type,Customer__r.RecordTypeId,Contacts__c,Contacts__r.Name,Contacts__r.AWS_Data_Id__c,Telephone__c'
+        // WLIG-CCX4BB 銆愬鎵樸�戜慨鐞嗙洿杩旀敹璐у湴鍧�鍔熻兘鏀归�� thh 20220513 start 
+        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,ContactName__c,Telephone__c,ContactName_Encrypted__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';
+        // WLIG-CCX4BB 銆愬鎵樸�戜慨鐞嗙洿杩旀敹璐у湴鍧�鍔熻兘鏀归�� thh 20220513 end 
         //绫诲瀷绛涢��
         if(!String.isBlank(typeText)){
             if('鍖婚櫌'.equals(typeText)){
@@ -668,6 +692,51 @@
                         + ' RecordType.name,Parent.Parent.Id FROM Account WHERE ID = \'' + accId + '\'';
         return AccountSql;
     }
+    
+    @RemoteAction
+    global 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鑾峰彇鍊�
@@ -675,6 +744,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