| @@ -45,6 +45,7 @@ export class PartnerDetailsComponent implements OnInit { | |||
| ngOnInit(): void { | |||
| this.activateRouter.queryParams.subscribe((data: any) => { | |||
| this.partnerDetails = JSON.parse(data.data); | |||
| console.log(this.partnerDetails) | |||
| }).unsubscribe(); | |||
| } | |||
| @@ -75,9 +76,181 @@ export class PartnerDetailsComponent implements OnInit { | |||
| return; | |||
| } | |||
| this.formatCsvXlsvService.exportCsvXlsv([this.partnerDetails], exportType, this.isProfileData, this.isImplementationData) | |||
| .then((response: any) => { | |||
| console.log(response) | |||
| }, (e)=> console.log(e)) | |||
| let exportData: Array<any> = []; | |||
| let exportHiiData: Array<any> = []; | |||
| let exportSpData: Array<any> = []; | |||
| let exportSPSchemaData: Array<any> = []; | |||
| let surveyCtoData: Array<any> = []; | |||
| let areaOfWork: any = []; | |||
| let branchLocationCountries: any = []; | |||
| let communities: any = []; | |||
| let preferredLanguages: any = []; | |||
| let primaryAreasOfSupportOffered: any = []; | |||
| let primaryAreasOfSupportRequired: any = []; | |||
| let states: any = []; | |||
| let districts: any = []; | |||
| let preferredModeOfCommunications: any = []; | |||
| this.partnerDetails.strengthAndCapability.primaryAreasOfSupportOffered.forEach(x => { primaryAreasOfSupportOffered.push(x.name) }) | |||
| this.partnerDetails.strengthAndCapability.primaryAreasOfSupportRequired.forEach(x => { primaryAreasOfSupportRequired.push(x.name) }) | |||
| this.partnerDetails.detailedProfile.preferredLanguages.forEach(x => { preferredLanguages.push(x.name) }) | |||
| this.partnerDetails.detailedProfile.communities.forEach(x => { communities.push(x.name) }) | |||
| this.partnerDetails.detailedProfile.branchLocationCountries.forEach(x => { branchLocationCountries.push(x.name) }) | |||
| this.partnerDetails.organizationBasicInfo.areasOfWork.forEach(x => { areaOfWork.push(x.name) }) | |||
| this.partnerDetails.detailedProfile.states.forEach(x => { states.push(x.name) }) | |||
| this.partnerDetails.detailedProfile.districts.forEach(x => { districts.push(x.name) }) | |||
| this.partnerDetails.detailedProfile.preferredModeOfCommunications.forEach(x => { preferredModeOfCommunications.push(x.name) }) | |||
| let partnerDetails = { | |||
| "PortalID": this.partnerDetails.portalId ? this.partnerDetails.portalId : '-', | |||
| // Primary Contact | |||
| "Primary Name": this.partnerDetails.primaryContact.name, | |||
| "Primary Contact Number": this.partnerDetails.primaryContact.contactNumber, | |||
| "Primary Email": this.partnerDetails.primaryContact.email, | |||
| "Primary Designation": this.partnerDetails.primaryContact.designation, | |||
| // Basic Info | |||
| "Areas Of Work": areaOfWork.toString(), | |||
| "Name": this.partnerDetails.organizationBasicInfo.name, | |||
| "Reason For Becoming Member": this.partnerDetails.organizationBasicInfo.reasonForBecomingMember, | |||
| "Referral Name": this.partnerDetails.organizationBasicInfo.referralName, | |||
| "Source": this.partnerDetails.organizationBasicInfo.source, | |||
| "Type": this.partnerDetails.organizationBasicInfo.type, | |||
| "Website": this.partnerDetails.organizationBasicInfo.website, | |||
| "Would Like Updates": this.partnerDetails.organizationBasicInfo.wouldLikeUpdates, | |||
| // Alternative Contact | |||
| 'Alternative Name': this.partnerDetails.alternateContact.name, | |||
| 'Alternative ContactNumber': this.partnerDetails.alternateContact.contactNumber, | |||
| 'Alternative Email': this.partnerDetails.alternateContact.email, | |||
| 'Alternative Designation': this.partnerDetails.alternateContact.designation, | |||
| // Detailed Profile | |||
| 'Bio': this.partnerDetails.detailedProfile.bio, | |||
| 'Branch Location Countries': branchLocationCountries.toString(), | |||
| "Communities": communities.toString(), | |||
| "District": this.partnerDetails.detailedProfile.district, | |||
| "Districts": this.partnerDetails.detailedProfile.districts ? districts.toString() : '', | |||
| "Files": this.partnerDetails.detailedProfile.files, | |||
| "Have Branches In Other Districts": this.partnerDetails.detailedProfile.haveBranchesInOtherDistricts, | |||
| "Logo": this.partnerDetails.detailedProfile.logo, | |||
| "partner Location": this.partnerDetails.detailedProfile.partnerLocation, | |||
| "Preferred Languages": preferredLanguages.toString(), | |||
| "Preferred Mode Of Communications": this.partnerDetails.detailedProfile.preferredModeOfCommunications ? preferredModeOfCommunications.toString() : '', | |||
| "State": this.partnerDetails.detailedProfile.state, | |||
| "States": this.partnerDetails.detailedProfile.states ? states.toString() : '', | |||
| "Total Reach Of Organization": this.partnerDetails.detailedProfile.totalReachOfOrganization, | |||
| "Year Of Establishment": this.partnerDetails.detailedProfile.yearOfEstablishment, | |||
| // Strength | |||
| "Other Specific Support Required": this.partnerDetails.strengthAndCapability.otherSpecificSupportRequired, | |||
| "Primary Areas Of Support Offered": this.partnerDetails.strengthAndCapability.otherSpecificSupportRequired ? this.partnerDetails.strengthAndCapability.otherSpecificSupportRequired.toString() : '', | |||
| "Primary Areas Of Support Offered Description": primaryAreasOfSupportOffered.toString(), | |||
| "Primary Areas Of Support Offered Other": this.partnerDetails.strengthAndCapability.primaryAreasOfSupportOfferedDescription, | |||
| "Primary Areas Of Support Required": this.partnerDetails.strengthAndCapability.primaryAreasOfSupportOfferedOther ? this.partnerDetails.strengthAndCapability.primaryAreasOfSupportOfferedOther.toString() : '', | |||
| "Primary Areas Of Support Required Description": primaryAreasOfSupportRequired.toString(), | |||
| "Primary Areas Of Support Required Other": this.partnerDetails.strengthAndCapability.primaryAreasOfSupportRequiredOther, | |||
| } | |||
| exportData.push(partnerDetails); | |||
| let surveyCtoHIIData = []; | |||
| for (const hiidata of this.partnerDetails.surveyCtoData.hiiData) { | |||
| let partnerHiiDetails = { | |||
| "PortalID": this.partnerDetails.portalId, | |||
| "HII Id": hiidata.id, | |||
| "HII Name": hiidata.name, | |||
| "HII Packages Health": hiidata.packagesHealth, | |||
| "HII Implementation Status": hiidata.implementationStatus, | |||
| "HII Disaggregation Note": hiidata.disaggregationNote, | |||
| "HII No Of Males": hiidata.id, | |||
| "HII No Of Females": hiidata.noOfMales, | |||
| "HII No Of Transgender": hiidata.noOfTransgender, | |||
| "HII Health Remarks": hiidata.healthRemarks, | |||
| "HII Relevant Documents": hiidata.relevantDocuments, | |||
| } | |||
| surveyCtoHIIData.push(partnerHiiDetails) | |||
| } | |||
| surveyCtoHIIData.forEach(data => { | |||
| exportHiiData.push(data) | |||
| }) | |||
| let surveyCtoSpData = [] | |||
| for (const spData of this.partnerDetails.surveyCtoData.spData) { | |||
| let partnerSpDetails = { | |||
| "PortalID": this.partnerDetails.portalId, | |||
| "SP Id": spData.id, | |||
| "SP Name": spData.name, | |||
| "SP Status": spData.status, | |||
| 'SP Reason Name': spData.reasonName, | |||
| "SP Female Number": spData.femaleNo ? spData.femaleNo : '', | |||
| "SP Male Number": spData.maleNo ? spData.maleNo : '', | |||
| "Tg Number": spData.tgNo ? spData.tgNo : '', | |||
| "SP TotalAggregation": spData.totalAggregation, | |||
| "SP OtherRemarks": spData.otherRemarks, | |||
| "SP RelevantDocuments": spData.relevantDocuments, | |||
| } | |||
| surveyCtoSpData.push(partnerSpDetails) | |||
| } | |||
| surveyCtoSpData.forEach(data => { | |||
| exportSpData.push(data) | |||
| }) | |||
| let surveyCtoSpSchemaData = [] | |||
| for (const spSchema of this.partnerDetails.surveyCtoData.spSchemeData) { | |||
| let partnerSpSchemaDetails = { | |||
| "PortalID": this.partnerDetails.portalId, | |||
| "SPSchema SchemeId": spSchema.schemeId, | |||
| "SPSchema Count": spSchema.count, | |||
| } | |||
| surveyCtoSpSchemaData.push(partnerSpSchemaDetails) | |||
| } | |||
| surveyCtoSpSchemaData.forEach(data => { | |||
| exportSPSchemaData.push(data) | |||
| }) | |||
| surveyCtoData.push(exportHiiData); | |||
| surveyCtoData.push(exportSpData); | |||
| surveyCtoData.push(exportSPSchemaData); | |||
| if (exportType === 'CSV') { | |||
| if (this.isProfileData) { | |||
| this.formatCsvXlsvService.exportCSV(exportData, 'Partner Profile'); | |||
| } | |||
| else if (this.isImplementationData) { | |||
| this.formatCsvXlsvService.exportCSV(exportHiiData, 'HII Data'); | |||
| this.formatCsvXlsvService.exportCSV(exportSpData, 'SP DATA'); | |||
| this.formatCsvXlsvService.exportCSV(exportSPSchemaData, 'SP Schema Data'); | |||
| } | |||
| else { | |||
| this.formatCsvXlsvService.exportCSV(exportData, 'Partner Profile'); | |||
| this.formatCsvXlsvService.exportCSV(exportHiiData, 'HII Data'); | |||
| this.formatCsvXlsvService.exportCSV(exportSpData, 'SP DATA'); | |||
| this.formatCsvXlsvService.exportCSV(exportSPSchemaData, 'SP Schema Data'); | |||
| } | |||
| } | |||
| else { | |||
| if (this.isProfileData) { | |||
| this.formatCsvXlsvService.exportXLSV([exportData], ['Partner Profile']) | |||
| } else if (this.isImplementationData){ | |||
| this.formatCsvXlsvService.exportXLSV([exportHiiData, exportSpData, exportSPSchemaData], ['HII Data', 'SP Data', 'SP Schema Data']) | |||
| } else this.formatCsvXlsvService.exportXLSV([exportData, exportHiiData, exportSpData, exportSPSchemaData], ['Partner Profile','HII Data', 'SP Data', 'SP Schema Data']) | |||
| } | |||
| } | |||
| } | |||
| @@ -229,4 +229,4 @@ | |||
| box-shadow: 0 5px 5px -3px #0003, 0 8px 10px 1px #00000024, 0 3px 14px 2px #0000001f; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| @@ -177,11 +177,150 @@ export class TableComponent implements OnInit { | |||
| } | |||
| exportProfileData(exportType: exportType) { | |||
| this.formatCsvXlsvService.exportCsvXlsv(this.selectedPartnerList, exportType, this.isProfileData, this.isImplementationData) | |||
| .then((response: any) => { | |||
| console.log(response) | |||
| },(e)=> console.log(e) | |||
| ) | |||
| let exporPatnertData: Array<any> = []; | |||
| let surveyCtoHIIData: any = {}; | |||
| let surveyCtoSpData: any = {}; | |||
| let surveyCtoSpSchemaData: any = {}; | |||
| for (const partner of this.selectedPartnerList) { | |||
| let areaOfWork: any = []; | |||
| let branchLocationCountries: any = []; | |||
| let communities: any = []; | |||
| let preferredLanguages: any = []; | |||
| let primaryAreasOfSupportOffered: any = []; | |||
| let primaryAreasOfSupportRequired: any = []; | |||
| let states: any = []; | |||
| let districts: any = []; | |||
| let preferredModeOfCommunications: any = []; | |||
| partner.strengthAndCapability.primaryAreasOfSupportOffered.forEach(x => { primaryAreasOfSupportOffered.push(x.name) }) | |||
| partner.strengthAndCapability.primaryAreasOfSupportRequired.forEach(x => { primaryAreasOfSupportRequired.push(x.name) }) | |||
| partner.detailedProfile.preferredLanguages.forEach(x => { preferredLanguages.push(x.name) }) | |||
| partner.detailedProfile.communities.forEach(x => { communities.push(x.name) }) | |||
| partner.detailedProfile.branchLocationCountries.forEach(x => { branchLocationCountries.push(x.name) }) | |||
| partner.organizationBasicInfo.areasOfWork.forEach(x => { areaOfWork.push(x.name) }) | |||
| partner.detailedProfile.states.forEach(x => { states.push(x.name) }) | |||
| partner.detailedProfile.districts.forEach(x => { districts.push(x.name) }) | |||
| partner.detailedProfile.preferredModeOfCommunications.forEach(x => { preferredModeOfCommunications.push(x.name) }) | |||
| let partnerDetails = { | |||
| "PortalID": partner.portalId ? partner.portalId : '-', | |||
| // Primary Contact | |||
| "Primary Name": partner.primaryContact.name, | |||
| "Primary Contact Number": partner.primaryContact.contactNumber, | |||
| "Primary Email": partner.primaryContact.email, | |||
| "Primary Designation": partner.primaryContact.designation, | |||
| // Basic Info | |||
| "Areas Of Work": areaOfWork.toString(), | |||
| "Name": partner.organizationBasicInfo.name, | |||
| "Reason For Becoming Member": partner.organizationBasicInfo.reasonForBecomingMember, | |||
| "Referral Name": partner.organizationBasicInfo.referralName, | |||
| "Source": partner.organizationBasicInfo.source, | |||
| "Type": partner.organizationBasicInfo.type, | |||
| "Website": partner.organizationBasicInfo.website, | |||
| "Would Like Updates": partner.organizationBasicInfo.wouldLikeUpdates, | |||
| // Alternative Contact | |||
| 'Alternative Name': partner.alternateContact.name, | |||
| 'Alternative ContactNumber': partner.alternateContact.contactNumber, | |||
| 'Alternative Email': partner.alternateContact.email, | |||
| 'Alternative Designation': partner.alternateContact.designation, | |||
| // Detailed Profile | |||
| 'Bio': partner.detailedProfile.bio, | |||
| 'Branch Location Countries': branchLocationCountries.toString(), | |||
| "Communities": communities.toString(), | |||
| "District": partner.detailedProfile.district, | |||
| "Districts": partner.detailedProfile.districts ? districts.toString() : '', | |||
| "Files": partner.detailedProfile.files, | |||
| "Have Branches In Other Districts": partner.detailedProfile.haveBranchesInOtherDistricts, | |||
| "Logo": partner.detailedProfile.logo, | |||
| "partner Location": partner.detailedProfile.partnerLocation, | |||
| "Preferred Languages": preferredLanguages.toString(), | |||
| "Preferred Mode Of Communications": partner.detailedProfile.preferredModeOfCommunications ? preferredModeOfCommunications.toString() : '', | |||
| "State": partner.detailedProfile.state, | |||
| "States": partner.detailedProfile.states ? states.toString() : '', | |||
| "Total Reach Of Organization": partner.detailedProfile.totalReachOfOrganization, | |||
| "Year Of Establishment": partner.detailedProfile.yearOfEstablishment, | |||
| // Strength | |||
| "Other Specific Support Required": partner.strengthAndCapability.otherSpecificSupportRequired, | |||
| "Primary Areas Of Support Offered": partner.strengthAndCapability.otherSpecificSupportRequired ? partner.strengthAndCapability.otherSpecificSupportRequired.toString() : '', | |||
| "Primary Areas Of Support Offered Description": primaryAreasOfSupportOffered.toString(), | |||
| "Primary Areas Of Support Offered Other": partner.strengthAndCapability.primaryAreasOfSupportOfferedDescription, | |||
| "Primary Areas Of Support Required": partner.strengthAndCapability.primaryAreasOfSupportOfferedOther ? partner.strengthAndCapability.primaryAreasOfSupportOfferedOther.toString() : '', | |||
| "Primary Areas Of Support Required Description": primaryAreasOfSupportRequired.toString(), | |||
| "Primary Areas Of Support Required Other": partner.strengthAndCapability.primaryAreasOfSupportRequiredOther, | |||
| } | |||
| exporPatnertData.push(partnerDetails); | |||
| for (const data of partner.surveyCtoData.hiiData) { | |||
| surveyCtoHIIData[data.name + ' ' + "HII Id"] = data.id; | |||
| surveyCtoHIIData[data.name + ' ' + "HII Packages Health"] = data.packagesHealth; | |||
| surveyCtoHIIData[data.name + ' ' + "HII Implementation Status"] = data.implementationStatus; | |||
| surveyCtoHIIData[data.name + ' ' + "HII Disaggregation Note"] = data.disaggregationNote; | |||
| surveyCtoHIIData[data.name + ' ' + "HII No Of Males"] = data.id; | |||
| surveyCtoHIIData[data.name + ' ' + "HII No Of Females"] = data.noOfMales; | |||
| surveyCtoHIIData[data.name + ' ' + "HII No Of Transgender"] = data.noOfTransgender; | |||
| surveyCtoHIIData[data.name + ' ' + "HII Health Remarks"] = data.healthRemarks; | |||
| surveyCtoHIIData[data.name + ' ' + "HII Relevant Documents"] = data.relevantDocuments; | |||
| } | |||
| for (const data of partner.surveyCtoData.spData) { | |||
| surveyCtoSpData[data.name + ' ' + "PortalID"] = partner.portalId; | |||
| surveyCtoSpData[data.name + ' ' + "SP Id"] = data.id; | |||
| surveyCtoSpData[data.name + ' ' + "SP Name"] = data.name; | |||
| surveyCtoSpData[data.name + ' ' + "SP Status"] = data.status; | |||
| surveyCtoSpData[data.name + ' ' + 'SP Reason Name'] = data.reasonName; | |||
| surveyCtoSpData[data.name + ' ' + "SP Female Number"] = data.femaleNo ? data.femaleNo : ''; | |||
| surveyCtoSpData[data.name + ' ' + "SP Male Number"] = data.maleNo ? data.maleNo : ''; | |||
| surveyCtoSpData[data.name + ' ' + "Tg Number"] = data.tgNo ? data.tgNo : ''; | |||
| surveyCtoSpData[data.name + ' ' + "SP TotalAggregation"] = data.totalAggregation; | |||
| surveyCtoSpData[data.name + ' ' + "SP OtherRemarks"] = data.otherRemarks; | |||
| surveyCtoSpData[data.name + ' ' + "SP RelevantDocuments"] = data.relevantDocuments; | |||
| } | |||
| for (const data of partner.surveyCtoData.spSchemeData) { | |||
| surveyCtoSpSchemaData[data.schemeId + ' ' + "PortalID"] = partner.portalId; | |||
| surveyCtoSpSchemaData[data.schemeId + ' ' + "SPSchema SchemeId"] = data.schemeId; | |||
| surveyCtoSpSchemaData[data.schemeId + ' ' + "SPSchema Count"] = data.count; | |||
| } | |||
| } | |||
| if (exportType === 'CSV') { | |||
| if (this.isProfileData) { | |||
| this.formatCsvXlsvService.exportCSV(exporPatnertData, 'Partner Profile'); | |||
| } | |||
| else if (this.isImplementationData) { | |||
| this.formatCsvXlsvService.exportCSV([surveyCtoHIIData], 'HII Data'); | |||
| this.formatCsvXlsvService.exportCSV([surveyCtoSpData], 'SP DATA'); | |||
| this.formatCsvXlsvService.exportCSV([surveyCtoSpData], 'SP Schema Data'); | |||
| } | |||
| else { | |||
| this.formatCsvXlsvService.exportCSV(exporPatnertData, 'Partner Profile'); | |||
| this.formatCsvXlsvService.exportCSV([surveyCtoHIIData], 'HII Data'); | |||
| this.formatCsvXlsvService.exportCSV([surveyCtoSpData], 'SP DATA'); | |||
| this.formatCsvXlsvService.exportCSV([surveyCtoSpData], 'SP Schema Data'); | |||
| } | |||
| } | |||
| else { | |||
| if (this.isProfileData) { | |||
| this.formatCsvXlsvService.exportXLSV([exporPatnertData], ['Partner Profile']) | |||
| } else if (this.isImplementationData){ | |||
| this.formatCsvXlsvService.exportXLSV([[surveyCtoHIIData], [surveyCtoSpData], [surveyCtoSpSchemaData]], ['HII Data', 'SP Data', 'SP Schema Data']) | |||
| } else this.formatCsvXlsvService.exportXLSV([exporPatnertData, [surveyCtoHIIData], [surveyCtoSpData], [surveyCtoSpSchemaData]], ['Partner Profile','HII Data', 'SP Data', 'SP Schema Data']) | |||
| } | |||
| } | |||
| } | |||
| @@ -1,238 +1,35 @@ | |||
| import { Injectable } from '@angular/core'; | |||
| import { UserData } from 'src/shared/structure/user'; | |||
| import * as XLSX from 'xlsx'; | |||
| import * as Papa from 'papaparse'; | |||
| type ExportType = "CSV" | "XLSX"; | |||
| @Injectable({ | |||
| providedIn: 'root' | |||
| }) | |||
| export class FormatCsvXlsvService { | |||
| constructor() { } | |||
| async exportCsvXlsv(partnerData: Array<UserData>, exportType: ExportType, isProfileData: boolean, isImplementationData: boolean) { | |||
| let exportData: Array<any> = []; | |||
| let exportHiiData: Array<any> = []; | |||
| let exportSpData: Array<any> = []; | |||
| let exportSPSchemaData: Array<any> = []; | |||
| let surveyCtoData: Array<any> = []; | |||
| for (const partner of partnerData) { | |||
| let areaOfWork: any = []; | |||
| let branchLocationCountries: any = []; | |||
| let communities: any = []; | |||
| let preferredLanguages: any = []; | |||
| let primaryAreasOfSupportOffered: any = []; | |||
| let primaryAreasOfSupportRequired: any = []; | |||
| let states: any = []; | |||
| let districts: any = []; | |||
| let preferredModeOfCommunications: any = []; | |||
| partner.strengthAndCapability.primaryAreasOfSupportOffered.forEach(x => { primaryAreasOfSupportOffered.push(x.name) }) | |||
| partner.strengthAndCapability.primaryAreasOfSupportRequired.forEach(x => { primaryAreasOfSupportRequired.push(x.name) }) | |||
| partner.detailedProfile.preferredLanguages.forEach(x => { preferredLanguages.push(x.name) }) | |||
| partner.detailedProfile.communities.forEach(x => { communities.push(x.name) }) | |||
| partner.detailedProfile.branchLocationCountries.forEach(x => { branchLocationCountries.push(x.name) }) | |||
| partner.organizationBasicInfo.areasOfWork.forEach(x => { areaOfWork.push(x.name) }) | |||
| partner.detailedProfile.states.forEach(x => { states.push(x.name) }) | |||
| partner.detailedProfile.districts.forEach(x => { districts.push(x.name) }) | |||
| partner.detailedProfile.preferredModeOfCommunications.forEach(x => { preferredModeOfCommunications.push(x.name) }) | |||
| let partnerDetails = { | |||
| "PortalID": partner.portalId ? partner.portalId : '-', | |||
| // Primary Contact | |||
| "Primary Name": partner.primaryContact.name, | |||
| "Primary Contact Number": partner.primaryContact.contactNumber, | |||
| "Primary Email": partner.primaryContact.email, | |||
| "Primary Designation": partner.primaryContact.designation, | |||
| // Basic Info | |||
| "Areas Of Work": areaOfWork.toString(), | |||
| "Name": partner.organizationBasicInfo.name, | |||
| "Reason For Becoming Member": partner.organizationBasicInfo.reasonForBecomingMember, | |||
| "Referral Name": partner.organizationBasicInfo.referralName, | |||
| "Source": partner.organizationBasicInfo.source, | |||
| "Type": partner.organizationBasicInfo.type, | |||
| "Website": partner.organizationBasicInfo.website, | |||
| "Would Like Updates": partner.organizationBasicInfo.wouldLikeUpdates, | |||
| // Alternative Contact | |||
| 'Alternative Name': partner.alternateContact.name, | |||
| 'Alternative ContactNumber': partner.alternateContact.contactNumber, | |||
| 'Alternative Email': partner.alternateContact.email, | |||
| 'Alternative Designation': partner.alternateContact.designation, | |||
| // Detailed Profile | |||
| 'Bio': partner.detailedProfile.bio, | |||
| 'Branch Location Countries': branchLocationCountries.toString(), | |||
| "Communities": communities.toString(), | |||
| "District": partner.detailedProfile.district, | |||
| "Districts": partner.detailedProfile.districts ? districts.toString() : '', | |||
| "Files": partner.detailedProfile.files, | |||
| "Have Branches In Other Districts": partner.detailedProfile.haveBranchesInOtherDistricts, | |||
| "Logo": partner.detailedProfile.logo, | |||
| "partner Location": partner.detailedProfile.partnerLocation, | |||
| "Preferred Languages": preferredLanguages.toString(), | |||
| "Preferred Mode Of Communications": partner.detailedProfile.preferredModeOfCommunications ? preferredModeOfCommunications.toString() : '', | |||
| "State": partner.detailedProfile.state, | |||
| "States": partner.detailedProfile.states ? states.toString() : '', | |||
| "Total Reach Of Organization": partner.detailedProfile.totalReachOfOrganization, | |||
| "Year Of Establishment": partner.detailedProfile.yearOfEstablishment, | |||
| // Strength | |||
| "Other Specific Support Required": partner.strengthAndCapability.otherSpecificSupportRequired, | |||
| "Primary Areas Of Support Offered": partner.strengthAndCapability.otherSpecificSupportRequired ? partner.strengthAndCapability.otherSpecificSupportRequired.toString() : '', | |||
| "Primary Areas Of Support Offered Description": primaryAreasOfSupportOffered.toString(), | |||
| "Primary Areas Of Support Offered Other": partner.strengthAndCapability.primaryAreasOfSupportOfferedDescription, | |||
| "Primary Areas Of Support Required": partner.strengthAndCapability.primaryAreasOfSupportOfferedOther ? partner.strengthAndCapability.primaryAreasOfSupportOfferedOther.toString() : '', | |||
| "Primary Areas Of Support Required Description": primaryAreasOfSupportRequired.toString(), | |||
| "Primary Areas Of Support Required Other": partner.strengthAndCapability.primaryAreasOfSupportRequiredOther, | |||
| } | |||
| exportData.push(partnerDetails); | |||
| let surveyCtoHIIData = []; | |||
| for (const hiidata of partner.surveyCtoData.hiiData) { | |||
| let partnerHiiDetails = { | |||
| "PortalID": partner.portalId, | |||
| "HII Id": hiidata.id, | |||
| "HII Name": hiidata.name, | |||
| "HII Packages Health": hiidata.packagesHealth, | |||
| "HII Implementation Status": hiidata.implementationStatus, | |||
| "HII Disaggregation Note": hiidata.disaggregationNote, | |||
| "HII No Of Males": hiidata.id, | |||
| "HII No Of Females": hiidata.noOfMales, | |||
| "HII No Of Transgender": hiidata.noOfTransgender, | |||
| "HII Health Remarks": hiidata.healthRemarks, | |||
| "HII Relevant Documents": hiidata.relevantDocuments, | |||
| } | |||
| surveyCtoHIIData.push(partnerHiiDetails) | |||
| } | |||
| surveyCtoHIIData.forEach(data => { | |||
| exportHiiData.push(data) | |||
| }) | |||
| let surveyCtoSpData = [] | |||
| for (const spData of partner.surveyCtoData.spData) { | |||
| let partnerSpDetails = { | |||
| "PortalID": partner.portalId, | |||
| "SP Id": spData.id, | |||
| "SP Name": spData.name, | |||
| "SP Status": spData.status, | |||
| 'SP Reason Name': spData.reasonName, | |||
| "SP Female Number": spData.femaleNo ? spData.femaleNo : '', | |||
| "SP Male Number": spData.maleNo ? spData.maleNo : '', | |||
| "Tg Number": spData.tgNo ? spData.tgNo : '', | |||
| "SP TotalAggregation": spData.totalAggregation, | |||
| "SP OtherRemarks": spData.otherRemarks, | |||
| "SP RelevantDocuments": spData.relevantDocuments, | |||
| } | |||
| surveyCtoSpData.push(partnerSpDetails) | |||
| } | |||
| surveyCtoSpData.forEach(data => { | |||
| exportSpData.push(data) | |||
| }) | |||
| let surveyCtoSpSchemaData = [] | |||
| for (const spSchema of partner.surveyCtoData.spSchemeData) { | |||
| let partnerSpSchemaDetails = { | |||
| "PortalID": partner.portalId, | |||
| "SPSchema SchemeId": spSchema.schemeId, | |||
| "SPSchema Count": spSchema.count, | |||
| } | |||
| surveyCtoSpSchemaData.push(partnerSpSchemaDetails) | |||
| } | |||
| surveyCtoSpSchemaData.forEach(data => { | |||
| exportSPSchemaData.push(data) | |||
| }) | |||
| } | |||
| surveyCtoData.push(exportHiiData) | |||
| surveyCtoData.push(exportSpData) | |||
| surveyCtoData.push(exportSPSchemaData) | |||
| async exportCSV(exportData: any, fileName: string) { | |||
| const fileTypeCSV = 'text/csv;charset=utf-8;', | |||
| element = document.createElement('a'); | |||
| let blob; | |||
| const partnerExportData = XLSX.utils.json_to_sheet(exportData); | |||
| const hiiData = XLSX.utils.json_to_sheet(exportHiiData); | |||
| const spData = XLSX.utils.json_to_sheet(exportSpData); | |||
| const spSchema = XLSX.utils.json_to_sheet(exportSPSchemaData); | |||
| const wb = XLSX.utils.book_new(); | |||
| let csvData = Papa.unparse(exportData); | |||
| if (exportType === 'CSV') { | |||
| if (isProfileData) { | |||
| let csvData = Papa.unparse(exportData); | |||
| blob = new Blob([csvData], { type: fileTypeCSV }); | |||
| let url = URL.createObjectURL(blob); | |||
| element.href = url; | |||
| element.setAttribute('download', 'ProfileData' + '.csv'); | |||
| element.click(); | |||
| } else if (isImplementationData) { | |||
| this.exportJsonToCSV(surveyCtoData, ['HiiData', 'SPData', 'SPSchemaData']) | |||
| } else { | |||
| let completeData = surveyCtoData | |||
| completeData.push(exportData) | |||
| this.exportJsonToCSV(completeData, ['HiiData', 'SPData', 'SPSchemaData', 'ProfileData',]) | |||
| } | |||
| } else { | |||
| if (isProfileData) { | |||
| XLSX.utils.book_append_sheet(wb, partnerExportData, "Partner Profile"); | |||
| XLSX.writeFile(wb, 'PartnerProfile.xlsx'); | |||
| } else if (isImplementationData) { | |||
| XLSX.utils.book_append_sheet(wb, hiiData, "Hii Data"); | |||
| XLSX.utils.book_append_sheet(wb, spData, "Sp DATA"); | |||
| XLSX.utils.book_append_sheet(wb, spSchema, "SP Schema Data"); | |||
| XLSX.writeFile(wb, 'PartnerProfile.xlsx'); | |||
| } else { | |||
| XLSX.utils.book_append_sheet(wb, partnerExportData, "PartneData"); | |||
| XLSX.utils.book_append_sheet(wb, hiiData, "HiiData"); | |||
| XLSX.utils.book_append_sheet(wb, spData, "SPData"); | |||
| XLSX.utils.book_append_sheet(wb, spSchema, "SPSchemaData"); | |||
| XLSX.writeFile(wb, 'PartnerProfile.xlsx'); | |||
| } | |||
| } | |||
| console.log(exportData) | |||
| let blob = new Blob([csvData], { type: fileTypeCSV }); | |||
| let url = URL.createObjectURL(blob); | |||
| element.href = url; | |||
| element.setAttribute('download', fileName + '.csv'); | |||
| element.click(); | |||
| } | |||
| let formatedData = { | |||
| 'Export ProfileData': exportData, | |||
| 'Export HiiData': exportHiiData, | |||
| 'Export SpData': exportSpData, | |||
| 'Export SPSchemaData': exportSPSchemaData, | |||
| } | |||
| return formatedData; | |||
| } | |||
| async exportXLSV(exportData: any, fileName: Array<string>) { | |||
| const wb = XLSX.utils.book_new(); | |||
| console.log(exportData) | |||
| private exportJsonToCSV(csvData: any, fileName?: any) { | |||
| const fileTypeCSV = 'text/csv;charset=utf-8;', | |||
| element = document.createElement('a'); | |||
| let blob; | |||
| exportData.forEach((data: any, i: number) => { | |||
| XLSX.utils.book_append_sheet(wb, XLSX.utils.json_to_sheet(data), fileName[i]); | |||
| }) | |||
| XLSX.writeFile(wb, fileName[0].toString() + '.xlsx'); | |||
| csvData.forEach((exportData: any, index: number) => { | |||
| let csvData = Papa.unparse(exportData); | |||
| blob = new Blob([csvData], { type: fileTypeCSV }); | |||
| let url = URL.createObjectURL(blob); | |||
| element.href = url; | |||
| element.setAttribute('download', fileName[index] + '.csv'); | |||
| element.click(); | |||
| }); | |||
| } | |||
| } | |||