feat: adjust trx and reg

This commit is contained in:
Nawcodes 2025-04-26 18:31:51 +07:00
parent 563d61c296
commit da7b37e83c
31 changed files with 137 additions and 38 deletions

View File

@ -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';
}

View File

@ -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 [

View File

@ -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'),
];
}
}

View File

@ -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 [

View File

@ -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';
}

View File

@ -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 [

View File

@ -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'),
];
}
}

View File

@ -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 [

View File

@ -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';
}

View File

@ -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 [

View File

@ -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'),
];
}
}

View File

@ -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 [

View File

@ -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';
}

View File

@ -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 [

View File

@ -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'),
];
}
}

View File

@ -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
{

View File

@ -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'),
])

View File

@ -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';
}

View File

@ -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
{

View File

@ -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'),
];
}
}

View File

@ -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
{

View File

@ -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([
//

View File

@ -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';
}

View File

@ -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
{

View File

@ -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(),
];
}
}

View File

@ -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([
//

View File

@ -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'),
];
}
}

View File

@ -13,7 +13,7 @@ class ViewTrTransaksi extends ViewRecord
protected function getHeaderActions(): array
{
return [
Actions\EditAction::make(),
// Actions\EditAction::make(),
];
}
}

View File

@ -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');
}
}

View File

@ -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');

View File

@ -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();