mirror of https://github.com/itflow-org/itflow
rewrite income by client report SQL query to join as a single query instead of multiple
;
This commit is contained in:
parent
47dbd46bf3
commit
99dc294145
|
|
@ -11,8 +11,6 @@ if (isset($_GET['year'])) {
|
|||
|
||||
$sql_payment_years = mysqli_query($mysqli, "SELECT DISTINCT YEAR(payment_date) AS payment_year FROM payments WHERE company_id = $session_company_id UNION SELECT DISTINCT YEAR(revenue_date) AS payment_year FROM revenues WHERE company_id = $session_company_id ORDER BY payment_year DESC");
|
||||
|
||||
$sql_clients = mysqli_query($mysqli, "SELECT * FROM clients WHERE company_id = $session_company_id");
|
||||
|
||||
?>
|
||||
|
||||
<div class="card card-dark">
|
||||
|
|
@ -37,6 +35,19 @@ $sql_clients = mysqli_query($mysqli, "SELECT * FROM clients WHERE company_id = $
|
|||
</select>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
$sql_clients = mysqli_query($mysqli, "SELECT c.client_id, c.client_name, SUM(p.payment_amount) AS amount_paid
|
||||
FROM clients AS c
|
||||
JOIN invoices AS i ON c.client_id = i.invoice_client_id
|
||||
JOIN payments AS p ON i.invoice_id = p.payment_invoice_id
|
||||
WHERE YEAR(p.payment_date) = $year
|
||||
AND c.company_id = $session_company_id
|
||||
GROUP BY c.client_id
|
||||
HAVING amount_paid > 599
|
||||
ORDER BY amount_paid DESC"
|
||||
);
|
||||
?>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
|
|
@ -50,23 +61,17 @@ $sql_clients = mysqli_query($mysqli, "SELECT * FROM clients WHERE company_id = $
|
|||
while ($row = mysqli_fetch_array($sql_clients)) {
|
||||
$client_id = intval($row['client_id']);
|
||||
$client_name = htmlentities($row['client_name']);
|
||||
|
||||
$sql_amount_paid = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS amount_paid FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year AND invoice_client_id = $client_id");
|
||||
$row = mysqli_fetch_array($sql_amount_paid);
|
||||
|
||||
$amount_paid = floatval($row['amount_paid']);
|
||||
|
||||
if ($amount_paid > 599) {
|
||||
?>
|
||||
|
||||
?>
|
||||
|
||||
<tr>
|
||||
<td><?php echo $client_name; ?></td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $amount_paid, $session_company_currency); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
<tr>
|
||||
<td><?php echo $client_name; ?></td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $amount_paid, $session_company_currency); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ $sql = mysqli_query($mysqli, "
|
|||
|
||||
?>
|
||||
<tr>
|
||||
<th>Total</th>
|
||||
<th>Total Monthly Income</th>
|
||||
<th class="text-right"><?php echo numfmt_format_currency($currency_format, $recurring_total, $session_company_currency); ?></th>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
|
|||
Loading…
Reference in New Issue