From a71ae2e3d777d8039c43de4af0afe1dd9a563899 Mon Sep 17 00:00:00 2001 From: kent Date: Fri, 9 Jan 2026 16:58:41 +0900 Subject: [PATCH] =?UTF-8?q?feat(items):=20=ED=92=88=EB=AA=A9=20=ED=86=B5?= =?UTF-8?q?=EA=B3=84=20API=20=EB=9D=BC=EC=9A=B0=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - GET /api/v1/items/stats 라우트 추가 - stats 라우트를 /{id} 앞에 배치하여 파라미터 충돌 방지 - Phase 2.3 자재관리 API 연동 지원 Co-Authored-By: Claude --- routes/api.php | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/routes/api.php b/routes/api.php index 6a3819b..c4cb51b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -11,13 +11,12 @@ use App\Http\Controllers\Api\V1\AttendanceController; use App\Http\Controllers\Api\V1\BadDebtController; use App\Http\Controllers\Api\V1\BankAccountController; -use App\Http\Controllers\Api\V1\BillController; +use App\Http\Controllers\Api\V1\BankTransactionController; use App\Http\Controllers\Api\V1\BarobillSettingController; +use App\Http\Controllers\Api\V1\BillController; use App\Http\Controllers\Api\V1\BoardController; -use App\Http\Controllers\Api\V1\SystemBoardController; -use App\Http\Controllers\Api\V1\SystemPostController; use App\Http\Controllers\Api\V1\CardController; -use App\Http\Controllers\Api\V1\SalaryController; +use App\Http\Controllers\Api\V1\CardTransactionController; use App\Http\Controllers\Api\V1\CategoryController; use App\Http\Controllers\Api\V1\CategoryFieldController; use App\Http\Controllers\Api\V1\CategoryLogController; @@ -25,10 +24,12 @@ use App\Http\Controllers\Api\V1\ClassificationController; use App\Http\Controllers\Api\V1\ClientController; use App\Http\Controllers\Api\V1\ClientGroupController; -use App\Http\Controllers\Api\V1\Construction\ContractController; -use App\Http\Controllers\Api\V1\Construction\HandoverReportController; use App\Http\Controllers\Api\V1\CommonController; use App\Http\Controllers\Api\V1\CompanyController; +use App\Http\Controllers\Api\V1\ComprehensiveAnalysisController; +use App\Http\Controllers\Api\V1\Construction\ContractController; +use App\Http\Controllers\Api\V1\Construction\HandoverReportController; +use App\Http\Controllers\Api\V1\DailyReportController; use App\Http\Controllers\Api\V1\DashboardController; use App\Http\Controllers\Api\V1\DepartmentController; use App\Http\Controllers\Api\V1\DepositController; @@ -38,14 +39,8 @@ use App\Http\Controllers\Api\V1\Design\DesignModelController; use App\Http\Controllers\Api\V1\Design\ModelVersionController as DesignModelVersionController; use App\Http\Controllers\Api\V1\EmployeeController; -use App\Http\Controllers\Api\V1\ExpectedExpenseController; -use App\Http\Controllers\Api\V1\VendorLedgerController; -use App\Http\Controllers\Api\V1\BankTransactionController; -use App\Http\Controllers\Api\V1\CardTransactionController; -use App\Http\Controllers\Api\V1\ReceivablesController; -use App\Http\Controllers\Api\V1\DailyReportController; -use App\Http\Controllers\Api\V1\ComprehensiveAnalysisController; use App\Http\Controllers\Api\V1\EstimateController; +use App\Http\Controllers\Api\V1\ExpectedExpenseController; use App\Http\Controllers\Api\V1\FileStorageController; use App\Http\Controllers\Api\V1\FolderController; use App\Http\Controllers\Api\V1\InternalController; @@ -54,12 +49,12 @@ use App\Http\Controllers\Api\V1\ItemMaster\ItemBomItemController; use App\Http\Controllers\Api\V1\ItemMaster\ItemFieldController; use App\Http\Controllers\Api\V1\ItemMaster\ItemMasterController; -// use App\Http\Controllers\Api\V1\MaterialController; // REMOVED: materials 테이블 삭제됨 use App\Http\Controllers\Api\V1\ItemMaster\ItemPageController; use App\Http\Controllers\Api\V1\ItemMaster\ItemSectionController; use App\Http\Controllers\Api\V1\ItemMaster\SectionTemplateController; use App\Http\Controllers\Api\V1\ItemMaster\UnitOptionController; use App\Http\Controllers\Api\V1\ItemsBomController; +// use App\Http\Controllers\Api\V1\MaterialController; // REMOVED: materials 테이블 삭제됨 use App\Http\Controllers\Api\V1\ItemsController; use App\Http\Controllers\Api\V1\ItemsFileController; use App\Http\Controllers\Api\V1\LeaveController; @@ -68,30 +63,35 @@ use App\Http\Controllers\Api\V1\MenuController; use App\Http\Controllers\Api\V1\ModelSetController; use App\Http\Controllers\Api\V1\NotificationSettingController; +use App\Http\Controllers\Api\V1\OrderController; use App\Http\Controllers\Api\V1\PaymentController; -// use App\Http\Controllers\Api\V1\ProductBomItemController; // REMOVED: products 테이블 삭제됨 -// use App\Http\Controllers\Api\V1\ProductController; // REMOVED: products 테이블 삭제됨 use App\Http\Controllers\Api\V1\PayrollController; use App\Http\Controllers\Api\V1\PermissionController; use App\Http\Controllers\Api\V1\PlanController; use App\Http\Controllers\Api\V1\PopupController; +// use App\Http\Controllers\Api\V1\ProductBomItemController; // REMOVED: products 테이블 삭제됨 +// use App\Http\Controllers\Api\V1\ProductController; // REMOVED: products 테이블 삭제됨 use App\Http\Controllers\Api\V1\PositionController; use App\Http\Controllers\Api\V1\PostController; use App\Http\Controllers\Api\V1\PricingController; use App\Http\Controllers\Api\V1\PurchaseController; -use App\Http\Controllers\Api\V1\ReceivingController; -use App\Http\Controllers\Api\V1\StockController; -use App\Http\Controllers\Api\V1\ShipmentController; use App\Http\Controllers\Api\V1\PushNotificationController; use App\Http\Controllers\Api\V1\QuoteController; +use App\Http\Controllers\Api\V1\ReceivablesController; +use App\Http\Controllers\Api\V1\ReceivingController; use App\Http\Controllers\Api\V1\RefreshController; use App\Http\Controllers\Api\V1\RegisterController; use App\Http\Controllers\Api\V1\ReportController; use App\Http\Controllers\Api\V1\RoleController; use App\Http\Controllers\Api\V1\RolePermissionController; +use App\Http\Controllers\Api\V1\SalaryController; use App\Http\Controllers\Api\V1\SaleController; +use App\Http\Controllers\Api\V1\ShipmentController; use App\Http\Controllers\Api\V1\SiteController; +use App\Http\Controllers\Api\V1\StockController; use App\Http\Controllers\Api\V1\SubscriptionController; +use App\Http\Controllers\Api\V1\SystemBoardController; +use App\Http\Controllers\Api\V1\SystemPostController; // 설계 전용 (디자인 네임스페이스) use App\Http\Controllers\Api\V1\TaxInvoiceController; use App\Http\Controllers\Api\V1\TenantController; @@ -104,8 +104,8 @@ use App\Http\Controllers\Api\V1\UserController; use App\Http\Controllers\Api\V1\UserInvitationController; use App\Http\Controllers\Api\V1\UserRoleController; +use App\Http\Controllers\Api\V1\VendorLedgerController; use App\Http\Controllers\Api\V1\WithdrawalController; -use App\Http\Controllers\Api\V1\OrderController; use App\Http\Controllers\Api\V1\WorkOrderController; use App\Http\Controllers\Api\V1\WorkResultController; use App\Http\Controllers\Api\V1\WorkSettingController; @@ -993,6 +993,7 @@ // Items (통합 품목 관리 - items 테이블) Route::prefix('items')->group(function () { Route::get('', [ItemsController::class, 'index'])->name('v1.items.index'); // 통합 목록 + Route::get('/stats', [ItemsController::class, 'stats'])->name('v1.items.stats'); // 통계 Route::post('', [ItemsController::class, 'store'])->name('v1.items.store'); // 품목 생성 Route::get('/code/{code}', [ItemsController::class, 'showByCode'])->name('v1.items.show_by_code'); // code 기반 조회 Route::get('/{id}', [ItemsController::class, 'show'])->name('v1.items.show'); // 단건 (item_type 파라미터 필수)