diff --git a/package-lock.json b/package-lock.json index 6444173..1eeeaec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,8 +57,8 @@ "@angular/compiler-cli": "12.0.5", "@angular/service-worker": "12.0.5", "@types/bootstrap": "^5.0.17", - "@types/file-saver": "^2.0.3", "@types/chartist": "^0.11.1", + "@types/file-saver": "^2.0.3", "@types/jest": "26.0.23", "@types/jquery": "^3.5.6", "@types/node": "15.12.2", diff --git a/src/main/webapp/app/entities/dashboard/dashboard-admin/dashboard-admin.component.html b/src/main/webapp/app/entities/dashboard/dashboard-admin/dashboard-admin.component.html index 06056dd..3269324 100644 --- a/src/main/webapp/app/entities/dashboard/dashboard-admin/dashboard-admin.component.html +++ b/src/main/webapp/app/entities/dashboard/dashboard-admin/dashboard-admin.component.html @@ -1,4 +1,7 @@
+ + +
@@ -13,7 +16,7 @@

Ganancias por plantillas

- {{ gananciasTotales | currency: 'CR' }} + ${{ gananciasTotales | number: '1.2' }}
@@ -137,5 +140,3 @@
- - diff --git a/src/main/webapp/app/entities/dashboard/dashboard-admin/dashboard-admin.component.ts b/src/main/webapp/app/entities/dashboard/dashboard-admin/dashboard-admin.component.ts index ac14613..1768424 100644 --- a/src/main/webapp/app/entities/dashboard/dashboard-admin/dashboard-admin.component.ts +++ b/src/main/webapp/app/entities/dashboard/dashboard-admin/dashboard-admin.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core'; import * as XLSX from 'xlsx'; import * as FileSaver from 'file-saver'; import { jsPDF } from 'jspdf'; -import { exportAsExcelFile } from '../export/export_excel'; +import { exportAsExcelFile, exportAsExcelTable } from '../export/export_excel'; import { generatePDFTableData, createPDFTableHeaders, generatePDFTable } from '../export/export_pdf'; import { FacturaService } from '../../factura/service/factura.service'; @@ -99,11 +99,11 @@ export class DashboardAdminComponent implements OnInit { .subscribe(res => { const tmpCategorias = res.body; this.categorias = tmpCategorias?.filter(c => c.estado === 'ACTIVE'); - let cantPublicadas = 0; - let cantFinalizadas = 0; const publicadas: number[] | null = []; const finalizadas: number[] | null = []; this.categorias?.forEach(c => { + let cantPublicadas = 0; + let cantFinalizadas = 0; this.encuestas?.forEach(e => { if (e.categoria?.id === c.id && e.estado === 'ACTIVE') { cantPublicadas = cantPublicadas + 1; @@ -198,13 +198,63 @@ export class DashboardAdminComponent implements OnInit { Cantidad de encuestas publicadas por categoría Cantidad de encuestas finalizadas por categoría Cantidad de encuestas publicadas por mes y año + + Cantidad de encuestas + Cantidad de personas que han completado sus encuestas + Cantidad de encuestas activas + Cantidad de encuestas finalizadas + Cantidad de comentarios de retroalimentación */ - const _sheets = ['reportes generales']; - const _reporteUsuarios = { usuarios_activos: 100, usuarios_bloqueados: 50 }; + const _sheets = ['reportes generales', 'enc. publicadas', 'enc. publicadas categoría', 'enc. finalizadas categoría']; - const _excelFinalData = [_reporteUsuarios]; - const _fileName = 'reporte_general'; + const _reporteUsuarios = [ + { + ganancias_plantillas: this.gananciasTotales, + usuarios_activos: this.cantUsuarioActivos, + usuarios_bloqueados: this.cantUsuarioBloqueados, + }, + ]; + + // listaMesesAnnos + // encuestasPublicadasMesAnno + const _reporteEncuestasPublicadas: any[] = []; + this.listaMesesAnnos.forEach((date: any, index) => { + let _report: any = {}; + _report['fecha'] = date; + _report['cantidad'] = this.encuestasPublicadasMesAnno[index]; + _reporteEncuestasPublicadas.push(_report); + }); + + // this.categorias + // this.encuestasPublicadasCategoria + const _reporteCantidadEncuestasPublicadasCategoria: any[] = []; + this.categorias!.forEach((categoria: any, index) => { + let _report: any = {}; + _report['categoria'] = categoria.nombre; + _report['cantidad'] = this.encuestasPublicadasCategoria[index]; + _reporteCantidadEncuestasPublicadasCategoria.push(_report); + }); + + // this.categorias + // this.encuestasFinalzadasCategoria + const _reporteCantidadEncuestasFinalizadasCategoria: any[] = []; + this.categorias!.forEach((categoria: any, index) => { + let _report: any = {}; + _report['categoria'] = categoria.nombre; + _report['cantidad'] = this.encuestasFinalzadasCategoria[index]; + _reporteCantidadEncuestasFinalizadasCategoria.push(_report); + }); + + // exportAsExcelTable(); + + const _excelFinalData = [ + _reporteUsuarios, + _reporteEncuestasPublicadas, + _reporteCantidadEncuestasPublicadasCategoria, + _reporteCantidadEncuestasFinalizadasCategoria, + ]; + const _fileName = 'reportes_datasurvey'; exportAsExcelFile(_sheets, _excelFinalData, _fileName); } @@ -215,6 +265,13 @@ export class DashboardAdminComponent implements OnInit { Cantidad de encuestas publicadas por categoría Cantidad de encuestas finalizadas por categoría Cantidad de encuestas publicadas por mes y año + + Cantidad de encuestas + Cantidad de personas que han completado sus encuestas + Cantidad de encuestas activas + Cantidad de encuestas finalizadas + Cantidad de comentarios de retroalimentación + */ const doc = new jsPDF(); diff --git a/src/main/webapp/app/entities/dashboard/export/export_excel.ts b/src/main/webapp/app/entities/dashboard/export/export_excel.ts index 8f549af..8054a73 100644 --- a/src/main/webapp/app/entities/dashboard/export/export_excel.ts +++ b/src/main/webapp/app/entities/dashboard/export/export_excel.ts @@ -10,7 +10,7 @@ export const exportAsExcelFile = (sheetNames: string[], arrayOfData: any[], exce arrayOfData.forEach((data, index) => { let sheetName = sheetNames[index]; - let worksheet = XLSX.utils.json_to_sheet([data]); + let worksheet = XLSX.utils.json_to_sheet(data); XLSX.utils.book_append_sheet(workbook, worksheet, sheetName); }); @@ -24,3 +24,14 @@ const saveAsExcelFile = (buffer: any, fileName: any) => { FileSaver.saveAs(data, generatedFileName); }; + +export const exportAsExcelTable = () => { + const workbook = XLSX.utils.book_new(); + + let worksheet = XLSX.utils.json_to_sheet([{ test: 1 }, { test: 2 }]); + + XLSX.utils.book_append_sheet(workbook, worksheet, 'test'); + + const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); + saveAsExcelFile(excelBuffer, 'test'); +};