From 11c95b206e83fbc051196cbd6ad964fe6f8eab71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 4 Feb 2026 22:50:29 +0900 Subject: [PATCH] =?UTF-8?q?feat:=EC=9E=AC=EB=AC=B4=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?8=EC=A2=85=20API=20=EB=9D=BC=EC=9A=B0=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20(=EA=B3=A0=EA=B0=9D=EC=82=AC/=EC=88=98=EC=9E=85/?= =?UTF-8?q?=EC=A7=80=EC=B6=9C/=EB=A7=A4=EC=B6=9C/=EB=A7=A4=EC=9E=85/?= =?UTF-8?q?=EC=83=81=EB=8B=B4=EC=88=98=EC=88=98=EB=A3=8C/=EC=A0=95?= =?UTF-8?q?=EC=82=B0/=EA=B5=AC=EB=8F=85)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.5 --- routes/web.php | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/routes/web.php b/routes/web.php index cf10c478..b5c569c5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -756,6 +756,15 @@ return view('finance.income'); })->name('income'); + + // 수입 관리 API + Route::prefix('income')->name('income.')->group(function () { + Route::get('/list', [\App\Http\Controllers\Finance\IncomeController::class, 'index'])->name('list'); + Route::post('/store', [\App\Http\Controllers\Finance\IncomeController::class, 'store'])->name('store'); + Route::put('/{id}', [\App\Http\Controllers\Finance\IncomeController::class, 'update'])->name('update'); + Route::delete('/{id}', [\App\Http\Controllers\Finance\IncomeController::class, 'destroy'])->name('destroy'); + }); + Route::get('/expense', function () { if (request()->header('HX-Request')) { return response('', 200)->header('HX-Redirect', route('finance.expense')); @@ -764,6 +773,14 @@ return view('finance.expense'); })->name('expense'); + // 지출 관리 API + Route::prefix('expense')->name('expense.')->group(function () { + Route::get('/list', [\App\Http\Controllers\Finance\ExpenseController::class, 'index'])->name('list'); + Route::post('/store', [\App\Http\Controllers\Finance\ExpenseController::class, 'store'])->name('store'); + Route::put('/{id}', [\App\Http\Controllers\Finance\ExpenseController::class, 'update'])->name('update'); + Route::delete('/{id}', [\App\Http\Controllers\Finance\ExpenseController::class, 'destroy'])->name('destroy'); + }); + // 매출/매입 Route::get('/sales', function () { if (request()->header('HX-Request')) { @@ -772,6 +789,15 @@ return view('finance.sales'); })->name('sales'); + + // 매출 관리 API + Route::prefix('sales-records')->name('sales-records.')->group(function () { + Route::get('/list', [\App\Http\Controllers\Finance\SalesRecordController::class, 'index'])->name('list'); + Route::post('/store', [\App\Http\Controllers\Finance\SalesRecordController::class, 'store'])->name('store'); + Route::put('/{id}', [\App\Http\Controllers\Finance\SalesRecordController::class, 'update'])->name('update'); + Route::delete('/{id}', [\App\Http\Controllers\Finance\SalesRecordController::class, 'destroy'])->name('destroy'); + }); + Route::get('/purchase', function () { if (request()->header('HX-Request')) { return response('', 200)->header('HX-Redirect', route('finance.purchase')); @@ -780,6 +806,14 @@ return view('finance.purchase'); })->name('purchase'); + // 매입 관리 API + Route::prefix('purchases')->name('purchases.')->group(function () { + Route::get('/list', [\App\Http\Controllers\Finance\PurchaseController::class, 'index'])->name('list'); + Route::post('/store', [\App\Http\Controllers\Finance\PurchaseController::class, 'store'])->name('store'); + Route::put('/{id}', [\App\Http\Controllers\Finance\PurchaseController::class, 'update'])->name('update'); + Route::delete('/{id}', [\App\Http\Controllers\Finance\PurchaseController::class, 'destroy'])->name('destroy'); + }); + // 영업수수료정산 (실제 구현) Route::prefix('sales-commissions')->name('sales-commissions.')->group(function () { Route::get('/', [\App\Http\Controllers\Finance\SalesCommissionController::class, 'index'])->name('index'); @@ -806,6 +840,15 @@ return view('finance.consulting-fee'); })->name('consulting-fee'); + + // 상담수수료 API + Route::prefix('consulting-fees')->name('consulting-fees.')->group(function () { + Route::get('/list', [\App\Http\Controllers\Finance\ConsultingFeeController::class, 'index'])->name('list'); + Route::post('/store', [\App\Http\Controllers\Finance\ConsultingFeeController::class, 'store'])->name('store'); + Route::put('/{id}', [\App\Http\Controllers\Finance\ConsultingFeeController::class, 'update'])->name('update'); + Route::delete('/{id}', [\App\Http\Controllers\Finance\ConsultingFeeController::class, 'destroy'])->name('destroy'); + }); + Route::get('/customer-settlement', function () { if (request()->header('HX-Request')) { return response('', 200)->header('HX-Redirect', route('finance.customer-settlement')); @@ -813,6 +856,15 @@ return view('finance.customer-settlement'); })->name('customer-settlement'); + + // 고객사별 정산 API + Route::prefix('customer-settlements')->name('customer-settlements.')->group(function () { + Route::get('/list', [\App\Http\Controllers\Finance\CustomerSettlementController::class, 'index'])->name('list'); + Route::post('/store', [\App\Http\Controllers\Finance\CustomerSettlementController::class, 'store'])->name('store'); + Route::put('/{id}', [\App\Http\Controllers\Finance\CustomerSettlementController::class, 'update'])->name('update'); + Route::delete('/{id}', [\App\Http\Controllers\Finance\CustomerSettlementController::class, 'destroy'])->name('destroy'); + }); + Route::get('/subscription', function () { if (request()->header('HX-Request')) { return response('', 200)->header('HX-Redirect', route('finance.subscription')); @@ -821,6 +873,14 @@ return view('finance.subscription'); })->name('subscription'); + // 구독 관리 API + Route::prefix('subscriptions')->name('subscriptions.')->group(function () { + Route::get('/list', [\App\Http\Controllers\Finance\SubscriptionController::class, 'index'])->name('list'); + Route::post('/store', [\App\Http\Controllers\Finance\SubscriptionController::class, 'store'])->name('store'); + Route::put('/{id}', [\App\Http\Controllers\Finance\SubscriptionController::class, 'update'])->name('update'); + Route::delete('/{id}', [\App\Http\Controllers\Finance\SubscriptionController::class, 'destroy'])->name('destroy'); + }); + // 차량관리 Route::get('/corporate-vehicles', [\App\Http\Controllers\Finance\CorporateVehicleController::class, 'index'])->name('corporate-vehicles'); Route::get('/corporate-vehicles/list', [\App\Http\Controllers\Finance\CorporateVehicleController::class, 'list'])->name('corporate-vehicles.list'); @@ -853,6 +913,15 @@ return view('finance.customers'); })->name('customers'); + + // 고객사 관리 API + Route::prefix('customers')->name('customers.')->group(function () { + Route::get('/list', [\App\Http\Controllers\Finance\CustomerController::class, 'index'])->name('list'); + Route::post('/store', [\App\Http\Controllers\Finance\CustomerController::class, 'store'])->name('store'); + Route::put('/{id}', [\App\Http\Controllers\Finance\CustomerController::class, 'update'])->name('update'); + Route::delete('/{id}', [\App\Http\Controllers\Finance\CustomerController::class, 'destroy'])->name('destroy'); + }); + Route::get('/partners', function () { if (request()->header('HX-Request')) { return response('', 200)->header('HX-Redirect', route('finance.partners'));