- **Optimalisasi Pembuatan dan Pengunduhan PDF:** - Tambahkan validasi untuk mengecek keberadaan file sebelum pembuatan ulang PDF. - Tambahkan mekanisme pengunduhan langsung file PDF jika sudah tersedia di storage. - Mengelompokkan path penyimpanan dan nama file PDF secara dinamis berdasarkan periode dan nomor rekening. - Integrasi update status `is_available` pada tabel `PrintStatementLog` setelah file berhasil dibuat. - **Refaktor dan Perbaikan Logika Pembuatan PDF:** - Perbarui fungsi `generateStatementPdf` untuk mendukung parameter tambahan terkait penyimpanan file. - Hapus duplikasi logika terkait pembuatan path storage dan file PDF. - Tambahkan handling error untuk memastikan file PDF berhasil dibuat. - **Hapus Fitur Preview PDF:** - Menghapus fungsi `previewPdf()` dan rute terkait karena sudah tidak digunakan. - Membersihkan bagian UI yang merujuk pada fitur ini. - **Peningkatan UI dan Tampilan:** - Menghapus kolom `authorization_status` pada tabel karena tidak relevan. - Penyesuaian styling pada kolom `is_available` untuk menampilkan status ketersediaan file. - **Perubahan pada Rute:** - Membersihkan rute tidak terpakai terkait preview dan generate PDF langsung. - **Refaktor Umum:** - Menghapus kode redundan yang berhubungan dengan penyimpanan file sementara. - Penyesuaian struktur fungsi untuk meningkatkan keterbacaan dan efisiensi. Perubahan ini memastikan proses PDF statement lebih efisien dengan validasi ketat, pengelolaan file yang lebih baik, serta penyederhanaan sistem dengan menghapus fitur yang tidak relevan. Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
122 lines
6.9 KiB
PHP
122 lines
6.9 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use Modules\Webstatement\Http\Controllers\PeriodeStatementController;
|
|
use Modules\Webstatement\Http\Controllers\PrintStatementController;
|
|
use Modules\Webstatement\Http\Controllers\SyncLogsController;
|
|
use Modules\Webstatement\Http\Controllers\JenisKartuController;
|
|
use Modules\Webstatement\Http\Controllers\KartuAtmController;
|
|
use Modules\Webstatement\Http\Controllers\MigrasiController;
|
|
use Modules\Webstatement\Http\Controllers\CustomerController;
|
|
use Modules\Webstatement\Http\Controllers\EmailBlastController;
|
|
use Modules\Webstatement\Http\Controllers\WebstatementController;
|
|
use Modules\Webstatement\Http\Controllers\DebugStatementController;
|
|
use Modules\Webstatement\Http\Controllers\EmailStatementLogController;
|
|
use Modules\Webstatement\Http\Controllers\AtmTransactionReportController;
|
|
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Web Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here is where you can register web routes for your application. These
|
|
| routes are loaded by the RouteServiceProvider within a group which
|
|
| contains the "web" middleware group. Now create something great!
|
|
|
|
|
*/
|
|
|
|
Route::middleware(['auth'])->group(function () {
|
|
//Route::get('/', [WebstatementController::class, 'index'])->name('webstatement.index');
|
|
|
|
// Customer routes
|
|
|
|
Route::get('datatables', [CustomerController::class, 'dataForDatatables'])->name('customer.datatables');
|
|
Route::get('export', [CustomerController::class, 'export'])->name('customer.export');
|
|
Route::post('delete-multiple', [CustomerController::class, 'deleteMultiple'])->name('deleteMultiple');
|
|
Route::resource('customer', CustomerController::class);
|
|
|
|
|
|
Route::prefix('jenis-kartu')->name('jenis-kartu.')->group(function () {
|
|
Route::get('datatables', [JenisKartuController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::get('export', [JenisKartuController::class, 'export'])->name('export');
|
|
Route::post('delete-multiple', [JenisKartuController::class, 'deleteMultiple'])->name('deleteMultiple');
|
|
});
|
|
Route::resource('jenis-kartu', JenisKartuController::class);
|
|
|
|
Route::prefix('kartu-atm')->name('kartu-atm.')->group(function () {
|
|
Route::get('datatables', [KartuAtmController::class, 'dataForDatatables'])->name('datatables');
|
|
});
|
|
Route::resource('kartu-atm', KartuAtmController::class)->only('index');
|
|
|
|
Route::prefix('sync-logs')->name('sync-logs.')->group(function () {
|
|
Route::get('datatables', [SyncLogsController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::get('/download/{id}', [SyncLogsController::class, 'downloadFile'])->name('download');
|
|
|
|
});
|
|
Route::resource('sync-logs', SyncLogsController::class);
|
|
|
|
Route::prefix('emailblast')->group(function () {
|
|
Route::get('/', [EmailBlastController::class, 'index'])->name('emailblast.index');
|
|
Route::get('/create', [EmailBlastController::class, 'create'])->name('emailblast.create');
|
|
Route::post('/', [EmailBlastController::class, 'store'])->name('emailblast.store');
|
|
Route::get('/{id}/view', [EmailBlastController::class, 'view'])->name('emailblast.view');
|
|
Route::get('/datatables', [EmailBlastController::class, 'datatables'])->name('emailblast.datatables');
|
|
});
|
|
|
|
// Periode Statement Routes
|
|
Route::group(['prefix' => 'periode-statements', 'as' => 'periode-statements.', 'middleware' => ['auth']], function () {
|
|
Route::get('/datatables', [PeriodeStatementController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::get('/export', [PeriodeStatementController::class, 'export'])->name('export');
|
|
|
|
// Process, complete, and fail routes
|
|
Route::get('/{periodeStatement}/process', 'PeriodeStatementController@process')->name('process');
|
|
Route::get('/{periodeStatement}/complete', 'PeriodeStatementController@complete')->name('complete');
|
|
Route::post('/{periodeStatement}/fail', 'PeriodeStatementController@fail')->name('fail');
|
|
|
|
// Authorization routes
|
|
Route::get('/pending-authorization', 'PeriodeStatementController@pendingAuthorization')->name('pending-authorization');
|
|
Route::get('/{periodeStatement}/authorize', 'PeriodeStatementController@showAuthorize')->name('show-authorize');
|
|
Route::post('/{periodeStatement}/authorize', 'PeriodeStatementController@authorize')->name('authorize');
|
|
});
|
|
|
|
Route::resource('periode-statements', PeriodeStatementController::class);
|
|
|
|
Route::group(['prefix' => 'statements', 'as' => 'statements.', 'middleware' => ['auth']], function () {
|
|
Route::get('/datatables', [PrintStatementController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::get('/{statement}/download', [PrintStatementController::class, 'download'])->name('download');
|
|
Route::post('/{statement}/authorize', [PrintStatementController::class, 'authorize'])->name('authorize');
|
|
Route::get('/{statement}/send-email', [PrintStatementController::class, 'sendEmail'])->name('send-email');
|
|
});
|
|
|
|
Route::resource('statements', PrintStatementController::class);
|
|
|
|
|
|
// ATM Transaction Report Routes
|
|
Route::group(['prefix' => 'atm-reports', 'as' => 'atm-reports.', 'middleware' => ['auth']], function () {
|
|
Route::get('/datatables', [AtmTransactionReportController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::get('/{atmReport}/download', [AtmTransactionReportController::class, 'download'])->name('download');
|
|
Route::post('/{atmReport}/authorize', [AtmTransactionReportController::class, 'authorize'])->name('authorize');
|
|
Route::get('/{atmReport}/send-email', [AtmTransactionReportController::class, 'sendEmail'])->name('send-email');
|
|
Route::post('/{atmReport}/retry', [AtmTransactionReportController::class, 'retry'])->name('retry');
|
|
});
|
|
|
|
Route::resource('atm-reports', AtmTransactionReportController::class);
|
|
|
|
// Email Statement Log Routes
|
|
Route::group(['prefix' => 'email-statement-logs', 'as' => 'email-statement-logs.', 'middleware' => ['auth']], function () {
|
|
Route::get('/datatables', [EmailStatementLogController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::post('/{id}/resend-email', [EmailStatementLogController::class, 'resendEmail'])->name('resend-email');
|
|
});
|
|
Route::resource('email-statement-logs', EmailStatementLogController::class)->only(['index', 'show']);
|
|
});
|
|
|
|
Route::get('/stmt-export-csv', [WebstatementController::class, 'index'])->name('webstatement.index');
|
|
|
|
Route::prefix('debug')->group(function () {
|
|
Route::get('/test-statement',[WebstatementController::class,'printStatementRekening'])->name('webstatement.test');
|
|
Route::post('/statement', [DebugStatementController::class, 'debugStatement'])->name('debug.statement');
|
|
Route::get('/statements', [DebugStatementController::class, 'listStatements'])->name('debug.statements.list');
|
|
});
|