feat: [재무] 어음 V8 + 상품권 접대비 연동 + 일반전표/계정과목 API
- Bill 확장 필드 (V8), Loan 상품권 카테고리/접대비 자동 연동 - GeneralJournalEntry CRUD, AccountSubject API - 접대비/복리후생비 날짜 필터, 매출채권 soft delete 제외 - 바로빌 연동 API 엔드포인트 추가 - 부가세 상세 조회 API Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,9 +12,11 @@
|
||||
* - 대시보드/보고서
|
||||
*/
|
||||
|
||||
use App\Http\Controllers\Api\V1\AccountSubjectController;
|
||||
use App\Http\Controllers\Api\V1\BadDebtController;
|
||||
use App\Http\Controllers\Api\V1\BankAccountController;
|
||||
use App\Http\Controllers\Api\V1\BankTransactionController;
|
||||
use App\Http\Controllers\Api\V1\BarobillController;
|
||||
use App\Http\Controllers\Api\V1\BarobillSettingController;
|
||||
use App\Http\Controllers\Api\V1\BillController;
|
||||
use App\Http\Controllers\Api\V1\CalendarController;
|
||||
@@ -25,6 +27,7 @@
|
||||
use App\Http\Controllers\Api\V1\DepositController;
|
||||
use App\Http\Controllers\Api\V1\EntertainmentController;
|
||||
use App\Http\Controllers\Api\V1\ExpectedExpenseController;
|
||||
use App\Http\Controllers\Api\V1\GeneralJournalEntryController;
|
||||
use App\Http\Controllers\Api\V1\LoanController;
|
||||
use App\Http\Controllers\Api\V1\PaymentController;
|
||||
use App\Http\Controllers\Api\V1\PayrollController;
|
||||
@@ -182,6 +185,7 @@
|
||||
Route::get('/note-receivables', [DailyReportController::class, 'noteReceivables'])->name('v1.daily-report.note-receivables');
|
||||
Route::get('/daily-accounts', [DailyReportController::class, 'dailyAccounts'])->name('v1.daily-report.daily-accounts');
|
||||
Route::get('/summary', [DailyReportController::class, 'summary'])->name('v1.daily-report.summary');
|
||||
Route::get('/export', [DailyReportController::class, 'export'])->name('v1.daily-report.export');
|
||||
});
|
||||
|
||||
// Comprehensive Analysis API (종합 분석 보고서)
|
||||
@@ -199,12 +203,17 @@
|
||||
|
||||
// Calendar API (CEO 대시보드 캘린더)
|
||||
Route::get('/calendar/schedules', [CalendarController::class, 'summary'])->name('v1.calendar.schedules');
|
||||
Route::post('/calendar/schedules', [CalendarController::class, 'store'])->name('v1.calendar.schedules.store');
|
||||
Route::put('/calendar/schedules/{id}', [CalendarController::class, 'update'])->whereNumber('id')->name('v1.calendar.schedules.update');
|
||||
Route::delete('/calendar/schedules/{id}', [CalendarController::class, 'destroy'])->whereNumber('id')->name('v1.calendar.schedules.destroy');
|
||||
|
||||
// Vat API (CEO 대시보드 부가세 현황)
|
||||
Route::get('/vat/summary', [VatController::class, 'summary'])->name('v1.vat.summary');
|
||||
Route::get('/vat/detail', [VatController::class, 'detail'])->name('v1.vat.detail');
|
||||
|
||||
// Entertainment API (CEO 대시보드 접대비 현황)
|
||||
Route::get('/entertainment/summary', [EntertainmentController::class, 'summary'])->name('v1.entertainment.summary');
|
||||
Route::get('/entertainment/detail', [EntertainmentController::class, 'detail'])->name('v1.entertainment.detail');
|
||||
|
||||
// Welfare API (CEO 대시보드 복리후생비 현황)
|
||||
Route::get('/welfare/summary', [WelfareController::class, 'summary'])->name('v1.welfare.summary');
|
||||
@@ -255,6 +264,17 @@
|
||||
Route::post('/test-connection', [BarobillSettingController::class, 'testConnection'])->name('v1.barobill-settings.test-connection');
|
||||
});
|
||||
|
||||
// Barobill Integration API (바로빌 연동)
|
||||
Route::prefix('barobill')->group(function () {
|
||||
Route::get('/status', [BarobillController::class, 'status'])->name('v1.barobill.status');
|
||||
Route::post('/login', [BarobillController::class, 'login'])->name('v1.barobill.login');
|
||||
Route::post('/signup', [BarobillController::class, 'signup'])->name('v1.barobill.signup');
|
||||
Route::get('/bank-service-url', [BarobillController::class, 'bankServiceUrl'])->name('v1.barobill.bank-service-url');
|
||||
Route::get('/account-link-url', [BarobillController::class, 'accountLinkUrl'])->name('v1.barobill.account-link-url');
|
||||
Route::get('/card-link-url', [BarobillController::class, 'cardLinkUrl'])->name('v1.barobill.card-link-url');
|
||||
Route::get('/certificate-url', [BarobillController::class, 'certificateUrl'])->name('v1.barobill.certificate-url');
|
||||
});
|
||||
|
||||
// Tax Invoice API (세금계산서)
|
||||
Route::prefix('tax-invoices')->group(function () {
|
||||
Route::get('', [TaxInvoiceController::class, 'index'])->name('v1.tax-invoices.index');
|
||||
@@ -286,6 +306,24 @@
|
||||
Route::delete('/{id}/memos/{memoId}', [BadDebtController::class, 'removeMemo'])->whereNumber(['id', 'memoId'])->name('v1.bad-debts.memos.destroy');
|
||||
});
|
||||
|
||||
// General Journal Entry API (일반전표입력)
|
||||
Route::prefix('general-journal-entries')->group(function () {
|
||||
Route::get('', [GeneralJournalEntryController::class, 'index'])->name('v1.general-journal-entries.index');
|
||||
Route::get('/summary', [GeneralJournalEntryController::class, 'summary'])->name('v1.general-journal-entries.summary');
|
||||
Route::post('', [GeneralJournalEntryController::class, 'store'])->name('v1.general-journal-entries.store');
|
||||
Route::get('/{id}', [GeneralJournalEntryController::class, 'show'])->whereNumber('id')->name('v1.general-journal-entries.show');
|
||||
Route::put('/{id}/journal', [GeneralJournalEntryController::class, 'updateJournal'])->whereNumber('id')->name('v1.general-journal-entries.update-journal');
|
||||
Route::delete('/{id}/journal', [GeneralJournalEntryController::class, 'destroyJournal'])->whereNumber('id')->name('v1.general-journal-entries.destroy-journal');
|
||||
});
|
||||
|
||||
// Account Subject API (계정과목)
|
||||
Route::prefix('account-subjects')->group(function () {
|
||||
Route::get('', [AccountSubjectController::class, 'index'])->name('v1.account-subjects.index');
|
||||
Route::post('', [AccountSubjectController::class, 'store'])->name('v1.account-subjects.store');
|
||||
Route::patch('/{id}/status', [AccountSubjectController::class, 'toggleStatus'])->whereNumber('id')->name('v1.account-subjects.toggle-status');
|
||||
Route::delete('/{id}', [AccountSubjectController::class, 'destroy'])->whereNumber('id')->name('v1.account-subjects.destroy');
|
||||
});
|
||||
|
||||
// Bill API (어음관리)
|
||||
Route::prefix('bills')->group(function () {
|
||||
Route::get('', [BillController::class, 'index'])->name('v1.bills.index');
|
||||
|
||||
Reference in New Issue
Block a user