mirror of
https://github.com/hargata/lubelog.git
synced 2025-12-10 00:46:08 -06:00
Merge pull request #369 from hargata/Hargata/delta.stats
Added Total and Average Cost
This commit is contained in:
commit
eb03979ad8
@ -403,6 +403,16 @@ function searchGasTableRows() {
|
|||||||
if (result.isConfirmed) {
|
if (result.isConfirmed) {
|
||||||
var rowData = $(`#${tabName} table tbody tr`);
|
var rowData = $(`#${tabName} table tbody tr`);
|
||||||
var filteredRows = $(`#${tabName} table tbody tr td:contains('${result.value.searchString}')`).parent();
|
var filteredRows = $(`#${tabName} table tbody tr td:contains('${result.value.searchString}')`).parent();
|
||||||
|
var splitSearchString = result.value.searchString.split('=');
|
||||||
|
if (result.value.searchString.includes('=') && splitSearchString.length == 2) {
|
||||||
|
//column specific search.
|
||||||
|
//get column index
|
||||||
|
var columns = $(`#${tabName} table th`).toArray().map(x => x.innerText);
|
||||||
|
var columnName = splitSearchString[0];
|
||||||
|
var colSearchString = splitSearchString[1];
|
||||||
|
var colIndex = columns.findIndex(x => x == columnName) + 1;
|
||||||
|
filteredRows = $(`#${tabName} table tbody tr td:nth-child(${colIndex}):contains('${colSearchString}')`).parent();
|
||||||
|
}
|
||||||
if (result.value.searchString.trim() == '') {
|
if (result.value.searchString.trim() == '') {
|
||||||
rowData.removeClass('override-hide');
|
rowData.removeClass('override-hide');
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -909,6 +909,16 @@ function searchTableRows(tabName) {
|
|||||||
if (result.isConfirmed) {
|
if (result.isConfirmed) {
|
||||||
var rowData = $(`#${tabName} table tbody tr`);
|
var rowData = $(`#${tabName} table tbody tr`);
|
||||||
var filteredRows = $(`#${tabName} table tbody tr td:contains('${result.value.searchString}')`).parent();
|
var filteredRows = $(`#${tabName} table tbody tr td:contains('${result.value.searchString}')`).parent();
|
||||||
|
var splitSearchString = result.value.searchString.split('=');
|
||||||
|
if (result.value.searchString.includes('=') && splitSearchString.length == 2) {
|
||||||
|
//column specific search.
|
||||||
|
//get column index
|
||||||
|
var columns = $(`#${tabName} table th`).toArray().map(x => x.innerText);
|
||||||
|
var columnName = splitSearchString[0];
|
||||||
|
var colSearchString = splitSearchString[1];
|
||||||
|
var colIndex = columns.findIndex(x => x == columnName) + 1;
|
||||||
|
filteredRows = $(`#${tabName} table tbody tr td:nth-child(${colIndex}):contains('${colSearchString}')`).parent();
|
||||||
|
}
|
||||||
if (result.value.searchString.trim() == '') {
|
if (result.value.searchString.trim() == '') {
|
||||||
rowData.removeClass('override-hide');
|
rowData.removeClass('override-hide');
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -447,6 +447,7 @@ function getRecordsDeltaStats(recordIds) {
|
|||||||
}
|
}
|
||||||
var odometerReadings = [];
|
var odometerReadings = [];
|
||||||
var dateReadings = [];
|
var dateReadings = [];
|
||||||
|
var costReadings = [];
|
||||||
//get all of the odometer readings
|
//get all of the odometer readings
|
||||||
recordIds.map(x => {
|
recordIds.map(x => {
|
||||||
var odometerReading = parseInt($(`tr[data-rowId='${x}'] td[data-column='odometer']`).text());
|
var odometerReading = parseInt($(`tr[data-rowId='${x}'] td[data-column='odometer']`).text());
|
||||||
@ -457,6 +458,10 @@ function getRecordsDeltaStats(recordIds) {
|
|||||||
if (!isNaN(dateReading)) {
|
if (!isNaN(dateReading)) {
|
||||||
dateReadings.push(dateReading);
|
dateReadings.push(dateReading);
|
||||||
}
|
}
|
||||||
|
var costReading = globalParseFloat($(`tr[data-rowId='${x}'] td[data-column='cost']`).text());
|
||||||
|
if (costReading > 0) {
|
||||||
|
costReadings.push(costReading);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
//get max stats
|
//get max stats
|
||||||
var maxOdo = odometerReadings.length > 0 ? odometerReadings.reduce((a, b) => a > b ? a : b) : 0;
|
var maxOdo = odometerReadings.length > 0 ? odometerReadings.reduce((a, b) => a > b ? a : b) : 0;
|
||||||
@ -464,14 +469,25 @@ function getRecordsDeltaStats(recordIds) {
|
|||||||
//get min stats
|
//get min stats
|
||||||
var minOdo = odometerReadings.length > 0 ? odometerReadings.reduce((a, b) => a < b ? a : b) : 0;
|
var minOdo = odometerReadings.length > 0 ? odometerReadings.reduce((a, b) => a < b ? a : b) : 0;
|
||||||
var minDate = dateReadings.length > 0 ? dateReadings.reduce((a, b) => a < b ? a : b) : 0;
|
var minDate = dateReadings.length > 0 ? dateReadings.reduce((a, b) => a < b ? a : b) : 0;
|
||||||
|
//get sum of costs
|
||||||
|
var costSum = costReadings.length > 0 ? costReadings.reduce((a, b) => a + b) : 0;
|
||||||
var diffOdo = maxOdo - minOdo;
|
var diffOdo = maxOdo - minOdo;
|
||||||
var diffDate = maxDate - minDate;
|
var diffDate = maxDate - minDate;
|
||||||
var divisibleCount = recordIds.length - 1;
|
var divisibleCount = recordIds.length - 1;
|
||||||
var averageOdo = diffOdo > 0 ? (diffOdo / divisibleCount).toFixed(2) : 0;
|
var averageOdo = diffOdo > 0 ? (diffOdo / divisibleCount).toFixed(2) : 0;
|
||||||
var averageDays = diffDate > 0 ? Math.floor((diffDate / divisibleCount) / 8.64e7) : 0;
|
var averageDays = diffDate > 0 ? Math.floor((diffDate / divisibleCount) / 8.64e7) : 0;
|
||||||
|
var averageSum = costSum > 0 ? (costSum / divisibleCount).toFixed(2) : 0;
|
||||||
|
costSum = costSum.toFixed(2);
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
title: "Record Statistics",
|
title: "Record Statistics",
|
||||||
html: `<p>Average Distance Traveled between Records: ${averageOdo}</p><br /><p>Average Days between Records: ${averageDays}</p>`,
|
html: `<p>Average Distance Traveled between Records: ${averageOdo}</p>
|
||||||
|
<br />
|
||||||
|
<p>Average Days between Records: ${averageDays}</p>
|
||||||
|
<br />
|
||||||
|
<p>Total Cost: ${getGlobalConfig().currencySymbol} ${costSum}</p>
|
||||||
|
<br />
|
||||||
|
<p>Average Cost: ${getGlobalConfig().currencySymbol} ${averageSum}</p>`
|
||||||
|
,
|
||||||
icon: "info"
|
icon: "info"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user