This commit is contained in:
2023-05-15 11:12:54 +07:00
parent 51fd8f57b3
commit ee0db6d2ab
3 changed files with 87 additions and 87 deletions

View File

@@ -29,4 +29,5 @@ class JadwalDokter extends Model
{
return $this->belongsTo(Healthcare::class, 'nIDHealthCare', 'nID');
}
}

View File

@@ -5,6 +5,8 @@ namespace Database\Seeders;
use App\Models\OLDLMS\Healthcare;
use App\Models\OLDLMS\JadwalDokter;
use App\Models\OLDLMS\JadwalDokterDay;
use App\Models\OLDLMS\Dokter;
use App\Models\OLDLMS\User;
use App\Services\LmsApi;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
@@ -19,22 +21,29 @@ class JadwalDokterSeeder extends Seeder
public function run()
{
$mapHealthcare = [
'Q',
'C',
'D',
'E',
'F',
'M',
'O',
'P',
'Q',
'N',
'SG',
'BW',
'SK',
'PK',
'CK',
'DE'
// 'Q',
// 'C',
// 'D',
// 'E',
// 'F',
// 'M',
// 'O',
// 'P',
// 'Q',
// 'N',
// 'SG',
// 'BW',
// 'SK',
// 'PK',
// 'CK',
// 'DE',
'A',
// 'B',
// 'G',
// 'I',
// 'K',
// 'R',
// 'S'
];
$healthcares = Healthcare::whereIn('sKodeRS', $mapHealthcare)->get();
@@ -47,82 +56,85 @@ class JadwalDokterSeeder extends Seeder
$listDokter = $jadwalDokterDay['data'];
foreach ($listDokter as $dokter) {
$jadwalDokter = JadwalDokter::where('sIDDokter', $dokter['id'])->where('sDepartmenID', $dokter['DepartemenID'])->first() ?? null;
if ($jadwalDokter == null) {
continue;
}
$jadwalDokterApi = LmsApi::jadwalDokter($healthcare->sKodeRS, $dokter['id'], 'walkin');
// if ($jadwalDokter->nID != 1901) {
// continue;
// }
$jadwalDokterDay = $jadwalDokter->jadwalDokterDay()->get() ?? null;
// JadwalDokterDay::where('nIDJadwalDokter', $jadwalDokter->nID)->get() ?? null;
if ($jadwalDokterDay == null) {
continue;
}
// dd($dokter);
$listShcedule = $dokter['JadwalDokter'];
$listShcedule = $jadwalDokterApi['data'];
foreach ($jadwalDokterDay as $day) {
$NewJam = "";
foreach ($listShcedule as $key => $schedule) {
$jam = $schedule['Jam'];
$cek = $schedule['Jam'];
//jika jam memiliki hurug A-Z
if (preg_match('/[A-Z]/', $jam)) {
$jam = $jam;
} else {
//jika terdapat titik
if (strpos($jam, ".") !== false) {
//ganti titik dengan : dan tambahkan 00
$jam = str_replace(".", ":", $jam);
//jika jam nya terdapat strip
if (strpos($jam, "-") !== false) {
//jika didepan strip dan belakang strip ada spasi
if (strpos($jam, " ") !== false) {
//hapus spasi
$jam = str_replace(" ", "", $jam);
}
// try{
$jam = explode("-", $jam);
$jam = $jam[0] . " - " . $jam[1];
// } catch (\Exception $e) {
// $this->command->error($cek . "Id dokter : " . $jadwalDokter->nID);
// }
} else {
$jam = $jam;
}
} else {
//jika terdapat strip
if (strpos($jam, "-") !== false) {
//jika hanya ada strip tidak ada yang lain
if (strlen($jam) > 1) {
//jika sudah ada : maka diabaikan
if (strpos($jam, ":") !== false) {
$jam = explode("-", $jam);
$jam = $jam[0] . " - " . $jam[1];
} else {
//jika didepan strip ada spasi
if (strpos($jam, " ") !== false) {
//hapus spasi
$jam = str_replace(" ", "", $jam);
}
$jam = explode("-", $jam);
$jam = $jam[0] . ":00 - " . $jam[1] . ":00";
}
}
} else if (strpos($jam, ":") !== false) {
$jam = $jam;
} else {
$jam = $jam . ":00";
}
}
// $jam = $schedule['Jam'];
// $cek = $schedule['Jam'];
// //jika jam memiliki hurug A-Z
// if (preg_match('/[A-Z]/', $jam)) {
// $jam = $jam;
// } else {
// //jika terdapat titik
// if (strpos($jam, ".") !== false) {
// //ganti titik dengan : dan tambahkan 00
// $jam = str_replace(".", ":", $jam);
// //jika jam nya terdapat strip
// if (strpos($jam, "-") !== false) {
// //jika didepan strip dan belakang strip ada spasi
// if (strpos($jam, " ") !== false) {
// //hapus spasi
// $jam = str_replace(" ", "", $jam);
// }
// // try{
// $jam = explode("-", $jam);
// $jam = $jam[0] . " - " . $jam[1];
// // } catch (\Exception $e) {
// // $this->command->error($cek . "Id dokter : " . $jadwalDokter->nID);
// // }
// } else {
// $jam = $jam;
// }
// } else {
// //jika terdapat strip
// if (strpos($jam, "-") !== false) {
// //jika hanya ada strip tidak ada yang lain
// if (strlen($jam) > 1) {
// //jika sudah ada : maka diabaikan
// if (strpos($jam, ":") !== false) {
// $jam = explode("-", $jam);
// $jam = $jam[0] . " - " . $jam[1];
// } else {
// //jika didepan strip ada spasi
// if (strpos($jam, " ") !== false) {
// //hapus spasi
// $jam = str_replace(" ", "", $jam);
// }
// $jam = explode("-", $jam);
// $jam = $jam[0] . ":00 - " . $jam[1] . ":00";
// }
// }
// } else if (strpos($jam, ":") !== false) {
// $jam = $jam;
// } else {
// $jam = $jam . ":00";
// }
// }
// }
$jam = "";
if ($schedule['Jam'] != null){
$jamAwal = date('h:i', strtotime($schedule['Jam'][0]));
$jamAkhir = date('h:i', strtotime($schedule['Jam'][count($schedule['Jam'])-1]));
$jam = $jamAwal ." - ". $jamAkhir;
}
if ($day->sHari == $schedule['Hari']) {
if ($schedule['Jam'] == null) {
$NewJam = "";
@@ -133,8 +145,8 @@ class JadwalDokterSeeder extends Seeder
continue;
}
}
$day->sJam = $NewJam;
$day->sJamTC = $NewJam;
$day->save();
}
}

View File

@@ -1,13 +0,0 @@
, PHSM , PHBU , PHMA , PHPK , PHPC , PHBW , PEVH , PHTA , PHSB , PHKA , PHBB , PHBT
Administrasi Rawat Jalan,50000,50000,50000,50000,50000,25000,50000,50000,50000,50000,50000,50000
Konsultasi Dokter Umum,66000,100000,110000,110000,100000,60000,120000,125000,90000,100000,100000,100000
Konsultasi Dokter Spesialis,165000,230000,300000,220000,300000,130000,270000,300000,195000,215000,230000,230000
Konsultasi Dokter Sub Spesialis / Konsultan,275000,329000,370000,303000,400000,140000,350000,385000,250000,305000,329000,329000
Telekonsultasi Dokter Umum,56000,85000,94000,94000,60000,51000,102000,106000,77000,85000,85000,85000
Telekonsultasi Dokter Spesialis,141000,196000,255000,187000,265000,111000,230000,255000,165000,180000,180000,115000
Telekonsultasi Dokter Sub Spesialis,234000,280000,315000,258000,359000,119000,298000,327000,212000,250000,250000,165000
Konsultasi Professor I,,,370000,,500000,,800000,,,,,
Konsultasi Professor II,,,450000,,500000,,600000,,,,,
Konsultasi Dokter Umum (Hari Libur),,,150000,,,,,,120000,,,
Konsultasi Dokter Spesialis (Hari Libur),,,350000,,,,320000,,215000,,,
Konsultasi Laktasi,,,,165000,,,550000,150000,,159000,,
1 PHSM PHBU PHMA PHPK PHPC PHBW PEVH PHTA PHSB PHKA PHBB PHBT
2 Administrasi Rawat Jalan 50000 50000 50000 50000 50000 25000 50000 50000 50000 50000 50000 50000
3 Konsultasi Dokter Umum 66000 100000 110000 110000 100000 60000 120000 125000 90000 100000 100000 100000
4 Konsultasi Dokter Spesialis 165000 230000 300000 220000 300000 130000 270000 300000 195000 215000 230000 230000
5 Konsultasi Dokter Sub Spesialis / Konsultan 275000 329000 370000 303000 400000 140000 350000 385000 250000 305000 329000 329000
6 Telekonsultasi Dokter Umum 56000 85000 94000 94000 60000 51000 102000 106000 77000 85000 85000 85000
7 Telekonsultasi Dokter Spesialis 141000 196000 255000 187000 265000 111000 230000 255000 165000 180000 180000 115000
8 Telekonsultasi Dokter Sub Spesialis 234000 280000 315000 258000 359000 119000 298000 327000 212000 250000 250000 165000
9 Konsultasi Professor I 370000 500000 800000
10 Konsultasi Professor II 450000 500000 600000
11 Konsultasi Dokter Umum (Hari Libur) 150000 120000
12 Konsultasi Dokter Spesialis (Hari Libur) 350000 320000 215000
13 Konsultasi Laktasi 165000 550000 150000 159000