| | |
| | | public with sharing class DealerPersonnelController { |
| | | public without sharing class DealerPersonnelController { |
| | | public DealerPersonnelController() { |
| | | |
| | | } |
| | |
| | | public static String processData(String fileData,String sobjectName,List<String> fields) { |
| | | system.debug('fileData===============>'+fileData); |
| | | String errorMage = ''; |
| | | String str = ''; |
| | | try { |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // Savepoint sp = Database.setSavepoint(); |
| | | // try { |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | if(fileData != null){ |
| | | String[] fileLines = new String[]{}; |
| | | fileLines = fileData.split('\n'); |
| | | system.debug('fileLines===================>'+fileLines); |
| | | // 记录类型 |
| | | List<String> recordTypeList = new List<String>(); |
| | | // 经销商管理编码 |
| | | List<String> managementCodeList = new List<String>(); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | // 客户名 |
| | | List<String> accountNameList = new List<String>(); |
| | | List<String> CustomerNameList = new List<String>(); |
| | | //人员管理编码 |
| | | List<String> CManageCodeList = new List<String>(); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | // 导入的数据 |
| | | List<List<String>> inputList = new List<List<String>>(); |
| | | for (Integer i = 1,j = fileLines.size(); i < j; i++) { |
| | | List<String> inputValues = new List<String>(); |
| | | inputValues = fileLines[i].split(','); |
| | | System.debug('inputValues=============>'+inputValues); |
| | | if(inputValues != null){ |
| | | 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){ |
| | | errorMage += 'errorMage: 第' + i + '行,手机不能为空!'; |
| | | errorMage += '='; |
| | | if(fileLines[i].replace(',','').trim()!=''){ |
| | | inputValues = fileLines[i].split(',',-1); |
| | | System.debug('inputValues=============>'+inputValues); |
| | | System.debug('fileLines[i]=============>'+fileLines[i]); |
| | | if(inputValues != null){ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // if(inputValues[0] == '' || inputValues[0]== null){ |
| | | // errorMage += 'errorMage: 第' + i + '行,姓名不能为空!'; |
| | | // errorMage += '='; |
| | | // } |
| | | // // if(inputValues[1] == '' || inputValues[1] ==null){ |
| | | // // errorMage += 'errorMage: 第' + i + '行,手机不能为空!'; |
| | | // // errorMage += '='; |
| | | // // } |
| | | // // boolean mobileNumberFlag = mobileNumberVerification(inputValues[1]); |
| | | // // if(mobileNumberFlag == false){ |
| | | // // errorMage += 'errorMage: 你的手机号码不太正确,请检查您的手机是否正确!'; |
| | | // // errorMage += '='; |
| | | // // } |
| | | // // if(inputValues[2] == '' || inputValues[2] == null){ |
| | | // // errorMage += 'errorMage: 第' + i + '行,邮箱不能为空!'; |
| | | // // errorMage += '='; |
| | | // // } |
| | | // //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | // if(inputValues[2] != '' && inputValues[2] != null){ |
| | | // //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | // boolean mailboxFlag = mailboxVerification(inputValues[2]); |
| | | // if(mailboxFlag == false){ |
| | | // errorMage += 'errorMage:第' + i + '行, 你的邮箱不太正确,请检查您的邮箱格式!'; |
| | | // errorMage += '='; |
| | | // } |
| | | // //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | // } |
| | | // //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | // if(inputValues[3] == '' || inputValues[3] == null){ |
| | | // errorMage += 'errorMage: 第' + i + '行,经销商管理编码不能为空!'; |
| | | // errorMage += '='; |
| | | // } |
| | | // //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | // if(inputValues[4] == '' || inputValues[4] == null){ |
| | | // errorMage += 'errorMage: 第' + i + '行,客户名不能为空!'; |
| | | // errorMage += '='; |
| | | // } |
| | | // if(inputValues[5] == '' || inputValues[5] == null){ |
| | | // errorMage += 'errorMage: 第' + i + '行,经销商用户不能为空!'; |
| | | // errorMage += '='; |
| | | // } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | inputValues[3]=inputValues[3].leftpad(10,'0'); |
| | | System.debug('测试去零1 '+inputValues[3].replace(' ','').length()); |
| | | |
| | | managementCodeList.add(inputValues[3]); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | CustomerNameList.add(inputValues[4]); |
| | | CManageCodeList.add(inputValues[6]); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | inputList.add(inputValues); |
| | | |
| | | //导入的数据 |
| | | <<<<<<< HEAD |
| | | System.debug('inputValues[0]===============>'+ inputValues[0]); |
| | | System.debug('inputValues[1]===============>'+ inputValues[1]); |
| | | System.debug('inputValues[2]===============>'+ inputValues[2]); |
| | | System.debug('inputValues[3]===============>'+ inputValues[3]); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | System.debug('inputValues[4]===============>'+ inputValues[4]); |
| | | System.debug('inputValues[5]===============>'+ inputValues[5]); |
| | | System.debug('inputValues[6]===============>'+ inputValues[6]); |
| | | System.debug('inputValues[7]===============>'+ inputValues[7]); |
| | | System.debug('inputValues[8]===============>'+ inputValues[8]); |
| | | System.debug('inputValues[9]===============>'+ inputValues[9]); |
| | | System.debug('inputValues[10]===============>'+ inputValues[10]); |
| | | System.debug('inputValues[11]===============>'+ inputValues[11]); |
| | | System.debug('inputValues[12]===============>'+ inputValues[12]); |
| | | System.debug('inputValues[13]===============>'+ inputValues[13]); |
| | | System.debug('inputValues[14]===============>'+ inputValues[14]); |
| | | System.debug('inputValues[15]===============>'+ inputValues[15]); |
| | | System.debug('inputValues[16]===============>'+ inputValues[16]); |
| | | ======= |
| | | // System.debug('inputValues[0]===============>'+ inputValues[0]); |
| | | // System.debug('inputValues[1]===============>'+ inputValues[1]); |
| | | // System.debug('inputValues[2]===============>'+ inputValues[2]); |
| | | // System.debug('inputValues[3]===============>'+ inputValues[3]); |
| | | // //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | // System.debug('inputValues[4]===============>'+ inputValues[4]); |
| | | // System.debug('inputValues[5]===============>'+ inputValues[5]); |
| | | // System.debug('inputValues[6]===============>'+ inputValues[6]); |
| | | // System.debug('inputValues[7]===============>'+ inputValues[7]); |
| | | // System.debug('inputValues[8]===============>'+ inputValues[8]); |
| | | // System.debug('inputValues[9]===============>'+ inputValues[9]); |
| | | // System.debug('inputValues[10]===============>'+ inputValues[10]); |
| | | // System.debug('inputValues[11]===============>'+ inputValues[11]); |
| | | // System.debug('inputValues[12]===============>'+ inputValues[12]); |
| | | // System.debug('inputValues[13]===============>'+ inputValues[13]); |
| | | // System.debug('inputValues[14]===============>'+ inputValues[14]); |
| | | // System.debug('inputValues[15]===============>'+ inputValues[15]); |
| | | // System.debug('inputValues[16]===============>'+ inputValues[16]); |
| | | >>>>>>> 进口单证+obsap+导入 |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | |
| | | } |
| | | boolean mobileNumberFlag = mobileNumberVerification(inputValues[3]); |
| | | System.debug('mobileNumberFlag=============>'+mobileNumberFlag); |
| | | |
| | | if(mobileNumberFlag == false){ |
| | | errorMage += 'errorMage: 你的手机号码不太正确,请检查您的手机是否正确!'; |
| | | errorMage += '='; |
| | | } |
| | | if(inputValues[4] == '' || inputValues[4] == null){ |
| | | errorMage += 'errorMage: 第' + i + '行,邮箱不能为空!'; |
| | | errorMage += '='; |
| | | } |
| | | boolean mailboxFlag = mailboxVerification(inputValues[4]); |
| | | System.debug('mailboxFlag=============>'+mailboxFlag); |
| | | |
| | | if(mailboxFlag == false){ |
| | | errorMage += 'errorMage: 你的邮箱不太正确,请检查您的邮箱格式!'; |
| | | errorMage += '='; |
| | | } |
| | | if(inputValues[5] == '' || inputValues[5] == null){ |
| | | errorMage += 'errorMage: 第' + i + '行,客户名不能为空!'; |
| | | errorMage += '='; |
| | | } |
| | | |
| | | str = inputValues[5]; |
| | | recordTypeList.add(inputValues[0]); |
| | | accountNameList.add(str); |
| | | //导入的数据 |
| | | 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>(); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | Map<String,Contact> contactIdMap = new Map<String,Contact>(); |
| | | Map<Id,String> ManagementCodeMap = new Map<Id,String>(); |
| | | List<Id> AccountIdList =new List<Id>(); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | <<<<<<< HEAD |
| | | List<Account> accountList = [select id, Name,Management_Code__c from Account where Management_Code__c in: managementCodeList and Name in:CustomerNameList ]; |
| | | ======= |
| | | System.debug('managementCodeList===============>'+ managementCodeList); |
| | | System.debug('CustomerNameList===============>'+ CustomerNameList); |
| | | List<Account> accountList = [select id, Name,Management_Code__c from Account where Management_Code__c in: managementCodeList and Name in:CustomerNameList]; |
| | | System.debug('iaccountList===============>'+ accountList); |
| | | >>>>>>> 进口单证+obsap+导入 |
| | | for(Account ac : accountList){ |
| | | accountMap.put(ac.Name, ac); |
| | | accountIdList.add(ac.Id); |
| | | accountIdMap.put(ac.Management_Code__c,ac); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | AccountIdList.add(ac.Id); |
| | | ManagementCodeMap.put(ac.Id,ac.Management_Code__c); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | } |
| | | 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); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | //查询客户人员是否有数据 |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start 0228 |
| | | // Map<String,Contact> contactIdMapName = new Map<String,Contact>(); |
| | | List<Contact> contactList = [select id, CManageCode__c,AccountId from Contact where AccountId in: AccountIdList and CManageCode__c in:CManageCodeList ]; |
| | | // List<Contact> contactList = [select id, CManageCode__c,AccountId,Name from Contact where AccountId in: AccountIdList ]; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | for(Contact cc : contactList){ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start 0228 |
| | | // String namekey = cc.Name.replace(' ', ''); |
| | | // String contactKey2=ManagementCodeMap.get(cc.AccountId)+'_'+namekey; |
| | | // contactIdMapName.put(contactKey2,cc); |
| | | String contactKey=ManagementCodeMap.get(cc.AccountId)+'_'+cc.CManageCode__c; |
| | | contactIdMap.put(contactKey,cc); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start 0228 |
| | | // System.debug('contactIdMapName++'+contactIdMapName); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start 0228 |
| | | List<Contact> cnupdateList = new List<Contact>(); |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | List<Contact> cnList = new List<Contact>(); |
| | | Integer lineNumber = 1; |
| | | for(List<String> lineList :inputList){ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | Boolean errorflag1 = false; |
| | | String errorMageHang = ''; |
| | | if(lineList[0] == '' || lineList[0]== null){ |
| | | errorMageHang += ',姓名不能为空!'; |
| | | errorflag1 = true; |
| | | } |
| | | if(lineList[2] != '' && lineList[2] != null){ |
| | | boolean mailboxFlag = mailboxVerification(lineList[2]); |
| | | if(mailboxFlag == false){ |
| | | errorMageHang += ', 你的邮箱不太正确,请检查您的邮箱格式!'; |
| | | errorflag1 = true; |
| | | } |
| | | } |
| | | if(lineList[3] == '' || lineList[3] == null){ |
| | | errorMageHang += ',经销商管理编码不能为空!'; |
| | | errorflag1 = true; |
| | | } |
| | | if(lineList[4] == '' || lineList[4] == null){ |
| | | errorMageHang += ',客户名不能为空!'; |
| | | errorflag1 = true; |
| | | } |
| | | if(lineList[5] == '' || lineList[5] == null){ |
| | | errorMageHang += ',经销商用户不能为空!'; |
| | | errorflag1 = true; |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | Contact con = new Contact(); |
| | | if(recordTypeMap.containsKey(lineList[0])){ |
| | | con.RecordTypeId = recordTypeMap.get(lineList[0]).id; |
| | | }else{ |
| | | errorMage += 'error: 第'+ lineNumber +'行数据,记录类型'+lineList[0]+'不存在'; |
| | | errorMage += '='; |
| | | //暂时导入的是经销商用户,所以记录类型只有经销商,暂时写死;后期如果有变动再更改 |
| | | con.RecordTypeId = '01210000000QfWiAAK'; |
| | | if(!contactIdMap.containsKey(lineList[3]+'_'+lineList[6])){ |
| | | if(lineList[0] != null && lineList[0] != ''){ |
| | | con.LastName = lineList[0]; |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,姓氏'+lineList[0]+'不存在'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',姓氏 '+lineList[0]+' 不存在'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | } |
| | | if(lineList[1] != null && lineList[1] != ''){ |
| | | con.LastName = lineList[1]; |
| | | }else{ |
| | | errorMage += 'error: 第'+ lineNumber +'行数据,姓氏'+lineList[1]+'不存在'; |
| | | errorMage += '='; |
| | | } |
| | | // if(mobileNumberVerification(lineList[1])){ |
| | | con.MobilePhone = lineList[1]; |
| | | // }else{ |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[1]+'不正确!'; |
| | | // errorMage += '='; |
| | | // } |
| | | } |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | // else{ |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[1]+'不存在'; |
| | | // errorMage += '='; |
| | | // } |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | if(lineList[2] != null && lineList[2] != ''){ |
| | | con.FirstName = lineList[2]; |
| | | if(mailboxVerification(lineList[2])){ |
| | | con.Email = lineList[2]; |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[2]+'不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',电子邮件 '+lineList[2]+' 不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | } |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | // else{ |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[2]+'不存在'; |
| | | // errorMage += '='; |
| | | // } |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | if(accountIdMap.containsKey(lineList[3])){ |
| | | con.AccountId = accountIdMap.get(lineList[3]).id; |
| | | }else{ |
| | | errorMage += 'error: 第'+ lineNumber +'行数据,名字'+lineList[2]+'不存在'; |
| | | errorMage += '='; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,经销商编码'+lineList[3]+'或者客户名不存在'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',经销商编码 '+lineList[3]+' 或者客户名不存在'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //暂定创建直接为 true |
| | | // con.Agency_User__c = true; |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | if(lineList[5] != null && lineList[5] != ''){ |
| | | if(lineList[5]=='true'||lineList[5]=='TRUE'){ |
| | | con.Agency_User__c=true; |
| | | }else{ |
| | | con.Agency_User__c=false; |
| | | } |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,经销商用户'+lineList[0]+'不存在'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',经销商用户 '+lineList[0]+' 不存在'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | if(lineList[3] != null && lineList[3] != ''){ |
| | | if(mobileNumberVerification(lineList[3])){ |
| | | con.MobilePhone = lineList[3]; |
| | | }else{ |
| | | errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[3]+'不正确!'; |
| | | errorMage += '='; |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | //经销商专员类型 |
| | | if(VerificationOLYAssistantType(lineList[7])){ |
| | | con.OLY_Assistant_Type__c = lineList[7]; |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,经销商专员类型'+lineList[7]+'不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',经销商专员类型 '+lineList[7]+' 不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //入职年份 |
| | | if(VerificationDateType(lineList[8])){ |
| | | con.InductionYear__c = ConversionDateType(lineList[8]); |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,入职年份'+lineList[8]+'格式不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',入职年份 '+lineList[8]+' 格式不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //GIR认证级别 |
| | | if(VerifyCertificationLevel(lineList[9])){ |
| | | con.GIR_CertificationLevel__c = lineList[9]; |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,GIR认证级别'+lineList[9]+'不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',GIR认证级别 '+lineList[9]+' 不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //GIR认证时间 |
| | | if(VerificationDateType(lineList[10])){ |
| | | con.GIR_CertificationTime__c = ConversionDateType(lineList[10]); |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,GIR认证时间'+lineList[10]+'格式不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',GIR认证时间 '+lineList[10]+' 格式不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //SP认证级别 |
| | | if(VerifyCertificationLevel(lineList[11])){ |
| | | con.SP_CertificationLevel__c = lineList[11]; |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,SP认证级别'+lineList[11]+'不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',SP认证级别 '+lineList[11]+' 不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //SP认证时间 |
| | | if(VerificationDateType(lineList[12])){ |
| | | con.SP_CertificationTime__c = ConversionDateType(lineList[12]); |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,SP认证时间'+lineList[12]+'格式不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',SP认证时间 '+lineList[12]+' 格式不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //ET认证级别 |
| | | if(VerifyCertificationLevel(lineList[13])){ |
| | | con.ET_CertificationLevel__c = lineList[13]; |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,ET认证级别'+lineList[13]+'不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',ET认证级别 '+lineList[13]+' 不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //ET认证时间 |
| | | if(VerificationDateType(lineList[14])){ |
| | | con.ET_CertificationTime__c = ConversionDateType(lineList[14]); |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,ET认证时间'+lineList[14]+'格式不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang += ',ET认证时间 '+lineList[14]+' 格式不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //ENG认证级别 |
| | | if(VerifyCertificationLevel(lineList[15])){ |
| | | con.ENG_CertificationLevel__c = lineList[15]; |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,ENG认证级别'+lineList[15]+'不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang +=',ENG认证级别 '+lineList[15]+' 不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //ENG认证时间 |
| | | if(VerificationDateType(lineList[16])){ |
| | | con.ENG_CertificationTime__c = ConversionDateType(lineList[16]); |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // errorMage += 'error: 第'+ lineNumber +'行数据,ENG认证时间'+lineList[16]+'格式不正确!'; |
| | | // errorMage += '='; |
| | | errorMageHang +=',ENG认证时间 '+lineList[16]+' 格式不正确!'; |
| | | errorflag1 = true; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // lineNumber++; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | System.debug('001+'+lineList[3]+'_'+lineList[6]); |
| | | System.debug('002+'+contactIdMap.get(lineList[3]+'_'+lineList[6])); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start 0228 |
| | | // System.debug('003+'+lineList[3]+'_'+lineList[0]); |
| | | // System.debug('004+'+contactIdMapName.get(lineList[3]+'_'+lineList[0])); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start 0228 |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | if(errorflag1){ |
| | | errorMage += 'error: 第' + lineNumber + '行 ('+lineList[0]+') 的数据'+errorMageHang; |
| | | errorMage += '='; |
| | | }else{ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | if(contactIdMap.containsKey(lineList[3]+'_'+lineList[6])){ |
| | | con.Id=contactIdMap.get(lineList[3]+'_'+lineList[6]).Id; |
| | | cnupdateList.add(con); |
| | | }else { |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start 0228 |
| | | // if(!contactIdMapName.containsKey(lineList[3]+'_'+lineList[0])){ |
| | | // cnList.add(con); |
| | | // } |
| | | cnList.add(con); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | }else{ |
| | | errorMage += 'error: 第'+ lineNumber +'行数据,手机'+lineList[3]+'不存在'; |
| | | errorMage += '='; |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | } |
| | | if(lineList[4] != null && lineList[4] != ''){ |
| | | if(mailboxVerification(lineList[4])){ |
| | | con.Email = lineList[4]; |
| | | }else{ |
| | | errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[4]+'不正确!'; |
| | | errorMage += '='; |
| | | } |
| | | }else{ |
| | | errorMage += 'error: 第'+ lineNumber +'行数据,电子邮件'+lineList[4]+'不存在'; |
| | | 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; |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | // cnList.add(con); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | lineNumber++; |
| | | cnList.add(con); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | if(errorMage != ''){ |
| | | system.debug('errorMage==========>'+errorMage); |
| | | return errorMage; |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // if(errorMage != ''){ |
| | | // system.debug('errorMage==========>'+errorMage); |
| | | // return errorMage; |
| | | // } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | |
| | | // 新增周报明细 |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | List<String> errorChongfuList = new List<String>(); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | if(cnList.size() > 0 ){ |
| | | insertContact(cnList); |
| | | System.debug('003+'+cnList); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // insertContact(cnList); |
| | | Database.SaveResult[] InsertShare = Database.insert(cnList, false); |
| | | for(Database.SaveResult insertresult :InsertShare){ |
| | | if (!insertresult.isSuccess()) { |
| | | String errerContactiD=''; |
| | | String errer = String.valueOf(insertresult.getErrors()[0]); |
| | | if(errer.contains('UniqueNumber__c 与记录值重复')){ |
| | | List<String> errerList = errer.split('UniqueNumber__c 与记录值重复'); |
| | | if(errerList.size()>1){ |
| | | errerContactiD=errerList[1].substring(errerList[1].indexOf('ID 为:')+5,errerList[1].indexOf(';getStatusCode')).replace(' ',''); |
| | | errorChongfuList.add(errerContactiD); |
| | | } |
| | | }else{ |
| | | errorMage += errer; |
| | | } |
| | | } |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | // 更新周报明细 |
| | | if(cnupdateList.size() > 0 ){ |
| | | System.debug('004+'+cnupdateList); |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // updateContact(cnupdateList); |
| | | Database.SaveResult[] UpdateShare = Database.update(cnupdateList, false); |
| | | for(Database.SaveResult updateresult :UpdateShare){ |
| | | if (!updateresult.isSuccess()) { |
| | | String errerContactiD=''; |
| | | String errer = String.valueOf(updateresult.getErrors()[0]); |
| | | if(errer.contains('UniqueNumber__c 与记录值重复')){ |
| | | List<String> errerList = errer.split('UniqueNumber__c 与记录值重复'); |
| | | if(errerList.size()>1){ |
| | | errerContactiD=errerList[1].substring(errerList[1].indexOf('ID 为:')+5,errerList[1].indexOf(';getStatusCode')).replace(' ',''); |
| | | errorChongfuList.add(errerContactiD); |
| | | } |
| | | }else{ |
| | | errorMage += errer; |
| | | } |
| | | } |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | List<Contact> repeatContact=[select Id,Name from Contact where Id = :errorChongfuList]; |
| | | if(repeatContact.size()>0){ |
| | | for(Contact repeatContactitem :repeatContact){ |
| | | String errerContactName=''; |
| | | String errerContactID=''; |
| | | errerContactName = repeatContactitem.Name; |
| | | errerContactID = repeatContactitem.Id; |
| | | errorMage +='error: 数据中存在与系统现有用户 '+errerContactName+'(Id为:'+errerContactiD+')重复的电话号码'; |
| | | } |
| | | }else if(errorChongfuList.size()>0){ |
| | | errorMage +='error: 数据中存在重复的电话号码'; |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | } |
| | | if(errorMage != ''){ |
| | | system.debug('errorMage==========>'+errorMage); |
| | | return errorMage; |
| | | } |
| | | return 'success'; |
| | | } catch (Exception e) { |
| | | System.debug('exception'+e); |
| | | return 'exception'+e; |
| | | } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // String errer=String.valueOf(e); |
| | | // String errerContactiD=''; |
| | | // String errerContactName=''; |
| | | // if(errer.contains('UniqueNumber__c 与记录值重复')){ |
| | | // List<String> errerList = errer.split('UniqueNumber__c 与记录值重复'); |
| | | // if(errerList.size()>1){ |
| | | // errerContactiD=errerList[1].substring(errerList[1].indexOf('ID 为:')+5,errerList[1].indexOf(': []')).replace(' ',''); |
| | | // List<Contact> repeatContact=[select Name from Contact where Id = :errerContactiD]; |
| | | // if(repeatContact.size()>0){ |
| | | // errerContactName=repeatContact[0].Name; |
| | | // return 'error: 数据中存在与系统现有用户 '+errerContactName+'(Id为:'+errerContactiD+')重复的电话号码'; |
| | | // }else{ |
| | | // return 'error: 数据中存在重复的电话号码'; |
| | | // } |
| | | // } |
| | | // } |
| | | // return e.getLineNumber()+'exception'+e; |
| | | |
| | | // } catch (Exception e) { |
| | | // Database.rollback(sp); |
| | | // System.debug('exception++++++++++++++++++'+e.getLineNumber()+e); |
| | | // String errer=String.valueOf(e); |
| | | // String errerContactiD=''; |
| | | // String errerContactName=''; |
| | | // if(errer.contains('UniqueNumber__c 与记录值重复')){ |
| | | // List<String> errerList = errer.split('UniqueNumber__c 与记录值重复'); |
| | | // if(errerList.size()>1){ |
| | | // errerContactiD=errerList[1].substring(errerList[1].indexOf('ID 为:')+5,errerList[1].indexOf(': []')).replace(' ',''); |
| | | // List<Contact> repeatContact=[select Name from Contact where Id = :errerContactiD]; |
| | | // if(repeatContact.size()>0){ |
| | | // errerContactName=repeatContact[0].Name; |
| | | // return 'error: 数据中存在与系统现有用户 '+errerContactName+'(Id为:'+errerContactiD+')重复的电话号码'; |
| | | // }else{ |
| | | // return 'error: 数据中存在重复的电话号码'; |
| | | // } |
| | | // } |
| | | // } |
| | | // return e.getLineNumber()+'exception'+e; |
| | | // } |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | } |
| | | // 电子邮件的验证 |
| | | public static boolean mailboxVerification(String mailbox){ |
| | | String check = '^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$'; |
| | | String check = '^([a-z0-9A-Z]+[_-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$'; |
| | | Pattern regex = Pattern.compile(check); |
| | | Matcher matcher = regex.matcher(mailbox); |
| | | if (matcher.matches()){ |
| | |
| | | return false; |
| | | } |
| | | // 手机号的验证 |
| | | public static boolean mobileNumberVerification(String phoneNumber){ |
| | | String check = '^((17[0-9])|(14[0-9])|(13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$'; |
| | | Pattern regex = Pattern.compile(check); |
| | | Matcher matcher = regex.matcher(phoneNumber); |
| | | if(matcher.matches()){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | // public static boolean mobileNumberVerification(String phoneNumber){ |
| | | // String check = '^((17[0-9])|(14[0-9])|(13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$'; |
| | | // Pattern regex = Pattern.compile(check); |
| | | // Matcher matcher = regex.matcher(phoneNumber); |
| | | // if(matcher.matches()){ |
| | | // return true; |
| | | // } |
| | | // return false; |
| | | // } |
| | | //新增客户人员; |
| | | 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; |
| | | } |
| | | |
| | | // SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy start |
| | | //校验认证级别; |
| | | public static boolean VerifyCertificationLevel(String data) { |
| | | //DB202301262139 SFDC经销商人员导入功能改进 start |
| | | // if(data=='A'||data=='B'||data==''){ |
| | | if(data=='A级'||data=='A级未通过'||data=='A级未通过(失效)'||data=='A级(失效)'||data=='B级'||data=='B级(失效)'||data=='B级未通过'||data=='初级'||data=='初级未通过'||data=='未认证'||data==''){ |
| | | //DB202301262139 SFDC经销商人员导入功能改进 end |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | //校验日期类型 |
| | | public static Boolean VerificationDateType(String data) { |
| | | List<String> date1str; |
| | | List<String> date2str; |
| | | if(data==''){ |
| | | return true; |
| | | } |
| | | date1str=data.split('/'); |
| | | date2str=data.split('-'); |
| | | if(date1str.size()>1||date2str.size()>1){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | //转换日期类型; |
| | | public static Date ConversionDateType(String data) { |
| | | if(data==''){ |
| | | return null; |
| | | } |
| | | return Date.valueOf(data.replace('/','-')); |
| | | } |
| | | //校验经销商专员类型; |
| | | public static Boolean VerificationOLYAssistantType(String data) { |
| | | if(data=='GR专员'||data=='SP专员'||data=='GRSP专员'||data=='ET专员'||data=='TB专员'||data=='奥辉基层专员'||data=='商务助理'||data=='*****'||data==''){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | //更新客户人员; |
| | | public static void updateContact(List<Contact> data){ |
| | | update data; |
| | | } |
| | | //SWAG-CEW85A 【委托】消耗品&DAMS系统经销商人员管理——信息完善;fy end |
| | | } |