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