From da7b37e83c489f09fe3ae40929708b0e5efa751f Mon Sep 17 00:00:00 2001 From: Nawcodes Date: Sat, 26 Apr 2025 18:31:51 +0700 Subject: [PATCH] feat: adjust trx and reg --- .../Pages/CreateMsAsuransi.php | 1 + .../Pages/EditMsAsuransi.php | 2 +- .../Pages/ListMsAsuransis.php | 6 ++- .../Pages/ViewMsAsuransi.php | 2 +- .../MsPasienResource/Pages/CreateMsPasien.php | 1 + .../MsPasienResource/Pages/EditMsPasien.php | 2 +- .../MsPasienResource/Pages/ListMsPasiens.php | 5 ++- .../MsPasienResource/Pages/ViewMsPasien.php | 2 +- .../Pages/CreateMsPegawai.php | 1 + .../MsPegawaiResource/Pages/EditMsPegawai.php | 2 +- .../Pages/ListMsPegawais.php | 6 ++- .../MsPegawaiResource/Pages/ViewMsPegawai.php | 2 +- .../Pages/CreateMsRuangPelayanan.php | 1 + .../Pages/EditMsRuangPelayanan.php | 2 +- .../Pages/ListMsRuangPelayanans.php | 6 ++- .../Pages/ViewMsRuangPelayanan.php | 1 + app/Filament/Resources/MsTindakanResource.php | 10 +++++ .../Pages/CreateMsTindakan.php | 1 + .../Pages/EditMsTindakan.php | 1 + .../Pages/ListMsTindakans.php | 5 ++- .../Pages/ViewMsTindakan.php | 1 + .../Resources/TrRegistrasiResource.php | 45 +++++++++++++++---- .../Pages/CreateTrRegistrasi.php | 1 + .../Pages/ListTrRegistrasis.php | 1 + .../Pages/ViewTrRegistrasi.php | 3 +- .../Resources/TrTransaksiResource.php | 31 ++++++++----- .../Pages/ListTrTransaksis.php | 4 +- .../Pages/ViewTrTransaksi.php | 2 +- app/Models/TrRegistrasi.php | 16 +++++++ app/Models/TrTransaksi.php | 11 +++++ .../2025_04_26_072414_tr_registrasi.php | 1 + 31 files changed, 137 insertions(+), 38 deletions(-) diff --git a/app/Filament/Resources/MsAsuransiResource/Pages/CreateMsAsuransi.php b/app/Filament/Resources/MsAsuransiResource/Pages/CreateMsAsuransi.php index 216dd98..7353fa3 100644 --- a/app/Filament/Resources/MsAsuransiResource/Pages/CreateMsAsuransi.php +++ b/app/Filament/Resources/MsAsuransiResource/Pages/CreateMsAsuransi.php @@ -9,4 +9,5 @@ use Filament\Resources\Pages\CreateRecord; class CreateMsAsuransi extends CreateRecord { protected static string $resource = MsAsuransiResource::class; + protected static ?string $title = 'Tambah Asuransi'; } diff --git a/app/Filament/Resources/MsAsuransiResource/Pages/EditMsAsuransi.php b/app/Filament/Resources/MsAsuransiResource/Pages/EditMsAsuransi.php index 7a6191d..95350c0 100644 --- a/app/Filament/Resources/MsAsuransiResource/Pages/EditMsAsuransi.php +++ b/app/Filament/Resources/MsAsuransiResource/Pages/EditMsAsuransi.php @@ -9,7 +9,7 @@ use Filament\Resources\Pages\EditRecord; class EditMsAsuransi extends EditRecord { protected static string $resource = MsAsuransiResource::class; - + protected static ?string $title = 'Edit Asuransi'; protected function getHeaderActions(): array { return [ diff --git a/app/Filament/Resources/MsAsuransiResource/Pages/ListMsAsuransis.php b/app/Filament/Resources/MsAsuransiResource/Pages/ListMsAsuransis.php index 18b72f8..aa12245 100644 --- a/app/Filament/Resources/MsAsuransiResource/Pages/ListMsAsuransis.php +++ b/app/Filament/Resources/MsAsuransiResource/Pages/ListMsAsuransis.php @@ -9,11 +9,13 @@ use Filament\Resources\Pages\ListRecords; class ListMsAsuransis extends ListRecords { protected static string $resource = MsAsuransiResource::class; - + protected static ?string $title = 'Daftar Asuransi'; protected function getHeaderActions(): array { return [ - Actions\CreateAction::make()->label('Tambah Asuransi'), + Actions\CreateAction::make() + ->label('Tambah Asuransi') + ->icon('heroicon-o-plus'), ]; } } diff --git a/app/Filament/Resources/MsAsuransiResource/Pages/ViewMsAsuransi.php b/app/Filament/Resources/MsAsuransiResource/Pages/ViewMsAsuransi.php index bfa682e..a526021 100644 --- a/app/Filament/Resources/MsAsuransiResource/Pages/ViewMsAsuransi.php +++ b/app/Filament/Resources/MsAsuransiResource/Pages/ViewMsAsuransi.php @@ -9,7 +9,7 @@ use Filament\Resources\Pages\ViewRecord; class ViewMsAsuransi extends ViewRecord { protected static string $resource = MsAsuransiResource::class; - + protected static ?string $title = 'Detail Asuransi'; protected function getHeaderActions(): array { return [ diff --git a/app/Filament/Resources/MsPasienResource/Pages/CreateMsPasien.php b/app/Filament/Resources/MsPasienResource/Pages/CreateMsPasien.php index 1ff2c02..c0a36a6 100644 --- a/app/Filament/Resources/MsPasienResource/Pages/CreateMsPasien.php +++ b/app/Filament/Resources/MsPasienResource/Pages/CreateMsPasien.php @@ -9,4 +9,5 @@ use Filament\Resources\Pages\CreateRecord; class CreateMsPasien extends CreateRecord { protected static string $resource = MsPasienResource::class; + protected static ?string $title = 'Tambah Pasien'; } diff --git a/app/Filament/Resources/MsPasienResource/Pages/EditMsPasien.php b/app/Filament/Resources/MsPasienResource/Pages/EditMsPasien.php index 0a3e1c2..ed679aa 100644 --- a/app/Filament/Resources/MsPasienResource/Pages/EditMsPasien.php +++ b/app/Filament/Resources/MsPasienResource/Pages/EditMsPasien.php @@ -9,7 +9,7 @@ use Filament\Resources\Pages\EditRecord; class EditMsPasien extends EditRecord { protected static string $resource = MsPasienResource::class; - + protected static ?string $title = 'Edit Pasien'; protected function getHeaderActions(): array { return [ diff --git a/app/Filament/Resources/MsPasienResource/Pages/ListMsPasiens.php b/app/Filament/Resources/MsPasienResource/Pages/ListMsPasiens.php index 35c408c..f54edc4 100644 --- a/app/Filament/Resources/MsPasienResource/Pages/ListMsPasiens.php +++ b/app/Filament/Resources/MsPasienResource/Pages/ListMsPasiens.php @@ -9,11 +9,14 @@ use Filament\Resources\Pages\ListRecords; class ListMsPasiens extends ListRecords { protected static string $resource = MsPasienResource::class; + protected static ?string $title = 'Daftar Pasien'; protected function getHeaderActions(): array { return [ - Actions\CreateAction::make()->label('Tambah Pasien'), + Actions\CreateAction::make() + ->label('Tambah Pasien') + ->icon('heroicon-o-plus'), ]; } } diff --git a/app/Filament/Resources/MsPasienResource/Pages/ViewMsPasien.php b/app/Filament/Resources/MsPasienResource/Pages/ViewMsPasien.php index c35eb0f..e190448 100644 --- a/app/Filament/Resources/MsPasienResource/Pages/ViewMsPasien.php +++ b/app/Filament/Resources/MsPasienResource/Pages/ViewMsPasien.php @@ -9,7 +9,7 @@ use Filament\Resources\Pages\ViewRecord; class ViewMsPasien extends ViewRecord { protected static string $resource = MsPasienResource::class; - + protected static ?string $title = 'Detail Pasien'; protected function getHeaderActions(): array { return [ diff --git a/app/Filament/Resources/MsPegawaiResource/Pages/CreateMsPegawai.php b/app/Filament/Resources/MsPegawaiResource/Pages/CreateMsPegawai.php index 47ace93..e6b9bfd 100644 --- a/app/Filament/Resources/MsPegawaiResource/Pages/CreateMsPegawai.php +++ b/app/Filament/Resources/MsPegawaiResource/Pages/CreateMsPegawai.php @@ -9,4 +9,5 @@ use Filament\Resources\Pages\CreateRecord; class CreateMsPegawai extends CreateRecord { protected static string $resource = MsPegawaiResource::class; + protected static ?string $title = 'Tambah Pegawai'; } diff --git a/app/Filament/Resources/MsPegawaiResource/Pages/EditMsPegawai.php b/app/Filament/Resources/MsPegawaiResource/Pages/EditMsPegawai.php index 5fc731f..44c2ad5 100644 --- a/app/Filament/Resources/MsPegawaiResource/Pages/EditMsPegawai.php +++ b/app/Filament/Resources/MsPegawaiResource/Pages/EditMsPegawai.php @@ -9,7 +9,7 @@ use Filament\Resources\Pages\EditRecord; class EditMsPegawai extends EditRecord { protected static string $resource = MsPegawaiResource::class; - + protected static ?string $title = 'Edit Pegawai'; protected function getHeaderActions(): array { return [ diff --git a/app/Filament/Resources/MsPegawaiResource/Pages/ListMsPegawais.php b/app/Filament/Resources/MsPegawaiResource/Pages/ListMsPegawais.php index f55960b..510777b 100644 --- a/app/Filament/Resources/MsPegawaiResource/Pages/ListMsPegawais.php +++ b/app/Filament/Resources/MsPegawaiResource/Pages/ListMsPegawais.php @@ -9,11 +9,13 @@ use Filament\Resources\Pages\ListRecords; class ListMsPegawais extends ListRecords { protected static string $resource = MsPegawaiResource::class; - + protected static ?string $title = 'Daftar Pegawai'; protected function getHeaderActions(): array { return [ - Actions\CreateAction::make()->label('Tambah Pegawai'), + Actions\CreateAction::make() + ->label('Tambah Pegawai') + ->icon('heroicon-o-plus'), ]; } } diff --git a/app/Filament/Resources/MsPegawaiResource/Pages/ViewMsPegawai.php b/app/Filament/Resources/MsPegawaiResource/Pages/ViewMsPegawai.php index bbbc8e0..db64f10 100644 --- a/app/Filament/Resources/MsPegawaiResource/Pages/ViewMsPegawai.php +++ b/app/Filament/Resources/MsPegawaiResource/Pages/ViewMsPegawai.php @@ -9,7 +9,7 @@ use Filament\Resources\Pages\ViewRecord; class ViewMsPegawai extends ViewRecord { protected static string $resource = MsPegawaiResource::class; - + protected static ?string $title = 'Detail Pegawai'; protected function getHeaderActions(): array { return [ diff --git a/app/Filament/Resources/MsRuangPelayananResource/Pages/CreateMsRuangPelayanan.php b/app/Filament/Resources/MsRuangPelayananResource/Pages/CreateMsRuangPelayanan.php index ed0998e..891629c 100644 --- a/app/Filament/Resources/MsRuangPelayananResource/Pages/CreateMsRuangPelayanan.php +++ b/app/Filament/Resources/MsRuangPelayananResource/Pages/CreateMsRuangPelayanan.php @@ -9,4 +9,5 @@ use Filament\Resources\Pages\CreateRecord; class CreateMsRuangPelayanan extends CreateRecord { protected static string $resource = MsRuangPelayananResource::class; + protected static ?string $title = 'Tambah Ruang Pelayanan'; } diff --git a/app/Filament/Resources/MsRuangPelayananResource/Pages/EditMsRuangPelayanan.php b/app/Filament/Resources/MsRuangPelayananResource/Pages/EditMsRuangPelayanan.php index be089e2..c5db9e3 100644 --- a/app/Filament/Resources/MsRuangPelayananResource/Pages/EditMsRuangPelayanan.php +++ b/app/Filament/Resources/MsRuangPelayananResource/Pages/EditMsRuangPelayanan.php @@ -9,7 +9,7 @@ use Filament\Resources\Pages\EditRecord; class EditMsRuangPelayanan extends EditRecord { protected static string $resource = MsRuangPelayananResource::class; - + protected static ?string $title = 'Edit Ruang Pelayanan'; protected function getHeaderActions(): array { return [ diff --git a/app/Filament/Resources/MsRuangPelayananResource/Pages/ListMsRuangPelayanans.php b/app/Filament/Resources/MsRuangPelayananResource/Pages/ListMsRuangPelayanans.php index 2d7fbc9..7c08c3e 100644 --- a/app/Filament/Resources/MsRuangPelayananResource/Pages/ListMsRuangPelayanans.php +++ b/app/Filament/Resources/MsRuangPelayananResource/Pages/ListMsRuangPelayanans.php @@ -9,11 +9,13 @@ use Filament\Resources\Pages\ListRecords; class ListMsRuangPelayanans extends ListRecords { protected static string $resource = MsRuangPelayananResource::class; - + protected static ?string $title = 'Daftar Ruang Pelayanan'; protected function getHeaderActions(): array { return [ - Actions\CreateAction::make(), + Actions\CreateAction::make() + ->label('Tambah Ruang Pelayanan') + ->icon('heroicon-o-plus'), ]; } } diff --git a/app/Filament/Resources/MsRuangPelayananResource/Pages/ViewMsRuangPelayanan.php b/app/Filament/Resources/MsRuangPelayananResource/Pages/ViewMsRuangPelayanan.php index 44fbfb5..7f73e5c 100644 --- a/app/Filament/Resources/MsRuangPelayananResource/Pages/ViewMsRuangPelayanan.php +++ b/app/Filament/Resources/MsRuangPelayananResource/Pages/ViewMsRuangPelayanan.php @@ -9,6 +9,7 @@ use Filament\Resources\Pages\ViewRecord; class ViewMsRuangPelayanan extends ViewRecord { protected static string $resource = MsRuangPelayananResource::class; + protected static ?string $title = 'Detail Ruang Pelayanan'; protected function getHeaderActions(): array { diff --git a/app/Filament/Resources/MsTindakanResource.php b/app/Filament/Resources/MsTindakanResource.php index b611c89..eac9963 100644 --- a/app/Filament/Resources/MsTindakanResource.php +++ b/app/Filament/Resources/MsTindakanResource.php @@ -8,6 +8,7 @@ use App\Models\MsTindakan; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; +use Filament\Support\RawJs; use Filament\Tables; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; @@ -30,11 +31,18 @@ class MsTindakanResource extends Resource return $form ->schema([ Forms\Components\TextInput::make('id_tindakan') + ->label('ID Tindakan') ->required() ->maxLength(255), Forms\Components\TextInput::make('nama_tindakan') ->required() ->maxLength(255), + Forms\Components\TextInput::make('tarif_tindakan') + ->mask(RawJs::make('$money($input)')) + ->stripCharacters(',') + ->numeric() + ->required() + ->prefix('Rp'), ]); } @@ -46,6 +54,8 @@ class MsTindakanResource extends Resource ->columns([ TextColumn::make('id_tindakan')->label('ID Tindakan'), TextColumn::make('nama_tindakan')->label('Nama Tindakan'), + TextColumn::make('tarif_tindakan')->label('Tarif Tindakan') + ->money('IDR'), TextColumn::make('created_at')->label('Tanggal Dibuat'), TextColumn::make('updated_at')->label('Tanggal Diubah'), ]) diff --git a/app/Filament/Resources/MsTindakanResource/Pages/CreateMsTindakan.php b/app/Filament/Resources/MsTindakanResource/Pages/CreateMsTindakan.php index 71193d6..c09bb79 100644 --- a/app/Filament/Resources/MsTindakanResource/Pages/CreateMsTindakan.php +++ b/app/Filament/Resources/MsTindakanResource/Pages/CreateMsTindakan.php @@ -9,4 +9,5 @@ use Filament\Resources\Pages\CreateRecord; class CreateMsTindakan extends CreateRecord { protected static string $resource = MsTindakanResource::class; + protected static ?string $title = 'Tambah Tindakan'; } diff --git a/app/Filament/Resources/MsTindakanResource/Pages/EditMsTindakan.php b/app/Filament/Resources/MsTindakanResource/Pages/EditMsTindakan.php index 9de312a..74ec264 100644 --- a/app/Filament/Resources/MsTindakanResource/Pages/EditMsTindakan.php +++ b/app/Filament/Resources/MsTindakanResource/Pages/EditMsTindakan.php @@ -9,6 +9,7 @@ use Filament\Resources\Pages\EditRecord; class EditMsTindakan extends EditRecord { protected static string $resource = MsTindakanResource::class; + protected static ?string $title = 'Edit Tindakan'; protected function getHeaderActions(): array { diff --git a/app/Filament/Resources/MsTindakanResource/Pages/ListMsTindakans.php b/app/Filament/Resources/MsTindakanResource/Pages/ListMsTindakans.php index 2a7fe77..7bb6b96 100644 --- a/app/Filament/Resources/MsTindakanResource/Pages/ListMsTindakans.php +++ b/app/Filament/Resources/MsTindakanResource/Pages/ListMsTindakans.php @@ -9,11 +9,14 @@ use Filament\Resources\Pages\ListRecords; class ListMsTindakans extends ListRecords { protected static string $resource = MsTindakanResource::class; + protected static ?string $title = 'Daftar Tindakan'; protected function getHeaderActions(): array { return [ - Actions\CreateAction::make(), + Actions\CreateAction::make() + ->label('Tambah Tindakan') + ->icon('heroicon-o-plus'), ]; } } diff --git a/app/Filament/Resources/MsTindakanResource/Pages/ViewMsTindakan.php b/app/Filament/Resources/MsTindakanResource/Pages/ViewMsTindakan.php index dd5d9d4..92ed077 100644 --- a/app/Filament/Resources/MsTindakanResource/Pages/ViewMsTindakan.php +++ b/app/Filament/Resources/MsTindakanResource/Pages/ViewMsTindakan.php @@ -9,6 +9,7 @@ use Filament\Resources\Pages\ViewRecord; class ViewMsTindakan extends ViewRecord { protected static string $resource = MsTindakanResource::class; + protected static ?string $title = 'Detail Tindakan'; protected function getHeaderActions(): array { diff --git a/app/Filament/Resources/TrRegistrasiResource.php b/app/Filament/Resources/TrRegistrasiResource.php index 2e0508a..d471142 100644 --- a/app/Filament/Resources/TrRegistrasiResource.php +++ b/app/Filament/Resources/TrRegistrasiResource.php @@ -4,6 +4,10 @@ namespace App\Filament\Resources; use App\Filament\Resources\TrRegistrasiResource\Pages; use App\Filament\Resources\TrRegistrasiResource\RelationManagers; +use App\Models\MsAsuransi; +use App\Models\MsPasien; +use App\Models\MsPegawai; +use App\Models\MsRuangPelayanan; use App\Models\TrRegistrasi; use Filament\Forms; use Filament\Forms\Form; @@ -30,20 +34,32 @@ class TrRegistrasiResource extends Resource ->schema([ Forms\Components\DatePicker::make('tgl_registrasi'), Forms\Components\TextInput::make('nomor_kartu_asuransi') - ->required(), + ->label('Nomor Kartu Asuransi') + ->nullable(), Forms\Components\Select::make('mr_pasien') - ->relationship('pasien', 'nama') + ->label('Pasien') + ->options(MsPasien::all()->pluck('nama', 'mr_pasien')) + ->searchable() ->required(), Forms\Components\Select::make('id_asuransi') - ->relationship('asuransi', 'nama_asuransi') - ->required(), + ->label('Asuransi') + ->options(MsAsuransi::all()->pluck('nama_asuransi', 'id_asuransi')) + ->searchable() + ->nullable(), Forms\Components\Select::make('id_pegawai') - ->relationship('pegawai', 'nama_pegawai') + ->label('Pegawai') + ->options(MsPegawai::all()->pluck('nama_pegawai', 'id_pegawai')) + ->searchable() ->required(), Forms\Components\Select::make('id_ruang_pelayanan') - ->relationship('ruangPelayanan', 'nama_ruang_pelayanan') + ->label('Ruang Pelayanan') + ->options(MsRuangPelayanan::all()->pluck('nama_ruang_pelayanan', 'id_ruang_pelayanan')) + ->searchable() ->required(), + Forms\Components\Textarea::make('keterangan') + ->label('Keterangan') + ->nullable(), ]); } @@ -56,11 +72,22 @@ class TrRegistrasiResource extends Resource TextColumn::make('id_registrasi')->label('ID Registrasi'), TextColumn::make('tgl_registrasi')->label('Tanggal Registrasi'), TextColumn::make('pasien.nama')->label('Pasien'), - TextColumn::make('asuransi.nama_asuransi')->label('Asuransi'), + TextColumn::make('asuransi.nama_asuransi')->label('Asuransi')->default('-'), TextColumn::make('pegawai.nama_pegawai')->label('Pegawai'), TextColumn::make('ruangPelayanan.nama_ruang_pelayanan')->label('Ruang Pelayanan'), - TextColumn::make('created_at')->label('Tanggal Dibuat'), - // TextColumn::make('updated_at')->label('Tanggal Diubah'), + // id transaksi if has + // url + TextColumn::make('transaksi.id_transaksi')->label('ID Transaksi') + ->url( + function ($record) { + // check if nullable dont create a link + if ($record->transaksi) { + return TrTransaksiResource::getUrl('view', ['record' => $record->transaksi->id_transaksi]); + } + } + ) + ->default('Belum Ada Transaksi') + ->openUrlInNewTab(), ]) ->filters([ // diff --git a/app/Filament/Resources/TrRegistrasiResource/Pages/CreateTrRegistrasi.php b/app/Filament/Resources/TrRegistrasiResource/Pages/CreateTrRegistrasi.php index 6153ab8..a9b1cb5 100644 --- a/app/Filament/Resources/TrRegistrasiResource/Pages/CreateTrRegistrasi.php +++ b/app/Filament/Resources/TrRegistrasiResource/Pages/CreateTrRegistrasi.php @@ -9,4 +9,5 @@ use Filament\Resources\Pages\CreateRecord; class CreateTrRegistrasi extends CreateRecord { protected static string $resource = TrRegistrasiResource::class; + protected static ?string $title = 'Tambah Registrasi'; } diff --git a/app/Filament/Resources/TrRegistrasiResource/Pages/ListTrRegistrasis.php b/app/Filament/Resources/TrRegistrasiResource/Pages/ListTrRegistrasis.php index a924f0f..4fbb004 100644 --- a/app/Filament/Resources/TrRegistrasiResource/Pages/ListTrRegistrasis.php +++ b/app/Filament/Resources/TrRegistrasiResource/Pages/ListTrRegistrasis.php @@ -9,6 +9,7 @@ use Filament\Resources\Pages\ListRecords; class ListTrRegistrasis extends ListRecords { protected static string $resource = TrRegistrasiResource::class; + protected static ?string $title = 'Daftar Registrasi'; protected function getHeaderActions(): array { diff --git a/app/Filament/Resources/TrRegistrasiResource/Pages/ViewTrRegistrasi.php b/app/Filament/Resources/TrRegistrasiResource/Pages/ViewTrRegistrasi.php index 5df0e26..2a1db3a 100644 --- a/app/Filament/Resources/TrRegistrasiResource/Pages/ViewTrRegistrasi.php +++ b/app/Filament/Resources/TrRegistrasiResource/Pages/ViewTrRegistrasi.php @@ -9,11 +9,12 @@ use Filament\Resources\Pages\ViewRecord; class ViewTrRegistrasi extends ViewRecord { protected static string $resource = TrRegistrasiResource::class; + protected static ?string $title = 'Detail Registrasi'; protected function getHeaderActions(): array { return [ - Actions\EditAction::make(), + // Actions\EditAction::make(), ]; } } diff --git a/app/Filament/Resources/TrTransaksiResource.php b/app/Filament/Resources/TrTransaksiResource.php index 5133c64..ce28b96 100644 --- a/app/Filament/Resources/TrTransaksiResource.php +++ b/app/Filament/Resources/TrTransaksiResource.php @@ -4,6 +4,9 @@ namespace App\Filament\Resources; use App\Filament\Resources\TrTransaksiResource\Pages; use App\Filament\Resources\TrTransaksiResource\RelationManagers; +use App\Models\MsPegawai; +use App\Models\MsTindakan; +use App\Models\TrRegistrasi; use App\Models\TrTransaksi; use Filament\Forms; use Filament\Forms\Form; @@ -29,17 +32,21 @@ class TrTransaksiResource extends Resource return $form ->schema([ Forms\Components\Select::make('id_registrasi') - ->relationship('registrasi', 'id_registrasi') + ->label('Registrasi') + ->options(TrRegistrasi::all()->pluck('id_registrasi', 'id_registrasi')) + ->searchable() ->required(), Forms\Components\Select::make('id_tindakan') - ->relationship('tindakan', 'id_tindakan') + ->label('Tindakan') + ->options(MsTindakan::all()->pluck('nama_tindakan', 'id_tindakan')) + ->searchable() + ->multiple() ->required(), Forms\Components\Select::make('id_pegawai') - ->relationship('pegawai', 'id_pegawai') + ->label('Pegawai') + ->options(MsPegawai::all()->pluck('nama_pegawai', 'id_pegawai')) + ->searchable() ->required(), - Forms\Components\TextInput::make('jml_tindakan') - ->required(), - // ]); } @@ -49,12 +56,14 @@ class TrTransaksiResource extends Resource return $table ->defaultSort('created_at', 'desc') ->columns([ - TextColumn::make('pegawai.nama_pegawai')->label('Pegawai'), - TextColumn::make('jml_tindakan')->label('Jumlah Tindakan')->default(function ($record) { - return count($record->id_tindakan); - }), + TextColumn::make('id_transaksi')->label('ID Transaksi'), + TextColumn::make('id_registrasi')->label('Registrasi') + ->url(fn($record) => TrRegistrasiResource::getUrl('view', ['record' => $record->id_registrasi])) + ->openUrlInNewTab(), + TextColumn::make('id_tindakan')->label('Tindakan') + ->wrap(), + TextColumn::make('id_pegawai')->label('Pegawai'), TextColumn::make('created_at')->label('Tanggal Dibuat'), - TextColumn::make('updated_at')->label('Tanggal Diubah'), ]) ->filters([ // diff --git a/app/Filament/Resources/TrTransaksiResource/Pages/ListTrTransaksis.php b/app/Filament/Resources/TrTransaksiResource/Pages/ListTrTransaksis.php index 2e9a965..cc6eca6 100644 --- a/app/Filament/Resources/TrTransaksiResource/Pages/ListTrTransaksis.php +++ b/app/Filament/Resources/TrTransaksiResource/Pages/ListTrTransaksis.php @@ -13,7 +13,9 @@ class ListTrTransaksis extends ListRecords protected function getHeaderActions(): array { return [ - Actions\CreateAction::make(), + Actions\CreateAction::make() + ->label('Tambah Transaksi') + ->icon('heroicon-o-plus'), ]; } } diff --git a/app/Filament/Resources/TrTransaksiResource/Pages/ViewTrTransaksi.php b/app/Filament/Resources/TrTransaksiResource/Pages/ViewTrTransaksi.php index 92e1409..c17de3e 100644 --- a/app/Filament/Resources/TrTransaksiResource/Pages/ViewTrTransaksi.php +++ b/app/Filament/Resources/TrTransaksiResource/Pages/ViewTrTransaksi.php @@ -13,7 +13,7 @@ class ViewTrTransaksi extends ViewRecord protected function getHeaderActions(): array { return [ - Actions\EditAction::make(), + // Actions\EditAction::make(), ]; } } diff --git a/app/Models/TrRegistrasi.php b/app/Models/TrRegistrasi.php index b49f605..bc51177 100644 --- a/app/Models/TrRegistrasi.php +++ b/app/Models/TrRegistrasi.php @@ -3,6 +3,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Str; class TrRegistrasi extends Model { @@ -11,6 +12,16 @@ class TrRegistrasi extends Model protected $keyType = 'string'; protected $guarded = []; + + protected static function booted() + { + static::creating(function ($model) { + if (empty($model->id_registrasi)) { + $model->id_registrasi = 'REG-' . strtoupper(Str::random(6)); + } + }); + } + public function pasien() { return $this->belongsTo(MsPasien::class, 'mr_pasien', 'mr_pasien'); @@ -35,4 +46,9 @@ class TrRegistrasi extends Model { return $this->belongsTo(MsTindakan::class, 'id_tindakan', 'id_tindakan'); } + + public function transaksi() + { + return $this->hasOne(TrTransaksi::class, 'id_registrasi', 'id_registrasi'); + } } diff --git a/app/Models/TrTransaksi.php b/app/Models/TrTransaksi.php index d5c34ab..3939bd3 100644 --- a/app/Models/TrTransaksi.php +++ b/app/Models/TrTransaksi.php @@ -3,6 +3,8 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Str; + class TrTransaksi extends Model { @@ -14,6 +16,15 @@ class TrTransaksi extends Model 'id_tindakan' => 'array', ]; + protected static function booted() + { + static::creating(function ($model) { + if (empty($model->id_transaksi)) { + $model->id_transaksi = 'TRX-' . strtoupper(Str::random(6)); + } + }); + } + public function registrasi() { return $this->belongsTo(TrRegistrasi::class, 'id_registrasi', 'id_registrasi'); diff --git a/database/migrations/2025_04_26_072414_tr_registrasi.php b/database/migrations/2025_04_26_072414_tr_registrasi.php index b4d6c6f..119d0eb 100644 --- a/database/migrations/2025_04_26_072414_tr_registrasi.php +++ b/database/migrations/2025_04_26_072414_tr_registrasi.php @@ -19,6 +19,7 @@ return new class extends Migration $table->string('id_pegawai'); $table->string('id_ruang_pelayanan'); $table->string('nomor_kartu_asuransi')->nullable(); + $table->text('keterangan')->nullable(); $table->timestamps();