Files
webstatement/module.json
Daeng Deni Mardaeni 3c01c1728c feat(webstatement): tambah console command dan perbaikan field required untuk laporan closing balance
Menambahkan fitur command line untuk generate laporan closing balance sekaligus memperbaiki pengisian field yang required di database.

Perubahan yang dilakukan:
- Membuat command `webstatement:generate-closing-balance-report` dengan parameter:
  - `account_number`: nomor rekening (required)
  - `period`: format tanggal YYYYMMDD (required)
  - `--user_id=`: ID user (optional, default 1)
- Menambahkan field `report_date` dengan konversi dari parameter `period` menggunakan Carbon
- Menambahkan field `created_by` dan `updated_by` untuk kebutuhan audit trail
- Menambahkan field `ip_address` dan `user_agent` dengan default 'console' untuk identifikasi proses non-web
- Memperbaiki validasi parameter dengan regex dan proper escaping
- Menghindari error SQLSTATE[23502] terkait field not null di database schema
- Menggunakan database transaction untuk menjaga konsistensi data
- Mengupdate fungsi `closing_balance_report_logs` untuk menyimpan semua field yang dibutuhkan
- Integrasi dengan `GenerateClosingBalanceReportJob` untuk pemrosesan laporan secara background
- Menambahkan logging komprehensif untuk monitoring `report_date` dan proses lainnya
- Mendukung eksekusi manual dan penjadwalan via Laravel scheduler
- Kompatibel dengan proses laporan closing balance via web dan CLI

Tujuan perubahan:
- Mempermudah proses generate laporan closing balance melalui CLI secara manual atau terjadwal
- Memastikan seluruh field wajib di `closing_balance_report_logs` terisi dengan benar
- Menyediakan audit trail lengkap dan logging yang detail untuk proses via console
- Meningkatkan keandalan sistem dengan validasi dan error handling yang lebih baik
2025-07-18 07:36:02 +07:00

167 lines
5.2 KiB
JSON

{
"name": "Webstatement",
"alias": "webstatement",
"database": "",
"description": "",
"keywords": [],
"priority": 0,
"providers": [
"Modules\\Webstatement\\Providers\\WebstatementServiceProvider"
],
"files": [
"app/Helpers/helpers.php"
],
"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",
"customer_service"
]
},
{
"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"
]
},{
"title": "Laporan Closing Balance",
"path": "laporan-closing-balance",
"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"
]
}
]
}
]
}
}