Merge remote-tracking branch 'origin/staging' into origin/production

This commit is contained in:
Linksehat Staging Server
2024-01-19 14:12:57 +07:00
3 changed files with 218 additions and 7 deletions

View File

@@ -0,0 +1,212 @@
<?php
namespace Database\Seeders;
use App\Models\OLDLMS\JadwalDokter;
use App\Models\OLDLMS\Speciality;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class UpdateTarifLMSSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// [
// [
// "sKodeRS" => "A",
// "sHealthCare" => "Rumah Sakit Awal Bros Sudirman Pekanbaru",
// ],
// [
// "sKodeRS" => "B",
// "sHealthCare" => "Rumah Sakit Awal Bros Batam",
// ],
// [
// "sKodeRS" => "BW",
// "sHealthCare" => "Primaya Hospital Bhakti Wara",
// ],
// [
// "sKodeRS" => "C",
// "sHealthCare" => "Primaya Hospital Tangerang",
// ],
// [
// "sKodeRS" => "D",
// "sHealthCare" => "Primaya Hospital Bekasi Barat",
// ],
// [
// "sKodeRS" => "E",
// "sHealthCare" => "Primaya Evasari Hospital",
// ],
// [
// "sKodeRS" => "F",
// "sHealthCare" => "Primaya Hospital Makassar",
// ],
// [
// "sKodeRS" => "G",
// "sHealthCare" => "Rumah Sakit Awal Bros Ujung Batu",
// ],
// [
// "sKodeRS" => "I",
// "sHealthCare" => "Rumah Sakit Awal Bros Panam",
// ],
// [
// "sKodeRS" => "K",
// "sHealthCare" => "Rumah Sakit Awal Bros Ahmad Yani",
// ],
// [
// "sKodeRS" => "M",
// "sHealthCare" => "Primaya Hospital Bekasi Timur",
// ],
// [
// "sKodeRS" => "N",
// "sHealthCare" => "Primaya Hospital Betang Pambelum",
// ],
// [
// "sKodeRS" => "O",
// "sHealthCare" => "Primaya Hospital Inco Sorowako",
// ],
// [
// "sKodeRS" => "P",
// "sHealthCare" => "Primaya Hospital Bekasi Utara",
// ],
// [
// "sKodeRS" => "PK",
// "sHealthCare" => "Primaya Hospital Pasar Kemis",
// ],
// [
// "sKodeRS" => "Q",
// "sHealthCare" => "Primaya Hospital Karawang",
// ],
// [
// "sKodeRS" => "SK",
// "sHealthCare" => "Primaya Hospital Sukabumi",
// ],
// ]
$dataTarifs = [
// [
// 'adm_rajal' => null,
// 'appt_umum' => null,
// 'walkin_umum' => null,
// 'telekonsul_umum' => null,
// 'appt_spesialis' => 250000,
// 'walkin_spesialis' => 250000,
// 'telekonsul_spesialis' => 213000,
// 'appt_subspesialis' => 345000,
// 'walkin_subspesialis' => 345000,
// 'telekonsul_subspesialis' => 293000,
// 'applied_to' => ['A', 'KODERSLMS']
// ],
[
'adm_rajal' => 100000,
'appt_umum' => 120000,
'walkin_umum' => 120000,
'telekonsul_umum' => 102000,
'appt_spesialis' => 250000,
'walkin_spesialis' => 250000,
'telekonsul_spesialis' => 213000,
'appt_subspesialis' => 345000,
'walkin_subspesialis' => 345000,
'telekonsul_subspesialis' => 293000,
'applied_to' => ['P']
]
];
$spesialisUmum = Speciality::where('sSlug', 'general-practitioner')->first();
foreach ($dataTarifs as $tarif) {
// [MARK] : UMUM
// Update Tarif Dokter Umum
$updateUmum = [];
if ($tarif['walkin_umum'] != null) {
$updateUmum['nBiaya'] = $tarif['walkin_umum'];
}
if ($tarif['telekonsul_umum'] != null) {
$updateUmum['nBiayaTC'] = $tarif['telekonsul_umum'];
$updateUmum['nBiayaATC'] = $tarif['telekonsul_umum'];
}
if (count($updateUmum)) {
// $updateUmum['dUpdateOn'] = now();
// Updating
$dokUmum = JadwalDokter::query()
->where('nIDSpesialis', $spesialisUmum->nID)
->whereHas('healthcare', function($hc) use ($tarif) {
$hc->whereIn('sKodeRS', $tarif['applied_to'])
->withTrashed();
})
->withTrashed()
->update($updateUmum);
$this->command->info('Updating : Dokter Umum');
}
// [MARK] : SPESIALIS
// Update Tarif Dokter Spesialis
$updateSpesialis = [];
if ($tarif['walkin_spesialis'] != null) {
$updateSpesialis['nBiaya'] = $tarif['walkin_spesialis'];
}
if ($tarif['telekonsul_spesialis'] != null) {
$updateSpesialis['nBiayaTC'] = $tarif['telekonsul_spesialis'];
$updateSpesialis['nBiayaATC'] = $tarif['telekonsul_spesialis'];
}
if (count($updateSpesialis)) {
// $updateSpesialis['dUpdateOn'] = now();
// Updating
$dokSpesialis = JadwalDokter::query()
->whereNot(function ($q) use ($spesialisUmum) {
$q->where('nIDSpesialis', $spesialisUmum->nID);
})
->where('sIsSubSpesialis', 0)
->whereHas('healthcare', function($hc) use ($tarif) {
$hc->whereIn('sKodeRS', $tarif['applied_to'])
->withTrashed();
})
->withTrashed()
->update($updateSpesialis);
$this->command->info('Updating : Dokter Spesialis');
}
// [MARK] : SUBSPESIALIS
// Update Tarif Dokter Sub Spesialis
$updateSubSpesialis = [];
if ($tarif['walkin_subspesialis'] != null) {
$updateSubSpesialis['nBiaya'] = $tarif['walkin_subspesialis'];
}
if ($tarif['telekonsul_subspesialis'] != null) {
$updateSubSpesialis['nBiayaTC'] = $tarif['telekonsul_subspesialis'];
$updateSubSpesialis['nBiayaATC'] = $tarif['telekonsul_subspesialis'];
}
if (count($updateSubSpesialis)) {
// $updateSubSpesialis['dUpdateOn'] = now();
// Updating
$dokSubSpesialis = JadwalDokter::query()
->whereNot(function ($q) use ($spesialisUmum) {
$q->where('nIDSpesialis', $spesialisUmum->nID);
})
->where('sIsSubSpesialis', 1)
->whereHas('healthcare', function($hc) use ($tarif) {
$hc->whereIn('sKodeRS', $tarif['applied_to'])
->withTrashed();
})
->withTrashed()
->update($updateSubSpesialis);
$this->command->info('Updating : Dokter Sub Spesialis');
}
}
}
}

