date drop added

This commit is contained in:
odzugkoev
2026-03-10 20:36:25 -04:00
parent 50f4501cdd
commit 1b40187ade
6 changed files with 305 additions and 24 deletions

View File

@@ -301,8 +301,16 @@ class DatabaseManager {
params.push(filters.status);
}
if (filters.date) {
// Get orders from start of day to end of day
if (filters.startDate && filters.endDate) {
query += ' AND created_at BETWEEN ? AND ?';
params.push(filters.startDate, filters.endDate);
} else if (filters.startDate) {
query += ' AND created_at >= ?';
params.push(filters.startDate);
} else if (filters.endDate) {
query += ' AND created_at <= ?';
params.push(filters.endDate);
} else if (filters.date) {
const startOfDay = Math.floor(new Date(filters.date).setHours(0, 0, 0, 0) / 1000);
const endOfDay = Math.floor(new Date(filters.date).setHours(23, 59, 59, 999) / 1000);
query += ' AND created_at BETWEEN ? AND ?';
@@ -333,9 +341,7 @@ class DatabaseManager {
}));
}
getOrderStats() {
const today = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
getOrderStats(startDate = null, endDate = null) {
const stats = {
total: 0,
new: 0,
@@ -343,12 +349,23 @@ class DatabaseManager {
ready: 0
};
const rows = this.db.prepare(`
SELECT local_status, COUNT(*) as count
FROM orders
WHERE created_at >= ?
GROUP BY local_status
`).all(today);
let query, params;
if (startDate != null && endDate != null) {
query = 'SELECT local_status, COUNT(*) as count FROM orders WHERE created_at BETWEEN ? AND ? GROUP BY local_status';
params = [startDate, endDate];
} else if (startDate != null) {
query = 'SELECT local_status, COUNT(*) as count FROM orders WHERE created_at >= ? GROUP BY local_status';
params = [startDate];
} else if (endDate != null) {
query = 'SELECT local_status, COUNT(*) as count FROM orders WHERE created_at <= ? GROUP BY local_status';
params = [endDate];
} else {
const today = Math.floor(new Date().setHours(0, 0, 0, 0) / 1000);
query = 'SELECT local_status, COUNT(*) as count FROM orders WHERE created_at >= ? GROUP BY local_status';
params = [today];
}
const rows = this.db.prepare(query).all(...params);
for (const row of rows) {
if (row.local_status === 'new') stats.new = row.count;