function openChartsActiveTask() { resetStaisticsChart(); pageselect("page-statistics-charts"); window.aggregationChart.reset(); $("#statisticsChartsProcessMessage").text("Сбор статистики ..."); subscribeOnce("/topic/task/statistics/chart/active").then(statisticsChartComplete); stompClient.send("/app/task/statistics/chart//active"); } function statisticsChartComplete(data) { let statisticsCharts = JSON.parse(data.body.toString()); $("#statisticsProcessMessage").empty(); if (statisticsCharts != null) { console.log(statisticsCharts); resetStaisticsChart(); createChart(statisticsCharts); } else { $("#statisticsChartsProcessMessage").append('Ошибка сбора статистики'); } } function resetStaisticsChart() { $("#statisticsChartsProcessMessage").empty(); } function createChart(obj) { window.aggregationChart.data.labels = Array.from(obj, element => element.date + " " + element.hour + ":00"); window.aggregationChart.data.datasets = getDatasets(obj); window.aggregationChart.update(); } function getDatasets(obj) { let stamps = Array.from(obj, element => element.countStamp); let pack = Array.from(obj, element => element.countPack); let pallet = Array.from(obj, element => element.countPallet); let dataBar = [{ label: "Кол-во пар", backgroundColor: 'rgba(75, 192, 192, 0.4)', borderColor: 'rgba(75, 192, 192)', borderWidth: 2, yAxisID: 'y-axis-1', data: stamps }, { label: "Кол-во коробок", backgroundColor: 'rgba(255, 159, 64, 0.4)', borderColor: 'rgba(255, 159, 64)', borderWidth: 2, yAxisID: 'y-axis-1', data: pack }, { label: "Кол-во палет", backgroundColor: 'rgba(153, 102, 255, 0.4)', borderColor: 'rgba(153, 102, 255)', borderWidth: 2, yAxisID: 'y-axis-1', data: pallet }]; return dataBar; }