沙世明
2022-09-13 bfca7a84bec815da594f1d12558535ed06d2490b
force-app/main/default/classes/StraightBackAddressController.cls
@@ -425,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){
@@ -459,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('详细地址不能为空!');
@@ -504,65 +507,70 @@
                    }
                }
            }
            //判断联系人是否都为空
            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();//販売店
                        }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('【联系人】和【联系人(新建)】不能同时都有值!');
                }
                // 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();//販売店
                //         }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{
                    //新增或修改数据
@@ -598,9 +606,11 @@
    }
    //查询地址表数据
    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)){