- **Perbaikan dan Penambahan Komando:**
- Memberikan komando baru `webstatement:check-progress` untuk memantau progres pengiriman email statement.
- Menampilkan informasi seperti `Log ID`, `Batch ID`, `Request Type`, status, hingga persentase progress.
- Menangani secara detail jumlah akun yang diproses, sukses, gagal, dan kalkulasi tingkat keberhasilan.
- Menyediakan penanganan error jika log tidak ditemukan atau terjadi kegagalan lainnya.
- Memperluas komando `webstatement:send-email`:
- Mendukung pengiriman berdasarkan `single account`, `branch`, atau `all branches`.
- Menambahkan validasi parameter `type` (`single`, `branch`, `all`) dan input spesifik seperti `--account` atau `--branch` untuk mode tertentu.
- Melakukan pencatatan log awal dengan metadata lengkap seperti `request_type`, `batch_id`, dan status.
- **Peningkatan Logika Proses Backend:**
- Menambahkan fungsi `createLogEntry` untuk mencatat log pengiriman email statement secara dinamis berdasarkan tipe request.
- Menyediakan reusable method seperti `validateParameters` dan `determineRequestTypeAndTarget` untuk mempermudah pengelolaan parameter pengiriman.
- Memberikan feedback dan panduan kepada pengguna mengenai ID log dan komando monitoring (`webstatement:check-progress`).
- **Penambahan Controller dan Fitur UI:**
- Menambahkan controller baru `EmailStatementLogController`:
- Mendukung pengelolaan log seperti list, detail, dan retry untuk pengiriman ulang email statement.
- Menyediakan fitur pencarian, filter, dan halaman data log yang responsif menggunakan datatable.
- Menambahkan kemampuan resend email untuk log dengan status `completed` atau `failed`.
- Mengimplementasikan UI untuk log pengiriman:
- Halaman daftar monitoring dengan filter berdasarkan branch, account number, request type, status, dan tanggal.
- Menampilkan kemajuan, tingkat keberhasilan, serta tombol aksi seperti detail dan pengiriman ulang.
- **Peningkatan Model dan Validasi:**
- Menyesuaikan model `PrintStatementLog` untuk mendukung lebih banyak atribut seperti `processed_accounts`, `success_count`, `failed_count`, `request_type`, serta metode utilitas seperti `getProgressPercentage()` dan `getSuccessRate()`.
- Memvalidasi parameter input lebih mendalam agar kesalahan dapat diminimalisasi di awal proses.
- **Peningkatan pada View dan Feedback Pengguna:**
- Menambah daftar command berguna untuk user di interface log:
- Status antrian dengan `php artisan queue:work`.
- Monitoring menggunakan komando custom yang baru ditambahkan.
- **Perbaikan Logging dan Error Handling:**
- Menambahkan logging komprehensif pada semua proses, termasuk batch pengiriman ulang.
- Memastikan rollback pada database jika terjadi error melalui transaksi pada critical path.
Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
154 lines
4.8 KiB
JSON
154 lines
4.8 KiB
JSON
{
|
|
"name": "Webstatement",
|
|
"alias": "webstatement",
|
|
"database": "",
|
|
"description": "",
|
|
"keywords": [],
|
|
"priority": 0,
|
|
"providers": [
|
|
"Modules\\Webstatement\\Providers\\WebstatementServiceProvider"
|
|
],
|
|
"files": [],
|
|
"menu": {
|
|
"main": [
|
|
{
|
|
"title": "Create Periode",
|
|
"path": "periode-statements",
|
|
"icon": "ki-filled ki-calendar text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator"
|
|
]
|
|
},
|
|
{
|
|
"title": "Statement",
|
|
"path": "statements",
|
|
"icon": "ki-filled ki-printer text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator"
|
|
]
|
|
},
|
|
{
|
|
"title": "Kartu ATM",
|
|
"path": "kartu-atm",
|
|
"icon": "ki-filled ki-credit-cart text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator"
|
|
]
|
|
},
|
|
{
|
|
"title": "Nasabah",
|
|
"path": "customer",
|
|
"icon": "ki-filled ki-people text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": []
|
|
},
|
|
{
|
|
"title": "Email Blast",
|
|
"path": "emailblast",
|
|
"icon": "ki-filled ki-sms text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": []
|
|
}
|
|
],
|
|
"laporan": [
|
|
{
|
|
"title": "Laporan Transaksi ATM",
|
|
"path": "atm-reports",
|
|
"icon": "ki-filled ki-printer text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator"
|
|
]
|
|
}
|
|
],
|
|
"master": [
|
|
{
|
|
"title": "Basic Data",
|
|
"path": "basicdata",
|
|
"icon": "ki-filled ki-category text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator",
|
|
"admin"
|
|
],
|
|
"sub": [
|
|
{
|
|
"title": "Jenis Kartu",
|
|
"path": "jenis-kartu",
|
|
"icon": "ki-filled ki-category text-lg",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Pesan Sponsor",
|
|
"path": "migrasi",
|
|
"icon": "ki-filled ki-category text-lg",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": []
|
|
}
|
|
],
|
|
"system": [
|
|
{
|
|
"title": "Logs",
|
|
"path": "logs",
|
|
"icon": "ki-filled ki-tablet-text-down text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator"
|
|
],
|
|
"sub": [
|
|
{
|
|
"title": "Log Biaya Kartu",
|
|
"path": "sync-logs",
|
|
"icon": "ki-filled ki-credit-cart text-lg",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator"
|
|
]
|
|
},
|
|
{
|
|
"title": "Log Email Statement",
|
|
"path": "email-statement-logs",
|
|
"icon": "ki-filled ki-message-text-2 text-lg text-primary",
|
|
"classes": "",
|
|
"attributes": [],
|
|
"permission": "",
|
|
"roles": [
|
|
"administrator"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|