feat(webstatement): tambahkan kolom baru dan migrasi untuk log print statement

- **Perubahan Model:**
  - Menambahkan atribut `stmt_sent_type` dan `is_generated` pada model `PrintStatementLog`.
  - Menyesuaikan properti `$fillable` untuk mendukung atribut baru tersebut.
  - Menambahkan properti `is_generated` ke dalam `$casts` untuk tipe data boolean.

- **Migrasi Database:**
  - Membuat file migrasi baru `2025_07_08_090357_add_stmt_sent_type_to_print_statement_logs_table`.
    - Menambahkan kolom `stmt_sent_type` (string, nullable) setelah kolom `status`.
    - Menambahkan kolom `is_generated` (boolean, nullable, default false) setelah kolom `is_available`.
  - Menambahkan rollback pada fungsi `down()` untuk menghapus kolom `stmt_sent_type` dan `is_generated`.

- **Tujuan Perubahan:**
  - Mendukung pencatatan tipe pengiriman statement melalui kolom `stmt_sent_type`.
  - Menambah fleksibilitas dalam pelacakan status pembuatan laporan dengan atribut `is_generated`.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
Daeng Deni Mardaeni
2025-07-08 17:39:23 +07:00
parent 428792ed1b
commit a3060322f9
2 changed files with 33 additions and 0 deletions

View File

@@ -44,11 +44,14 @@ class PrintStatementLog extends Model
'remarks', 'remarks',
'email', 'email',
'email_sent_at', 'email_sent_at',
'stmt_sent_type',
'is_generated',
]; ];
protected $casts = [ protected $casts = [
'is_period_range' => 'boolean', 'is_period_range' => 'boolean',
'is_available' => 'boolean', 'is_available' => 'boolean',
'is_generated' => 'boolean',
'is_downloaded' => 'boolean', 'is_downloaded' => 'boolean',
'downloaded_at' => 'datetime', 'downloaded_at' => 'datetime',
'authorized_at' => 'datetime', 'authorized_at' => 'datetime',

View File

@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('print_statement_logs', function (Blueprint $table) {
$table->string('stmt_sent_type')->after('status')->nullable();
$table->boolean('is_generated')->after('is_available')->nullable()->default(false);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('print_statement_logs', function (Blueprint $table) {
$table->dropColumn('stmt_sent_type');
$table->dropColumn('is_generated');
});
}
};