diff --git a/invoices.php b/invoices.php index db005b9b..6b3df3e2 100644 --- a/invoices.php +++ b/invoices.php @@ -24,7 +24,7 @@ $draft_count = $row['num']; $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_status = 'Cancelled'")); $cancelled_count = $row['num']; -$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_due > CURDATE()")); +$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Paid' AND invoice_due < CURDATE()")); $overdue_count = $row['num']; $sql_total_draft = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS total_draft FROM invoices WHERE invoice_status = 'Draft'"); @@ -57,18 +57,19 @@ $row = mysqli_fetch_array($sql_total_overdue); $total_overdue = floatval($row['total_overdue']); $real_overdue_amount = $total_overdue - $total_overdue_partial; +$total_unpaid = $total_sent + $total_viewed + $total_partial; +$unpaid_count = $sent_count + $viewed_count + $partial_count; //Invoice status from GET if (isset($_GET['status']) && ($_GET['status']) == 'Draft') { - $status_query = 'Draft'; -} elseif (isset($_GET['status']) && ($_GET['status']) == 'Sent') { - $status_query = 'Sent'; -} elseif (isset($_GET['status']) && ($_GET['status']) == 'Viewed') { - $status_query = 'Viewed'; -} elseif (isset($_GET['status']) && ($_GET['status']) == 'Partial') { - $status_query = 'Partial'; + $status_query = "invoice_status = 'Draft'"; +} elseif (isset($_GET['status']) && ($_GET['status']) == 'Unpaid') { + $status_query = "invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial'"; +} elseif (isset($_GET['status']) && ($_GET['status']) == 'Overdue') { + $status_query = "invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial'"; + $overdue_query = "AND (invoice_due < CURDATE())"; } else { - $status_query = '%'; + $status_query = "invoice_status LIKE '%'"; } //Rebuild URL @@ -79,7 +80,8 @@ $sql = mysqli_query( "SELECT SQL_CALC_FOUND_ROWS * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id LEFT JOIN categories ON invoice_category_id = category_id - WHERE (invoice_status LIKE '$status_query') + WHERE ($status_query) + $overdue_query AND DATE(invoice_date) BETWEEN '$dtf' AND '$dtt' AND (CONCAT(invoice_prefix,invoice_number) LIKE '%$q%' OR invoice_scope LIKE '%$q%' OR client_name LIKE '%$q%' OR invoice_status LIKE '%$q%' OR invoice_amount LIKE '%$q%' OR category_name LIKE '%$q%') ORDER BY $sort $order LIMIT $record_from, $record_to" @@ -90,7 +92,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); ?>