From 50c80c5b21d2ed2ce208defae08620e77a7fcc48 Mon Sep 17 00:00:00 2001 From: 付煜 <fuyu3103346691@163.com> Date: 星期四, 05 五月 2022 09:40:18 +0800 Subject: [PATCH] 经销商周报导入 --- force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js | 269 +++++++++++++++++++++++++++++++------- force-app/main/default/classes/WeeklyReportCmp.cls | 103 +++++++++++++- force-app/main/default/aura/WeeklyReport/WeeklyReportController.js | 2 force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp | 2 4 files changed, 313 insertions(+), 63 deletions(-) diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp b/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp index d55fc0e..2685ae9 100644 --- a/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp +++ b/force-app/main/default/aura/WeeklyReport/WeeklyReport.cmp @@ -89,7 +89,7 @@ <aura:renderIf isTrue="{!v.login}"> <div class="slds-spinner_container height100vh"> <div class="slds-spinner--brand slds-spinner slds-spinner--medium" role="alert"> - <span class="slds-assistive-text">Loading</span> + <span id="aa" class="slds-assistive-text">Loading</span> <div class="slds-spinner__dot-a"></div> <div class="slds-spinner__dot-b"></div> </div> diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js b/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js index 29c6056..b4f4562 100644 --- a/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js +++ b/force-app/main/default/aura/WeeklyReport/WeeklyReportController.js @@ -212,7 +212,7 @@ }, processFileContent : function(component,event,helper){ - helper.saveRecords(component,event); + helper.saveRecords(component,event,helper); }, cancel : function(component,event,helper){ diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js index 154a13b..eed53ef 100644 --- a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js +++ b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js @@ -1260,7 +1260,6 @@ $A.getCallback(function(){ helper.to_agencycontact(component,result,agencyHospitalid); })(); - }else{ console.log('AWS status error:' + result) component.set('v.login',false); @@ -1889,66 +1888,232 @@ reader.readAsDataURL(file); }, - saveRecords : function(component,event){ + saveRecords : function(component,event,helper){ component.set('v.login',true); - var action = component.get("c.processData"); - var selectDate = component.find('select_date').get('v.value'); - var fieldsList=['Name','Phone','AccountNumber']; //Please write your code dynamic - var sss=component.get("v.fileContentData"); - action.setParams({ + //fy 瀵煎叆 20220424 start + var action1 = component.get("c.processDataAWSId"); + action1.setParams({ fileData : component.get("v.fileContentData"), - //selectDateselectDate :component.find('select_date').get('v.value'), - sobjectName:'Account', //Any object - fields:fieldsList - - - }); - action.setCallback(this, function(response) { + }); + action1.setCallback(this, function(response) { var state = response.getState(); if (state === "SUCCESS") { - - var res = response.getReturnValue(); - var res1 = ''; - console.log("[[[[[["+res); - if(res != 'success'){ - var ress = res.split('='); - console.log(ress); - for (var i=0; i<ress.length; i++) { - res1 += ress[i].substr(7)+'\n'; + var ress = response.getReturnValue(); + if(ress){ + var valur =ress.split('error1'); + if(valur.length<=1){ + var res = JSON.parse(response.getReturnValue()); + var dataArr = new Array(); + var dataMap = new Map(); + res.forEach(item => { + if(item.AWS_Data_Id__c){ + dataArr.push(item.AWS_Data_Id__c); + dataMap.set(item.AWS_Data_Id__c,item.Name_Encrypted__c); + } + }); + debugger + let obj= Object.create(null); + obj['dataIds'] = dataArr; + var payload = JSON.stringify(obj); + this.search_contact_url(component, 'Agency_Contact__c', (result)=>{ + var token = result.token; + var searchUrl = result.searchUrl; + this.search_core(token,searchUrl,payload,(result)=>{ + if(result.status == '0'){ + if(result.object != null&&result.object.length != 0){ + // var resultjson = JSON.stringify(result.object); + // if(resultjson){ + // debugger + // console.warn('001'); + // component.set('v.login',true); + // this.ImportMethod(component,resultjson); + // } + component.set('v.login',true); + this.saveRecordsEditFile(component,dataMap,result.object,helper); + }else{ + this.error('AWS search status ' ); + component.set('v.login',false); + } + }else{ + this.error('AWS search status : ' + result.status); + component.set('v.login',false); + } + },component); + // var resultjson =null; + // this.ImportMethod(component,resultjson); + + }); + // var resultjson =null; + // this.ImportMethod(component,resultjson); + }else{ + this.error(valur[1]+'\n'+"璇蜂慨鏀瑰悗閲嶆柊涓婁紶"); } - // $('.forceToastManager').css('white-space', 'pre-wrap'); - console.log("=="+res1); - this.error(res1+"璇蜂慨鏀瑰悗閲嶆柊涓婁紶"); - component.set('v.login',false); - }else{ - component.set("v.showMain",true); - this.success("瀵煎叆鎴愬姛"); - // alert('saved successfully'); - component.set('v.login',false); - } - - } - else if (state === "INCOMPLETE") { - // do something - component.set('v.login',false); - } - else if (state === "ERROR") { - var errors = response.getError(); - if (errors) { - if (errors[0] && errors[0].message) { - console.log("Error message: " + - errors[0].message); - component.set('v.login',false); - } - } else { - console.log("Unknown error"); - component.set('v.login',false); } } }); - $A.enqueueAction(action); + $A.enqueueAction(action1); + //fy 瀵煎叆 20220424 end + // var action = component.get("c.processData"); + // var selectDate = component.find('select_date').get('v.value'); + // var fieldsList=['Name','Phone','AccountNumber']; //Please write your code dynamic + // var sss=component.get("v.fileContentData"); + // action.setParams({ + // fileData : component.get("v.fileContentData"), + // //selectDateselectDate :component.find('select_date').get('v.value'), + // sobjectName:'Account', //Any object + // fields:fieldsList + // }); + // action.setCallback(this, function(response) { + // var state = response.getState(); + // if (state === "SUCCESS") { + + // var res = response.getReturnValue(); + // var res1 = ''; + // console.log("[[[[[["+res); + // if(res != 'success'){ + // debugger + // var ress = res.split('='); + // console.log(ress); + // for (var i=0; i<ress.length; i++) { + // res1 += ress[i].substr(7)+'\n'; + // } + // // $('.forceToastManager').css('white-space', 'pre-wrap'); + // console.log("=="+res1); + // this.error(res1+"璇蜂慨鏀瑰悗閲嶆柊涓婁紶"); + // component.set('v.login',false); + // }else{ + // component.set("v.showMain",true); + // this.success("瀵煎叆鎴愬姛"); + // // alert('saved successfully'); + // component.set('v.login',false); + // } + + // } + // else if (state === "INCOMPLETE") { + // // do something + // component.set('v.login',false); + // } + // else if (state === "ERROR") { + // var errors = response.getError(); + // if (errors) { + // if (errors[0] && errors[0].message) { + // console.log("Error message: " + + // errors[0].message); + // component.set('v.login',false); + // } + // } else { + // console.log("Unknown error"); + // component.set('v.login',false); + // } + // } + // }); + // $A.enqueueAction(action); - }, + },ImportMethod : function(component,fileStr){ + var actionss = component.get("c.processData"); + var selectDate = component.find('select_date').get('v.value'); + var fieldsList=['Name','Phone','AccountNumber']; //Please write your code dynamic + var sss=component.get("v.fileContentData"); + actionss.setParams({ + // fileData : component.get("v.fileContentData"), + fileData : fileStr, + // selectDateselectDate :component.find('select_date').get('v.value'), + sobjectName:'Account', //Any object + fields:fieldsList + // Agency_ContactListjson:resultjson + }); + actionss.setCallback(this, function(response) { + console.log('002'); + var state = response.getState(); + if (state === "SUCCESS") { + var res = response.getReturnValue(); + var res1 = ''; + console.log("[[[[[["+res); + if(res != 'success'){ + var ress = res.split('='); + console.log(ress); + for (var i=0; i<ress.length; i++) { + res1 += ress[i].substr(7)+'\n'; + } + // $('.forceToastManager').css('white-space', 'pre-wrap'); + console.log("=="+res1); + this.error(res1+"璇蜂慨鏀瑰悗閲嶆柊涓婁紶"); + component.set('v.login',false); + }else{ + component.set("v.showMain",true); + this.success("瀵煎叆鎴愬姛"); + // alert('saved successfully'); + component.set('v.login',false); + } + + } + else if (state === "INCOMPLETE") { + // do something + component.set('v.login',false); + } + else if (state === "ERROR") { + var errors = response.getError(); + if (errors) { + if (errors[0] && errors[0].message) { + console.log("Error message: " + + errors[0].message); + component.set('v.login',false); + } + } else { + console.log("Unknown error"); + component.set('v.login',false); + } + } + }); + $A.enqueueAction(actionss); + },saveRecordsEditFile : function(component,dataMap,searchData,helper){ + var searchDataMap = new Map(); + for (var i = 0; i < searchData.length; i++) { + var sd = searchData[i]; + searchDataMap.set(sd.name.replace(' ',''),sd.dataId); + } + console.log('searchDataMap='+searchDataMap); + var error = ''; + var fileData = component.get("v.fileContentData"); + var files = fileData.split('\n'); + + var fileStr = files[0]; + fileStr += '\n'; + + for (var i = 1; i < files.length-1; i++) { + var filelist = files[i].split(','); + var fileName = filelist[4]; + + if (searchDataMap.get(fileName.replace(' ',''))) { + var nameDataId = searchDataMap.get(fileName.replace(' ','')); + if (dataMap.get(nameDataId)) { + filelist[4] = dataMap.get(nameDataId); + }else { + error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉SF涓嶅瓨鍦�'; + error += '='; + } + }else { + error += 'error1 绗�'+i+'琛屾暟鎹嫓璁夸汉AWS涓嶅瓨鍦�'; + error += '='; + } + fileStr += filelist.toString(); + fileStr += '\n'; + } + + if (error != '') { + this.error(error); + console.log('error='+error); + component.set('v.login',false); + return; + } + + console.log('fileStr='+fileStr); + $A.getCallback(function(){ + debugger + helper.ImportMethod(component,fileStr); + })(); + + }, convertArrayOfObjectsToCSV : function(component,objectRecords){ var csvStringResult, counter, keys, columnDivider, lineDivider,thkeys; if (objectRecords == null || !objectRecords.length) { diff --git a/force-app/main/default/classes/WeeklyReportCmp.cls b/force-app/main/default/classes/WeeklyReportCmp.cls index 9e5871e..104e822 100644 --- a/force-app/main/default/classes/WeeklyReportCmp.cls +++ b/force-app/main/default/classes/WeeklyReportCmp.cls @@ -591,19 +591,85 @@ // return [select id, Name, Agency_User__c from contact where Agency_User__c = true and AccountId in (select AccountId from User where id=:login_user_id)]; return [select id, Name, Agency_User__c from contact]; } - + // fy 瀵煎叆 20220424 start + public class GeDatass { + public String dataId; + public String doctorDivision1; + public String doctorDivision1Encrypt; + public Integer isDelete; + public String name; + public String nameEncrypt; + public String sfRecordId; + public String type; + public String typeEncrypt; + } @AuraEnabled + public static String processDataAWSId(String fileData) { + System.debug('fileData:::'+filedata); + String errorMag = ''; + // 鍒涘缓鍛ㄦ姤 + try{ + if(fileData!=null){ + String[] fileLines = new String[]{}; + fileLines = fileData.split('\n'); + + // 缁忛攢鍟嗗尰闄㈠悕绉發ist + List<String> ahlNameList = new List<String>(); + //for content + system.debug('fileLines.size()==============>'+fileLines.size()); + for (Integer i=1,j=fileLines.size();i<j;i++){ + List<String> inputvalues = new List<String>(); + inputvalues = fileLines[i].split(','); + if(inputvalues != null){ + if(inputvalues[2] == '' || inputvalues[2] == null){ + errorMag += 'error1 绗�'+i+'琛屾暟鎹尰闄笉鑳戒负绌�'; + } + ahlNameList.add(inputvalues[2]); + } + } + // 缁忛攢鍟嗗尰闄㈢殑ocsm鍖婚櫌id鐨刲ist + List<String> ahlOcsmIdList = new List<String>(); + List<Agency_Hospital_Link__c> ahlList = [select id,name,Hospital__c,MaxActivityDate__c from Agency_Hospital_Link__c where name = :ahlNameList and Agency_Campaign_Obj__c = true]; + + for(Agency_Hospital_Link__c ahl : ahlList){ + ahlOcsmIdList.add(ahl.Hospital__c); + } + List<Agency_Contact__c> doctor2list = [select id,Name,Doctor_Division1__c,Type__c,Agency_Hospital__c,AWS_Data_Id__c,Name_Encrypted__c FROM Agency_Contact__c WHERE Hospital_ID18__c= :ahlOcsmIdList order by Name]; + + if(errorMag != ''){ + return errorMag; + } + String doctor2listStr = JSON.serialize(doctor2list); + return doctor2listStr; + } + }catch(Exception e){ + System.debug('exception'+e); + return e.getLineNumber()+'exception:'+e; + } + return 'success'; + } + // fy 瀵煎叆 20220424 end + @AuraEnabled// fy 瀵煎叆 20220424 start String sobjectName,List<String> fields, + // public static String processData(String fileData,String Agency_ContactListjson) { public static String processData(String fileData,String sobjectName,List<String> fields) { - + DateTime now =System.now(); + System.debug('褰撳墠鏃堕棿:::'+now); System.debug('fileData:::'+filedata); System.debug('sobjectName:::'+sobjectName); System.debug('fields:::'+fields); + // System.debug('Agency_ContactListjson::::'+Agency_ContactListjson); String errorMag = ''; // 鍒涘缓鍛ㄦ姤 try{ if(fileData!=null){ + // List<GeDatass> Agency_ContactList = (List<GeDatass>)JSON.deserialize(Agency_ContactListjson,List<GeDatass>.class); + // System.debug('Agency_ContactList::::'+Agency_ContactList); + // Map<String,String> Agency_ContactMap = new Map<String,String>(); + // for(GeDatass agconobj :Agency_ContactList){ + // Agency_ContactMap.put(agconobj.name.replace(' ',''),agconobj.dataId); + // } String[] fileLines = new String[]{}; fileLines = fileData.split('\n'); // 鎷呭綋鍚嶇О鐨刲ist @@ -625,6 +691,7 @@ system.debug('for2022161329'); List<String> inputvalues = new List<String>(); inputvalues = fileLines[i].split(','); + System.debug('inputvalues++'+inputvalues); if(inputvalues != null){ system.debug('if2022161333'); if(inputvalues[0] == '' || inputvalues[0] == null){ @@ -720,7 +787,8 @@ errorMag += '='; } } - if(inputvalues[9] != '\r' && getResultlist(inputvalues[9])){ + // if(inputvalues[9] != '\r' && getResultlist(inputvalues[9])){ + if(inputvalues[9] != '' && getResultlist(inputvalues[9])){ // return 'error3 绗�'+i+'琛屾暟鎹粨鏋滈�夐」鍒楄〃鐨勫��'+inputvalues[9]+'涓嶅瓨鍦�'; errorMag += 'error3 绗�'+i+'琛屾暟鎹粨鏋滈�夐」鍒楄〃鐨勫��'+inputvalues[9]+'涓嶅瓨鍦�'; errorMag += '='; @@ -735,6 +803,7 @@ system.debug('inputvalues[7]=================>'+inputvalues[7]); system.debug('inputvalues[8]=================>'+inputvalues[8]); system.debug('inputvalues[9]=================>'+inputvalues[9]); + // system.debug('inputvalues[10]=================>'+inputvalues[10]); nameList.add(inputvalues[0]); @@ -808,9 +877,14 @@ // for(ProductTypes__c protype : proTypeList){ // protypeMap.put(protype.Name, protype.Id); // } - List<Agency_Contact__c> doctor2list = [select id,Name,Doctor_Division1__c,Type__c,Agency_Hospital__c FROM Agency_Contact__c WHERE Hospital_ID18__c= :ahlOcsmIdList order by Name]; + //fy 20220424 start AWS_Data_Id__c + List<Agency_Contact__c> doctor2list = [select id,Name,Doctor_Division1__c,Type__c,Agency_Hospital__c,AWS_Data_Id__c,Name_Encrypted__c FROM Agency_Contact__c WHERE Hospital_ID18__c= :ahlOcsmIdList order by Name]; for(Agency_Contact__c ac : doctor2list){ - doctor2Map.put(ac.Name.replace(' ',''), ac.Id); + //fy 20220424 start + // doctor2Map.put(ac.AWS_Data_Id__c, ac.Id); + // doctor2Map.put(ac.Name.replace(' ',''), ac.Id); + doctor2Map.put(ac.Name_Encrypted__c, ac.Id); + //fy 20220424 end } @@ -923,9 +997,15 @@ // errorMag += 'error2 绗�'+hang+'琛屾暟鎹瀹�'+lineList[3]+'涓嶅瓨鍦�'; // errorMag += '='; } - - if(doctor2Map.containsKey(lineList[4].replace(' ',''))){ - agencyReport.doctor2__c = doctor2Map.get(lineList[4].replace(' ','')); // 鎷滆浜� + //fy 20220424 start + // if(doctor2Map.containsKey(lineList[4].replace(' ',''))){ + if(doctor2Map.containsKey(lineList[4])){ + // if(Agency_ContactMap.containsKey(lineList[4].replace(' ',''))){ + // if(doctor2Map.containsKey(Agency_ContactMap.get(lineList[4].replace(' ','')))){ + // agencyReport.doctor2__c = doctor2Map.get(lineList[4].replace(' ','')); // 鎷滆浜� + agencyReport.doctor2__c = doctor2Map.get(lineList[4]); // 鎷滆浜� + // agencyReport.doctor2__c = doctor2Map.get(Agency_ContactMap.get(lineList[4].replace(' ',''))); // 鎷滆浜� + // } }else{ if(lineList[4] != '' && lineList[4] != null){ // return 'error2 绗�'+hang+'琛屾暟鎹嫓璁夸汉'+lineList[4]+'涓嶅瓨鍦�'; @@ -989,6 +1069,11 @@ // agencyReport.Product_Category3__c = protypeMap.get(lineList[7]);// 浜у搧鍖哄垎3 // } agencyReport.Result__c = lineList[9]; + if(lineList.size()==11){ + if(lineList[10] != null && lineList[10] != ''){ + agencyReport.SupportNeeds__c = lineList[10]; + } + } String headerStr = createHeader(week,s_agency); if(agency_report_headerMap.containsKey(headerStr)){ agencyReport.Agency_Report_Header__c = agency_report_headerMap.get(headerStr).Id; // 鍛ㄦ姤涓�瑙� @@ -1028,7 +1113,7 @@ return 'success'; }catch(Exception e){ System.debug('exception'+e); - return 'exception'+e; + return e.getLineNumber()+'exception:'+e; } return 'success'; } -- Gitblit v1.9.1