feat: [payroll] 급여관리 기능 구현
- Payroll, PayrollSetting 모델 생성 - PayrollService 구현 (CRUD, 자동계산, 간이세액표, 일괄생성) - Web/API 컨트롤러 생성 (HTMX/JSON 이중 응답) - 급여 목록, 통계 카드, 급여 설정 뷰 생성 - 라우트 추가 (web.php, api.php) - 상태 흐름: draft → confirmed → paid
This commit is contained in:
@@ -1096,3 +1096,23 @@
|
||||
Route::post('/{id}/reject', [\App\Http\Controllers\Api\Admin\HR\LeaveController::class, 'reject'])->name('reject');
|
||||
Route::post('/{id}/cancel', [\App\Http\Controllers\Api\Admin\HR\LeaveController::class, 'cancel'])->name('cancel');
|
||||
});
|
||||
|
||||
// 급여관리 API
|
||||
Route::middleware(['web', 'auth', 'hq.member'])->prefix('admin/hr/payrolls')->name('api.admin.hr.payrolls.')->group(function () {
|
||||
Route::get('/stats', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'stats'])->name('stats');
|
||||
Route::get('/export', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'export'])->name('export');
|
||||
Route::post('/bulk-generate', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'bulkGenerate'])->name('bulk-generate');
|
||||
Route::post('/calculate', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'calculate'])->name('calculate');
|
||||
Route::get('/', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'index'])->name('index');
|
||||
Route::post('/', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'store'])->name('store');
|
||||
Route::put('/{id}', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'update'])->name('update');
|
||||
Route::delete('/{id}', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'destroy'])->name('destroy');
|
||||
Route::post('/{id}/confirm', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'confirm'])->name('confirm');
|
||||
Route::post('/{id}/pay', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'pay'])->name('pay');
|
||||
});
|
||||
|
||||
// 급여 설정 API
|
||||
Route::middleware(['web', 'auth', 'hq.member'])->prefix('admin/hr/payroll-settings')->name('api.admin.hr.payroll-settings.')->group(function () {
|
||||
Route::get('/', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'settingsIndex'])->name('index');
|
||||
Route::put('/', [\App\Http\Controllers\Api\Admin\HR\PayrollController::class, 'settingsUpdate'])->name('update');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user