// Load the Visualization API and the corechart package. google.charts.load('current', {'packages':['corechart']}); // Set a callback to run when the Google Visualization API is loaded. //google.charts.setOnLoadCallback(drawChart); google.charts.setOnLoadCallback(consultarAPIAvanceProductividad); //20241230 GERARDO JC //conexion a la API que provee los datos function consultarAPIAvanceProductividad(){ //fetch('http://192.168.2.139:8080/familiaagrupada/listadoventas') //fetch('https://lectura-excel-indicadores-05dc438dc28e.herokuapp.com/familiaagrupada/listadoventas') fetch('./assets/data/datafamiliaestrategica.json') .then(response=> response.json()) .then(data=>{ console.log("codigo de vendedor "+data[0].codigo_vendedor) console.log("codigo de utilidad "+data[0].utilidad) drawChartAvanceProductividad(data); console.log("api consultada"); mensajeToast("Consulta realizada a avanceProductividad"); }) .catch(error => { console.error('error al acceder al endpoint: ',error); mensajeToast("Error al conectar al endpoint avanceProductividad (dato tecnico: "+`${error}`+")"); }); } // Callback that creates and populates a data table function drawChartAvanceProductividad(datos) { //var fechayh = datos[0].fechayhora; // Create the data table. var data = new google.visualization.DataTable(); //columnas data.addColumn('string', 'Vendedor'); data.addColumn('number',"Utilidad"); data.addColumn({type: 'string', role: 'style'}); data.addColumn({type: 'number', role: 'annotation'}); for(vend in datos){ if(vend!=-1){ if(datos[vend].monto>=20000){ data.addRows([[(datos[vend].nombre).substring(0, 3), Number(datos[vend].monto),"#00913f",Number(datos[vend].monto)]]); } else if(datos[vend].monto>=15000 && datos[vend].monto<20000){ //console.log("amarillo"); data.addRows([[(datos[vend].nombre).substring(0, 3), Number(datos[vend].monto),"#ffff00",Number(datos[vend].monto)]]); } else if(datos[vend].monto<15000){ data.addRows([[(datos[vend].nombre).substring(0, 3), Number(datos[vend].monto),"#ff0000",Number(datos[vend].monto)]]); } } } // Set chart options var options = { 'title':'% AVANCE PRODUCTIVIDAD PAPELERIA META 70% - ', 'width':'100%', 'height':350, 'series':{ '1':{'color':'#FF0000'}, '0':{'color':'blue'} }, 'legend': { position: "none" }, chartArea: { width: '75%', height: '80%' }, }; // Instantiate and draw our chart, passing in some options. var chartAvanceProductividad = new google.visualization.ColumnChart(document.getElementById('chartAvanceProductividad')); chartAvanceProductividad.draw(data,options) } function mensajeToast(mensaje){ const toastNotifier = new ToastNotification(); toastNotifier.show(mensaje); }