高章伟
2022-03-10 1312ba82d4c880bdb5357d28e0d4af5b285f610f
force-app/main/default/classes/DealerPersonnelController.cls
@@ -6,16 +6,13 @@
    public static String processData(String fileData,String sobjectName,List<String> fields) {
        system.debug('fileData===============>'+fileData);
        String errorMage = '';
        String str = '';
        try {
            if(fileData != null){
                String[] fileLines = new String[]{};
                fileLines = fileData.split('\n');
                system.debug('fileLines===================>'+fileLines);
                // 记录类型
                List<String> recordTypeList = new List<String>();
                // 客户名
                List<String> accountNameList = new List<String>();
                // 经销商管理编码
                List<String> managementCodeList = new List<String>();
                // 导入的数据
                List<List<String>> inputList = new List<List<String>>();
                for (Integer i = 1,j = fileLines.size(); i < j; i++) {
@@ -23,133 +20,89 @@
                    inputValues = fileLines[i].split(',');
                    System.debug('inputValues=============>'+inputValues);
                    if(inputValues != null){
                        if(inputValues[0] == '' || inputValues[0] == null){
                            errorMage += 'errorMage: 第' + i + '行,记录类型不能为空!';
                        if(inputValues[0] == '' || inputValues[0]== null){
                            errorMage += 'errorMage: 第' + i + '行,姓名不能为空!';
                            errorMage += '=';
                        } 
                        if(inputValues[1] == '' || inputValues[1]== null){
                            errorMage += 'errorMage: 第' + i + '行,姓氏不能为空!';
                            errorMage += '=';
                        }
                        if(inputValues[2] == '' || inputValues[2] == null){
                            errorMage += 'errorMage: 第' + i + '行,名字不能为空!';
                            errorMage += '=';
                        }
                        if(inputValues[3] == '' || inputValues[3] ==null){
                        if(inputValues[1] == '' || inputValues[1] ==null){
                            errorMage += 'errorMage: 第' + i + '行,手机不能为空!';
                            errorMage += '=';
                        }
                        boolean mobileNumberFlag = mobileNumberVerification(inputValues[3]);
                    System.debug('mobileNumberFlag=============>'+mobileNumberFlag);
                        boolean mobileNumberFlag = mobileNumberVerification(inputValues[1]);
                        if(mobileNumberFlag == false){
                            errorMage += 'errorMage: 你的手机号码不太正确,请检查您的手机是否正确!';
                            errorMage += '=';
                        }
                        if(inputValues[4] == '' || inputValues[4] == null){
                        if(inputValues[2] == '' || inputValues[2] == null){
                            errorMage += 'errorMage: 第' + i + '行,邮箱不能为空!';
                            errorMage += '=';
                        }
                        boolean mailboxFlag = mailboxVerification(inputValues[4]);
                    System.debug('mailboxFlag=============>'+mailboxFlag);
                        boolean mailboxFlag = mailboxVerification(inputValues[2]);
                        if(mailboxFlag == false){
                            errorMage += 'errorMage: 你的邮箱不太正确,请检查您的邮箱格式!';
                            errorMage += '=';
                        }
                        if(inputValues[5] == '' || inputValues[5] == null){
                            errorMage += 'errorMage: 第' + i + '行,客户名不能为空!';
                        if(inputValues[3] == '' || inputValues[3] == null){
                            errorMage += 'errorMage: 第' + i + '行,经销商管理编码不能为空!';
                            errorMage += '=';
                        }
                        str = inputValues[5];
                        recordTypeList.add(inputValues[0]);
                        accountNameList.add(str);
                        //导入的数据
                        inputList.add(inputvalues);
                        
                        managementCodeList.add(inputValues[3]);
                        inputList.add(inputValues);
                        //导入的数据
                        System.debug('inputValues[0]===============>'+ inputValues[0]);
                        System.debug('inputValues[1]===============>'+ inputValues[1]);
                        System.debug('inputValues[2]===============>'+ inputValues[2]);
                        System.debug('inputValues[3]===============>'+ inputValues[3]);
                        System.debug('inputValues[4]===============>'+ inputValues[4]);
                        System.debug('inputValues[5]===============>'+ inputValues[5]);
                        System.debug('inputValues[6]===============>'+ inputValues[6]);
                    }
                }
                Map<String,Account> accountMap = new Map<String,Account>();
                List<String> accountIdList = new List<String>();
                Map<String,RecordType> recordTypeMap = new Map<String,RecordType>();
                List<String> recordTypeIdList = new List<String>();
                List<Account> accountList = [select id, Name from Account where Name in: accountNameList];
                List<RecordType> rectCo = [select Id,Name from RecordType where IsActive = true and SobjectType = 'Contact' and Name in: recordTypeList];
                Map<String,Account> accountIdMap = new Map<String,Account>();
                List<Account> accountList = [select id, Name,Management_Code__c from Account where Management_Code__c in: managementCodeList];
                for(Account ac : accountList){ 
                    accountMap.put(ac.Name, ac);
                    accountIdList.add(ac.Id);
                }
                system.debug('accountList===============>'+accountList);
                system.debug('accountNameList===============>'+accountNameList);
                system.debug('accountMap===============>'+accountMap);
                for(RecordType re : rectCo){
                    recordTypeMap.put(re.Name, re);
                    recordTypeIdList.add(re.Id);
                    accountIdMap.put(ac.Management_Code__c,ac);
                }
                List<Contact> cnList = new List<Contact>();
                Integer lineNumber = 1;
                for(List<String> lineList :inputList){
                    Contact con = new Contact();
                    if(recordTypeMap.containsKey(lineList[0])){
                        con.RecordTypeId = recordTypeMap.get(lineList[0]).id;
                    //暂时导入的是经销商用户,所以记录类型只有经销商,暂时写死;后期如果有变动再更改
                    con.RecordTypeId = '01210000000QfWiAAK';
                    if(lineList[0] != null && lineList[0] != ''){
                        con.LastName  = lineList[0];
                    }else{
                        errorMage += 'error: 第'+ lineNumber +'行数据,记录类型'+lineList[0]+'不存在';
                        errorMage += '=';
                    }
                    if(lineList[1] != null && lineList[1] != ''){
                        con.LastName  = lineList[1];
                    }else{
                        errorMage += 'error: 第'+ lineNumber +'行数据,姓氏'+lineList[1]+'不存在';
                        errorMage += 'error: 第'+ lineNumber +'行数据,姓氏'+lineList[0]+'不存在';
                        errorMage += '=';
                    }   
                    if(lineList[1] != null && lineList[1] != ''){
                        if(mobileNumberVerification(lineList[1])){
                            con.MobilePhone = lineList[1];
                        }else{
                            errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[1]+'不正确!';
                            errorMage += '=';
                        }
                    }else{
                        errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[1]+'不存在';
                        errorMage += '=';
                    }
                    if(lineList[2] != null && lineList[2] != ''){
                        con.FirstName  = lineList[2];
                    }else{
                        errorMage += 'error: 第'+ lineNumber +'行数据,名字'+lineList[2]+'不存在';
                        errorMage += '=';
                    }
                    if(lineList[3] != null && lineList[3] != ''){
                        if(mobileNumberVerification(lineList[3])){
                            con.MobilePhone = lineList[3];
                        if(mailboxVerification(lineList[2])){
                            con.Email = lineList[2];
                        }else{
                            errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[3]+'不正确!';
                            errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[2]+'不正确!';
                            errorMage += '=';
                        }
                    }else{
                        errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[3]+'不存在';
                        errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[2]+'不存在';
                        errorMage += '=';
                    }
                    if(lineList[4] != null && lineList[4] != ''){
                        if(mailboxVerification(lineList[4])){
                            con.Email = lineList[4];
                        }else{
                            errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[4]+'不正确!';
                            errorMage += '=';
                        }
                    if(accountIdMap.containsKey(lineList[3])){
                        con.AccountId = accountIdMap.get(lineList[3]).id;
                    }else{
                        errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[4]+'不存在';
                        errorMage += 'error: 第'+ lineNumber +'行数据,经销商编码'+lineList[3]+'不存在';
                        errorMage += '=';
                    }
                    if(accountMap.containsKey(lineList[5])){
                        con.AccountId = accountMap.get(lineList[5]).id;
                    }else{
                        errorMage += 'error: 第'+ lineNumber +'行数据,客户名'+lineList[5]+'不存在';
                        errorMage += '=';
                    }
                    if(lineList[6] == 'TRUE'){
                        con.Agency_User__c =  true;
                    }else{
                        con.Agency_User__c =  false;
                    }
                    //暂定创建直接为 true
                    con.Agency_User__c =  true;
                    lineNumber++;
                    cnList.add(con);
                }
@@ -190,18 +143,6 @@
    }
    //新增客户人员;
    public static void insertContact(List<Contact> data) {
        // System.debug('data==============>'+data);
        // List<String> lastNameList = new List<String>();
        // List<String> firstNameList = new List<String>();
        // for(Contact con:data){
        //     lastNameList.add(con.LastName);
        //     firstNameList.add(con.FirstName);
        // }
        // List<Contact> contactList = [select id, Name,Agency_User__c from contact where LastName in: lastNameList AND FirstName in: firstNameList];
        // if(contactList.size() >= 0){
        //     return '';
        // }
        // System.debug('strNameList==============>'+strNameList);
        insert data;
    }