View File

@@ -38,7 +38,7 @@ export default function TableListFinalLog() {
const [data, setData] = useState([]);
// Download LOG
async function handleDownloadLog(request_log_id: any, service_code:any, no_polis:any, full_name:any) {
async function handleDownloadLog(request_log_id: any, service_code:any, no_polis:any, full_name:any, provider:any) {
return axios
.get(`download-final-log/${request_log_id}`, {
responseType: 'blob',
@@ -46,7 +46,7 @@ export default function TableListFinalLog() {
.then((response) => {
console.log(response);
// GL Akhir-010124-OP-00001234 Ratih-LinkSehat
const namaFile = 'GL Akhir-'+getFormattedToday()+'-'+service_code+'-'+no_polis+'-'+full_name+'-LinkSehat.pdf';
const namaFile = 'GL Akhir-'+provider+'-'+getFormattedToday()+'-'+service_code+'-'+no_polis+'-'+full_name+'-LinkSehat.pdf';
const url = URL.createObjectURL(response.data);
const link = document.createElement('a');
link.href = url;
@@ -369,7 +369,7 @@ export default function TableListFinalLog() {
View
</MenuItem>
{obj.status === 'approved' ? (
<MenuItem onClick={() => handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name)}>
<MenuItem onClick={() => handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name, obj.provider)}>
<Iconify icon="eva:download-fill" />
Download Final LOG
</MenuItem>

View File

@@ -42,15 +42,14 @@ export default function TableList() {
const [data, setData] = useState([]);
// Download LOG
async function handleDownloadLog(request_log_id: any, service_code:any, no_polis:any, full_name:any) {
async function handleDownloadLog(request_log_id: any, service_code:any, no_polis:any, full_name:any, provider:any) {
return axios
.get(`download-log/${request_log_id}`, {
responseType: 'blob',
})
.then((response) => {
console.log(response);
// GL Awal-010124-OP-00001234 Ratih-LinkSehat
const namaFile = 'GL Awal-'+getFormattedToday()+'-'+service_code+'-'+no_polis+'-'+full_name+'-LinkSehat.pdf';
const namaFile = 'GL Awal-'+provider+'-'+getFormattedToday()+'-'+service_code+'-'+no_polis+'-'+full_name+'-LinkSehat.pdf';
const url = URL.createObjectURL(response.data);
const link = document.createElement('a');
link.href = url;
@@ -368,7 +367,7 @@ export default function TableList() {
View
</MenuItem>
{obj.status === 'approved' ? (
<MenuItem onClick={() => handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name)}>
<MenuItem onClick={() => handleDownloadLog(obj.id, obj.service_code, obj.no_polis, obj.full_name, obj.provider)}>
<Iconify icon="eva:download-fill" />
Download LOG
</MenuItem>