feat: adjust trx and reg
This commit is contained in:
parent
563d61c296
commit
da7b37e83c
@ -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';
|
||||
}
|
||||
|
||||
@ -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 [
|
||||
|
||||
@ -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'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 [
|
||||
|
||||
@ -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';
|
||||
}
|
||||
|
||||
@ -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 [
|
||||
|
||||
@ -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'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 [
|
||||
|
||||
@ -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';
|
||||
}
|
||||
|
||||
@ -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 [
|
||||
|
||||
@ -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'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 [
|
||||
|
||||
@ -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';
|
||||
}
|
||||
|
||||
@ -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 [
|
||||
|
||||
@ -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'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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'),
|
||||
])
|
||||
|
||||
@ -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';
|
||||
}
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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([
|
||||
//
|
||||
|
||||
@ -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';
|
||||
}
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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(),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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([
|
||||
//
|
||||
|
||||
@ -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'),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ class ViewTrTransaksi extends ViewRecord
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Actions\EditAction::make(),
|
||||
// Actions\EditAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user