22. 통계 까지
This commit is contained in:
parent
a26047d608
commit
d895fc3226
23
app/Http/Controllers/statsController.php
Normal file
23
app/Http/Controllers/statsController.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\Product;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class statsController extends Controller
|
||||||
|
{
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$title = '통계';
|
||||||
|
// 총 상품 수량
|
||||||
|
$totalQuantity = Product::sum('quantity');
|
||||||
|
// 총 상품 종류
|
||||||
|
$productCount = Product::count();
|
||||||
|
// 수량이 10 미만인 상품 목록
|
||||||
|
$products = Product::where('quantity', '<', 10)->get();
|
||||||
|
|
||||||
|
|
||||||
|
return view ('stats.index', compact('title', 'totalQuantity', 'productCount', 'products'));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -18,7 +18,7 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="#">통계</a>
|
<a class="nav-link" href="{{ route('stats') }}">통계</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{{-- 로그아웃 버튼 --}}
|
{{-- 로그아웃 버튼 --}}
|
||||||
|
|||||||
57
resources/views/stats/index.blade.php
Normal file
57
resources/views/stats/index.blade.php
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
@extends('layout')
|
||||||
|
|
||||||
|
@section('main')
|
||||||
|
<div class="py-4">
|
||||||
|
<h2 class="mb-4 text-center">📊 재고 통계</h2>
|
||||||
|
|
||||||
|
<div class="row mb-4">
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
<div class="card shadow-sm border-start border-4 border-primary">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">총 상품 수량</h5>
|
||||||
|
<p class="display-5 fw-bold text-primary mb-0">{{ $totalQuantity }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 mb-3">
|
||||||
|
<div class="card shadow-sm border-start border-4 border-primary">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">총 상품 종류</h5>
|
||||||
|
<p class="display-5 fw-bold text-primary mb-0">{{ $productCount }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card shadow-sm">
|
||||||
|
<div class="card-header bg-white">
|
||||||
|
<h5 class="mb-0">⚠️ 재고 부족 상품 (10개 미만)</h5>
|
||||||
|
</div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover align-middle mb-0">
|
||||||
|
<thead class="table-light">
|
||||||
|
<tr>
|
||||||
|
<th>상품명</th>
|
||||||
|
<th>SKU</th>
|
||||||
|
<th>수량</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse($products as $product)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $product->name }}</td>
|
||||||
|
<td>{{ $product->sku }}</td>
|
||||||
|
<td><span class="badge bg-warning text-dark">{{ $product->quantity}}</span></td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<td colspan="3" class="text-center text-muted"> ✅ 모든 상품의 재고가 충분합니다. </td>
|
||||||
|
</tr>
|
||||||
|
@endforelse
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
use App\Http\Controllers\LoginController;
|
use App\Http\Controllers\LoginController;
|
||||||
use App\Http\Controllers\ProductController;
|
use App\Http\Controllers\ProductController;
|
||||||
|
use App\Http\Controllers\statsController;
|
||||||
use App\Http\Controllers\StockLogController;
|
use App\Http\Controllers\StockLogController;
|
||||||
use App\Http\Middleware\Authenticate;
|
use App\Http\Middleware\Authenticate;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
@ -54,3 +55,7 @@ Route::post('/stock/input/{id}', [StockLogController::class, 'store'])
|
|||||||
// 입출고 이력
|
// 입출고 이력
|
||||||
Route::get('/stock}', [StockLogController::class, 'index'])
|
Route::get('/stock}', [StockLogController::class, 'index'])
|
||||||
->name('stock.list');
|
->name('stock.list');
|
||||||
|
|
||||||
|
// 통계
|
||||||
|
Route::get('/stats}', [statsController::class, 'index'])
|
||||||
|
->name('stats');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user