From 9a717144ef086a92a34adfc0763dfa9f6cb4b0ba Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期六, 12 三月 2022 16:54:21 +0800 Subject: [PATCH] Merge PIPL Function code 20220311 --- force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js | 495 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 469 insertions(+), 26 deletions(-) diff --git a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js index 1f84345..52e7b79 100644 --- a/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js +++ b/force-app/main/default/aura/WeeklyReport/WeeklyReportHelper.js @@ -1,7 +1,6 @@ ({ doinit : function(component, event, helper) { this.report_date_list(component, event, helper, 5); - component.set('v.login',true); var action = component.get('c.getalldata'); action.setCallback(this,function(response){ @@ -12,16 +11,21 @@ component.set('v.fieldsmap',res.fieldsMap); component.set('v.allselectlist',res.allselectlist); component.set('v.doclist',res.doclist); - component.find('select_agency_person').set('v.options', this.conv_selected(res.allselectlist.AgencyPerson__c)); + // PIPL update Yin Mingjie 21/02/2022 start + // component.find('select_agency_person').set('v.options', this.conv_selected(res.allselectlist.AgencyPerson__c)); + this.search_contact(component, event, helper,res.allselectlist.AgencyPerson__c); + // PIPL update Yin Mingjie 21/02/2022 end component.find('select_department').set('v.options', this.conv_selected(res.allselectlist.Department_Cateogy__c)); component.find('select_purpose_type').set('v.options', this.conv_selected(res.allselectlist.Purpose_Type__c)); component.find('select_result').set('v.options', this.conv_selected(res.allselectlist.Result__c)); component.find('select_stageName').set('v.options', this.conv_selected(res.allselectlist.StageName__c)); - //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start - component.find('SupportNeeds__c').set('v.options', this.conv_selected(res.allselectlist.SupportNeeds__c)); - //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end + //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start + component.find('SupportNeeds__c').set('v.options', this.conv_selected(res.allselectlist.SupportNeeds__c)); + //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end component.set('v.selected_agency_person', res.allselectlist.AgencyPerson__c[0].label); component.set('v.dialog_type', '鏂板缓'); + component.set('v.awsurl', res.awsurl);// 20220222 PI鏀归�� by Bright + component.set('v.contactawsurl', res.contactawsurl);// 20220222 PI鏀归�� by Bright this.get_reports(component, event, helper, component.find('select_date').get('v.value'), component.find('select_agency_person').get('v.value')); @@ -34,6 +38,76 @@ }); $A.enqueueAction(action); }, + + // PIPL update Yin Mingjie 21/02/2022 start + search_contact : function(component, event, helper, resobj) { + let contactData = Object.create(null); + var dataArr = new Array(); + for (let i = 0; i < resobj.length; i++) { + if (resobj[i].awsid != null && resobj[i].awsid != ''){ + contactData[resobj[i].awsid] = resobj[i]; + dataArr.push(resobj[i].awsid); + } + } + let obj= Object.create(null); + obj['dataIds'] = dataArr; + var payload = JSON.stringify(obj); + this.search_contact_url(component, 'Contact', (result)=>{ + var token = result.token; + var searchUrl = result.searchUrl; + this.search_core(token,searchUrl,payload,(result)=>{ + if(result.status == '0'){ + this.to_contact_list(result,contactData,component); + }else{ + this.error('AWS search status : ' + result.status); + component.set('v.login',false); + } + },component); + + }); + }, + + to_contact_list : function(result,retMap,component) { + var resls = result.object; + var res = []; + var space = {}; + space['label'] = ''; + space['selected'] = true; + space['value'] = ''; + res.push(space); + + for (var i = 0; i < resls.length; i++) { + var t = {}; + t['label'] = resls[i].lastName; + t['selected'] = false; + t['Doctor_Division1__c'] = resls[i].doctorDivision1; + t['value'] = retMap[resls[i].dataId].value; + res.push(t); + } + component.find('select_agency_person').set('v.options',res); + component.set('v.allselectlistAgencyPerson',res); + component.set('v.login',false); + }, + + search_contact_url : function(component, sobject, callback) { + var action = component.get('c.getAwsurl'); + action.setParams({ + "sobj" : sobject, + }); + action.setCallback(this,function(response){ + var state = response.getState(); + if(state == 'SUCCESS'){ + var result = response.getReturnValue(); + if(callback)callback(result); + } + else{ + this.error('AWS url/token error.'); + component.set('v.login',false); + } + }); + $A.enqueueAction(action); + }, + // PIPL update Yin Mingjie 21/02/2022 end select_department : function(component, event, helper) { var dc = component.find("select_department").get("v.value"); @@ -95,6 +169,84 @@ if(state == 'SUCCESS'){ var res = response.getReturnValue(); component.set('v.reports', res.reports); + + // 20220222 PI鏀归�� by Bright--start + let dataIds = []; + let dataIds1 = []; + let mm = {}; + let b = false; + let b1 = false; + for (const rep of res.reports) { + if (rep.doctor2__r && rep.doctor2__r.AWS_Data_Id__c) { + dataIds.push(rep.doctor2__r.AWS_Data_Id__c); + } + + if (rep.Person_In_Charge2__r && rep.Person_In_Charge2__r.AWS_Data_Id__c) { + dataIds1.push(rep.Person_In_Charge2__r.AWS_Data_Id__c); + } + } + let Foo = null; + Foo = function(){ + if(b && b1){ + for (const rep of res.reports) { + if (rep.doctor2__r && rep.doctor2__r.AWS_Data_Id__c && mm.hasOwnProperty(rep.doctor2__r.AWS_Data_Id__c)) { + rep.doctor2__r.awsdata = mm[rep.doctor2__r.AWS_Data_Id__c]; + } + if (rep.Person_In_Charge2__r && rep.Person_In_Charge2__r.AWS_Data_Id__c && mm.hasOwnProperty(rep.Person_In_Charge2__r.AWS_Data_Id__c)) { + rep.Person_In_Charge2__r.awsdata = mm[rep.Person_In_Charge2__r.AWS_Data_Id__c]; + } + } + + $A.getCallback(()=>component.set('v.reports', res.reports))(); + }else{ + console.log('b='+b + ',b1='+b1+',continue'); + setTimeout(Foo,100); + } + } + + if(dataIds.length > 0){ + let awsurl = component.get('v.awsurl'); + helper.search_core(awsurl.token,awsurl.searchUrl,JSON.stringify({ + "dataIds":dataIds + }),(result)=>{ + if(result.status == '0'){ + + for (const m of result.object) { + mm[m.dataId] = m; + } + b = true; + Foo(); + }else{ + this.error('AWS search status : ' + result.status); + } + },component); + }else{ + b = true; + } + + + + if(dataIds1.length > 0){ + let contactawsurl = component.get('v.contactawsurl'); + helper.search_core(contactawsurl.token,contactawsurl.searchUrl,JSON.stringify({ + "dataIds":dataIds1 + }),(result)=>{ + if(result.status == '0'){ + + for (const m of result.object) { + mm[m.dataId] = m; + } + b1 = true; + Foo(); + }else{ + this.error('AWS search status : ' + result.status); + } + },component); + }else{ + b1 = true; + } + // 20220222 PI鏀归�� by Bright--end + component.set('v.report_count', res.reports.length); // 鏇存柊淇濆瓨寰屻伄select_data鐢� @@ -146,7 +298,10 @@ }, get_agency_person_name : function(component, agency_person_value) { - var allselectlist = component.get('v.allselectlist.AgencyPerson__c'); + // PIPL update Yin Mingjie 21/02/2022 start + // var allselectlist = component.get('v.allselectlist.AgencyPerson__c'); + var allselectlist = component.get('v.allselectlistAgencyPerson'); + // PIPL update Yin Mingjie 21/02/2022 end var new_label = ''; for (var i = 0; i < allselectlist.length; i++) { if (agency_person_value == allselectlist[i].value) { @@ -276,9 +431,9 @@ if (reportDate != null) { component.set('v.data.Report_Date__c', reportDate); } - - component.set('v.edit_copy_select_report_id', ""); - } + + component.set('v.edit_copy_select_report_id', ""); + } } } else { // CLOSE @@ -422,6 +577,9 @@ component.set('v.selected_date', select_date); var name = component.get('v.selected_agency_person'); var ret = this.create_report_header(component, name, select_agency, select_date); + // PIPL update Yin Mingjie 21/02/2022 start + this.set_aws_url(component,'Agency_Contact__c') + // PIPL update Yin Mingjie 21/02/2022 end }, copy_button : function(component, event, helper) { @@ -491,6 +649,19 @@ }, save_report : function(component, event, helper) { + + // 20220222 PI鏀归�� by Bright--start + let doctor2Name = ''; + let visitortitle = ''; + for(let op of component.find('select_doctor').get('v.options')){ + if (op.selected) { + doctor2Name = op.label; + visitortitle = op.Doctor_Division1__c; + } + } + // 20220222 PI鏀归�� by Bright--end + + component.find('save_button').set('v.disabled', true); var Report_Date__c = component.get('v.data.Report_Date__c'); @@ -527,7 +698,7 @@ // 娲诲姩鍖哄垎 Purpose_Type__c var Purpose_Type__c = component.find('select_purpose_type').get('v.value'); - //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start + //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start // 鏀彺闇�姹� SupportNeeds__c var SupportNeeds__c = component.find('SupportNeeds__c').get('v.value'); //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end @@ -604,9 +775,9 @@ "Agency_Report_Id" : Agency_Report__c, "Department_Cateogy" : Department_Cateogy__c, "Purpose_Type" : Purpose_Type__c, - //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start - "SupportNeedsc" : SupportNeeds__c, - //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end + //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� start + "SupportNeedsc" : SupportNeeds__c, + //SWAG-CBX68C fy 銆愬鎵樸�慏AMS绯荤粺鍛ㄦ姤妯″潡鍐呭闇�姹傚鍔� end "Agency_Report_Header" : Agency_Report_Header__c, "Agency_Hospital" : Agency_Hospital__c, "Person_In_Charge2" : Person_In_Charge2__c, @@ -716,6 +887,10 @@ // Save&New鏅傘伄銈︺偅銉炽儔銈﹀唴銉囥兗銈夸竴瑕� if (res.length > 0) { + // 20220222 PI鏀归�� by Bright--start + res[0].doctor2NameOrigin = doctor2Name; + res[0].visitorTitleOrigin = visitortitle; + // 20220222 PI鏀归�� by Bright--end reports_now[reports_now_count] = res[0]; reports_now.sort(function(a,b) { @@ -804,10 +979,10 @@ var ret_obj = []; var now = new Date(); for (var i = 0; i < count; i++) { - + var start_day = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() + 1 - (i * 7))); var end_day = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (7 - now.getDay()) - (i * 7)); - + var start_day_show = new Date(now.getFullYear(), now.getMonth(), (now.getDate() - now.getDay() - (i * 7))); var end_day_show = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (6 - now.getDay()) - (i * 7)); var date_text = start_day.getFullYear() + '/' + (start_day.getMonth() + 1) + '/' + start_day.getDate() + '~' + end_day.getFullYear() + '/' + (end_day.getMonth() + 1) + '/' + end_day.getDate(); @@ -1012,7 +1187,130 @@ component.set('v.doctor_title', ''); } }, - + // PIPL update Yin Mingjie 21/02/2022 start + set_aws_url : function(component,sobject) { + var action = component.get('c.getAwsurl'); + action.setParams({ + "sobj" : sobject, + }); + action.setCallback(this,function(response){ + var state = response.getState(); + if(state == 'SUCCESS'){ + var awsmap = this.conv_selected(response.getReturnValue()); + component.set('v.AWStoken',awsmap.token); + component.set('v.AWSinsert',awsmap.newUrl); + component.set('v.AWSsearch',awsmap.searchUrl); + component.set('v.AWStransactionURL',awsmap.transactionURL); + } + else{ + this.error('AWS url/token error.'); + component.set('v.login',false); + } + }); + $A.enqueueAction(action); + }, + + insert_agencycontact : function(component,token,newUrl,payload,agencyHospitalid,helper) { + fetch(newUrl, { + method: 'POST', + body: payload, + headers: { + 'Content-Type': 'application/json', + 'pi-token': token + } + }).then((data) => { + return data.json(); + }).then((result) => { + if(result.status == '0'){ + $A.getCallback(function(){ + helper.to_agencycontact(component,result,agencyHospitalid); + })(); + + }else{ + console.log('AWS status error:' + result) + component.set('v.login',false); + component.find('OppMessage').setError('AWS insert error.'); + } + }).catch(error => { + console.log('AWS insert error:' + error) + component.set('v.login',false); + component.find('OppMessage').setError('AWS insert error.'); + }); + + }, + + to_agencycontact : function(component,result,agencyHospitalid) { + var action = component.get('c.saveAgencyContact'); + action.setParams({ + "name" : result.object[0].name, + "nameEncrypt" : result.object[0].nameEncrypt, + "type" : result.object[0].type, + "typeEncrypt" : result.object[0].typeEncrypt, + "doctorDivision1" : result.object[0].doctorDivision1, + "doctorDivision1Encrypt" : result.object[0].doctorDivision1Encrypt, + "agencyHospitalid" : agencyHospitalid, + "awsid" : result.object[0].dataId, + }); + action.setCallback(this,function(response){ + var state = response.getState(); + if(state == 'SUCCESS'){ + var acMap = this.conv_selected(response.getReturnValue()); + console.log(acMap); + if(acMap.AgencyContactId != ''){ + //纭浜嬪姟 + var token = component.get('v.AWStoken'); + var confirmUrl = component.get('v.AWStransactionURL'); + + let data = Object.create(null); + data['isSuccess'] = 1; + data['sfRecordId'] = ''; + data['txId'] = result.txId; + + this.to_confirm(component,token,confirmUrl,JSON.stringify(data)); + }else if(acMap.errormsg != ''){ + this.error(acMap.errormsg); + component.set('v.login',false); + }else { + this.error('agency contact insert id error.'); + component.set('v.login',false); + } + } + else{ + this.error('agency contact insert error.'); + component.set('v.login',false); + } + }); + $A.enqueueAction(action); + }, + + to_confirm : function(component,token,confirmUrl,payload) { + fetch(confirmUrl, { + method: 'POST', + body: payload, + headers: { + 'Content-Type': 'application/json', + 'pi-token': token + } + }).then((data) => { + return data.json(); + }).then((result) => { + if(result.status == '0' && result.hasOwnProperty('success') && result.success){ + component.set('v.truthy', false); + var modal_newAC = component.find('modal_newAC') + $A.util.addClass(modal_newAC, 'disp_none'); + this.success('.瀹㈡埛浜哄憳宸插垱寤恒��'); + this.set_doctor_list(component); + }else { + this.error('AWS confirm error.'); + component.set('v.login',false); + } + }).catch(error => { + this.error('AWS confirm error.'); + component.set('v.login',false); + }); + }, + // PIPL update Yin Mingjie 21/02/2022 end + set_doctor_list : function(component) { var hospital_id = component.get('v.hospitalLinkId'); if (hospital_id) { @@ -1024,8 +1322,10 @@ action.setCallback(this,function(response){ var state = response.getState(); if(state == 'SUCCESS'){ - var res = this.conv_selected(response.getReturnValue()); - + var retMap = this.conv_selected(response.getReturnValue()); + // PIPL update Yin Mingjie 21/02/2022 start + this.AWS_search(retMap,component); + /* var default_doctor = component.get('v.default_select_doctor_id'); if (default_doctor != '' && res.length > 0) { var doctor_title = ''; @@ -1050,6 +1350,8 @@ component.set('v.default_select_doctor_id', ''); component.set('v.doctor_list', res); component.set('v.login',false); + */ + // PIPL update Yin Mingjie 21/02/2022 end } else{ this.error('set_doctor_list failed.'); @@ -1059,6 +1361,111 @@ $A.enqueueAction(action); } }, + + // PIPL update Yin Mingjie 21/02/2022 start + AWS_search : function(retMap,component) { + var token = retMap.sre.token; + var searchUrl = retMap.sre.searchUrl; + + var dataArr = new Array(); + for (const key in retMap) { + if (key == 'sre') {continue;} + dataArr.push(key); + } + let obj= Object.create(null); + obj['dataIds'] = dataArr; + var data = JSON.stringify(obj); + this.search_agency_contact(token,searchUrl,data,retMap,component); + }, + + search_agency_contact : function(token,searchUrl,payload,retMap,component) { + this.search_core(token,searchUrl,payload,(result)=>{ + if(result.status == '0'){ + this.to_doctor_list(result,retMap,component); + }else{ + this.error('AWS search status : ' + result.status); + component.set('v.login',false); + } + },component); + // fetch(searchUrl, { + // method: 'POST', + // body: payload, + // headers: { + // 'Content-Type': 'application/json', + // 'pi-token': token + // } + // }).then((data) => { + // return data.json(); + // }).then((result) => { + + // }).catch(error => { + // this.error('AWS search error.'); + // component.set('v.login',false); + // }); + }, + search_core : function(token,searchUrl,payload,callback,component) { + fetch(searchUrl, { + method: 'POST', + body: payload, + headers: { + 'Content-Type': 'application/json', + 'pi-token': token + } + }).then((data) => { + return data.json(); + }).then((result) => { + component.set('v.login',false); + if(callback)callback(result); + }).catch(error => { + this.error('AWS search error.'); + component.set('v.login',false); + }); + }, + + to_doctor_list : function(result,retMap,component) { + var resls = result.object; + var res = []; + var space = {}; + space['label'] = ''; + space['selected'] = true; + space['value'] = ''; + res.push(space); + + for (var i = 0; i < resls.length; i++) { + var t = {}; + t['label'] = resls[i].name; + t['selected'] = false; + t['Doctor_Division1__c'] = resls[i].doctorDivision1; + t['value'] = retMap[resls[i].dataId].value; + res.push(t); + } + + var default_doctor = component.get('v.default_select_doctor_id'); + if (default_doctor != '' && res.length > 0) { + var doctor_title = ''; + for (var i = 0; i < res.length; i++) { + if (res[i].value == default_doctor) { + res[i].selected = true; + doctor_title = res[i].Doctor_Division1__c; + } else { + res[i].selected = false; + } + } + + component.find('select_doctor').set('v.options', res); + component.set('v.doctor_title', doctor_title); + } else { + component.find('select_doctor').set('v.options', res); + if (res.length > 0) { + component.set('v.doctor_title', res[0].Doctor_Division1__c); + } + } + + component.set('v.default_select_doctor_id', ''); + component.set('v.doctor_list', res); + component.set('v.login',false); + }, + // PIPL update Yin Mingjie 21/02/2022 end // stageNameChange : function(component, event, helper) { // var options = component.find('input-oppstage').get("v.body")[0].get('v.options'); @@ -1332,8 +1739,8 @@ this.set_doctor_list(component); }, - createCancel : function(component, event, helper) { - component.set('v.truthy', false); + createCancel : function(component, event, helper) { + component.set('v.truthy', false); var modal_newAC = component.find('modal_newAC') $A.util.addClass(modal_newAC, 'disp_none'); }, @@ -1448,13 +1855,13 @@ var selectDate = component.find('select_date').get('v.value'); var fieldsList=['Name','Phone','AccountNumber']; //Please write your code dynamic fields action.setParams({ - fileData : component.get("v.fileContentData"), - //selectDateselectDate :component.find('select_date').get('v.value'), - sobjectName:'Account', //Any object - fields:fieldsList - + 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") { @@ -1656,4 +2063,40 @@ $A.util.addClass(modalimport, 'disp_none'); $A.util.addClass(modalimportbg,'disp_none'); } + + // searchAgencyContact : function(res) { + // var agencyContacts = []; + // for (let idx = 0; idx < res.length; idx++) { + // agencyContacts.push(res[idx].awsid); + // } + // var action = component.get('c.getAWStoken'); + // action.setCallback(this,function(response){ + // var state = response.getState(); + // console.log('state : ' + state); + // if(state === 'SUCCESS') { + // console.log('get name : ' + action.getName()); + // } + // else if(state === 'INCOMPLETE') { + // console.log('incomplete state'); + // } else if(state === 'ERROR') { + // if (errors) { + // if (errors[0] && errors[0].message) { + // console.log("Error message: " + + // errors[0].message); + // } + // } else { + // console.log("Unknown error"); + // } + // } + // }); + // $A.enqueueAction(action); + // // var requestSearchPayload = new Map(); + // // requestSearchPayload.set("dataIds",agencyContacts); + // var data = '{"dataIds": ["944233643042144256", "943645353649897473"]}'; + // var token = 'eyJhbGciOiJIUzUxMiJ9.eyJjcmVhdGVkIjoxNjQ0NzY4MTIwNjc2LCJhcHBpZCI6IjZMeml6Y1JmN2g4eUx4MjgiLCJleHAiOjE2NDk5NTIxMjB9.6vORDP8BRaf_beCt4SEXrl3DEuYZ3owotkUqh27r8YhfmKDDWrv_NpVVpjTPeFjvzlQqaJMcFobZeAmPxpmq2A'; + // var searchUrl = 'https://52.83.101.205/api/agencycontact/search'; + // var data = this.search(searchUrl,data,token); + // return data;searchUrl,requestSearchPayload,token + // }, + }) \ No newline at end of file -- Gitblit v1.9.1