Skip to content

Commit ed4e8e5

Browse files
committed
update seeder
1 parent 5cf2ebb commit ed4e8e5

File tree

4 files changed

+28
-12
lines changed

4 files changed

+28
-12
lines changed

app/Http/Controllers/Api/DashboardController.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
class DashboardController extends Controller
1010
{
1111
public function getSummaryStatisticToday() {
12-
$startDay = time() - 86400 + (time() % 86400);
13-
$endDay = $startDay + 86400;
12+
$startDay = strtotime("today", time());
13+
$endDay = strtotime("tomorrow", $startDay) - 1;
1414

1515
$startYesterday = $startDay - 86400;
1616
$endYesterday = $startDay;
@@ -27,10 +27,10 @@ public function getSummaryStatisticToday() {
2727

2828
foreach($invoices as $invoice) {
2929
if ($invoice->created_at->timestamp >= $startDay && $invoice->created_at->timestamp <= $endDay) {
30-
$totalIncomeToday += $invoice->total_price;
30+
$totalIncomeToday += $invoice->final_price;
3131
$totalInvoiceToday++;
3232
if ($invoice->status == 'pending') {
33-
$totalIncomePending += $invoice->total;
33+
$totalIncomePending += $invoice->final_price;
3434
}
3535

3636
$invoicesDetails = $invoice->invoiceDetails()->get();
@@ -41,7 +41,7 @@ public function getSummaryStatisticToday() {
4141
}
4242

4343
if ($invoice->created_at->timestamp >= $startYesterday && $invoice->created_at->timestamp <= $endYesterday) {
44-
$totalIncomeYesterday += $invoice->total;
44+
$totalIncomeYesterday += $invoice->final_price;
4545
$totalInvoiceYesterday++;
4646

4747
$totalCustomerYesterday += $invoice->invoiceDetails()->count();

app/Http/Controllers/Api/InvoiceController.php

+18-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use App\Models\BankConfig;
1010
use App\Models\Customer;
1111
use App\Models\Invoice;
12+
use App\Models\InvoiceDetail;
1213
use App\Services\CartService;
1314
use App\Services\CustomerService;
1415
use App\Services\LoyalService;
@@ -21,7 +22,9 @@ class InvoiceController extends Controller
2122
{
2223
public function index()
2324
{
24-
$invoices = Invoice::with('invoiceDetails', 'customer', 'staff', 'voucher')->paginate();
25+
$invoices = Invoice::with('invoiceDetails', 'customer', 'staff', 'voucher')
26+
->orderBy('status', 'desc')
27+
->orderBy('id', 'desc')->paginate();
2528

2629
return response()->json($invoices);
2730
}
@@ -391,4 +394,17 @@ public function getPending()
391394

392395
return response()->json($pendingInvoices);
393396
}
394-
}
397+
398+
public function getTotalIncome()
399+
{
400+
$invoiceDetails = InvoiceDetail::all();
401+
402+
$totalIncome = 0;
403+
404+
foreach ($invoiceDetails as $invoiceDetail) {
405+
$totalIncome += $invoiceDetail->unit_price * $invoiceDetail->quantity;
406+
}
407+
408+
return response()->json(['total_income' => $totalIncome]);
409+
}
410+
}

database/seeders/InvoiceSeeder.php

+3-5
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,13 @@ public function run()
4747
],
4848
];
4949

50-
for ($i = 0; $i < 200; $i++) {
50+
for ($i = 0; $i < 300; $i++) {
5151
// Generate random date within the past 2 weeks
52-
$totalPrice = rand(100000, 500000); // Adjust total price range
53-
$randomDay = Carbon::now()->subDays(rand(1, 28));
52+
$randomDay = Carbon::now()->subDays(rand(0, 28));
5453

5554
$invoiceAdd = [
5655
'user_id' => rand(1, 10), // Adjust user ID range
5756
'table_number' => rand(1, 10), // Adjust table number range (optional)
58-
'total_price' => $totalPrice, // Adjust total price range
59-
'final_price' => $totalPrice,
6057
'status' => 'finish', // Adjust status options (e.g., 'pending', 'cancelled')
6158
'created_at' => $randomDay,
6259
];
@@ -79,6 +76,7 @@ public function run()
7976
}
8077

8178
$invoiceAdd['total_price'] = $totalPrice;
79+
$invoiceAdd['final_price'] = $totalPrice;
8280

8381
$invoices[] = $invoiceAdd;
8482
}

routes/api.php

+2
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,13 @@
4444
Route::get('/staffs/{staff}', [\App\Http\Controllers\Api\StaffController::class, 'show']);
4545

4646
Route::get('/invoices', [\App\Http\Controllers\Api\InvoiceController::class, 'index']);
47+
Route::get('/invoices/total-income', [\App\Http\Controllers\Api\InvoiceController::class, 'getTotalIncome']);
4748
Route::put('/invoices/{invoice}', [\App\Http\Controllers\Api\InvoiceController::class, 'update']);
4849
Route::delete('/invoices/bulk-delete', [\App\Http\Controllers\Api\InvoiceController::class, 'destroyMultiple']);
4950
Route::delete('/invoices/{invoice}', [\App\Http\Controllers\Api\InvoiceController::class, 'destroy']);
5051
Route::get('/invoices/{invoice}', [\App\Http\Controllers\Api\InvoiceController::class, 'show']);
5152

53+
5254
Route::get('/vouchers', [\App\Http\Controllers\Api\VoucherController::class, 'index']);
5355
Route::post('/vouchers', [\App\Http\Controllers\Api\VoucherController::class, 'store']);
5456
Route::put('/vouchers/{voucher}', [\App\Http\Controllers\Api\VoucherController::class, 'update']);

0 commit comments

Comments
 (0)