Files

42 lines
1.6 KiB
Go

package kunjunganpasien
import (
"bridging-rssa/config"
kunjunganpasien "bridging-rssa/models/kunjungan_pasien"
"log"
)
func GetListKunjunganPasien(req *kunjunganpasien.RequestListKunjunganPasien) ([]*kunjunganpasien.ListKunjunganPasien, error) {
var dataKunjunganPasien []*kunjunganpasien.ListKunjunganPasien
query := `select
dkp. "NOMR" as nomr, dkp. "Nama_lengkap" as namalengkap, dkp. "Tanggal_lahir" as tanggallahir,
dkp. "Jenis_kelamin" as jeniskelamin, dkp. "Tanggal_masuk" as tanggalmasukkunjungan,
dkp."Jam_masuk" as jammasukkunjungan, dkp. "Diagnosis_awal_masuk" as dxawalmasuk,
dkp. "Display_diagnosis_awal_masuk" as displaydxawalmasuk, dlr. "Nama" as namaruang,
array(
select dgd. "Gelar_depan"
from data_pegawai_daftar_gelar_depan dpdgd
left join daftar_gelar_depan dgd on dpdgd.daftar_gelar_depan_id = dgd.id
where dpdgd.data_pegawai_id = dp.id
) AS gelardepan,
dkt. "Nama_lengkap" as namalengkapdokter,
array(
select dgb. "Gelar_belakang"
from data_pegawai_daftar_gelar_belakang dpdgb
left join daftar_gelar_belakang dgb on dpdgb.daftar_gelar_belakang_id = dgb.id
where dpdgb.data_pegawai_id = dp.id
) AS gelarbelakang
from data_kunjungan_pasien dkp
join daftar_lokasi_ruang dlr on dlr.id = dkp. "Ruangan"
join data_pegawai dp on dp.id = dkp. "DPJP"
join data_ktp dkt on dkt.id = dp. "KTP"
where dkp."Tanggal_masuk" between ? and ?
order by dkp. "Tanggal_masuk" desc, dkp. "Jam_masuk" desc`
err := config.SatuDataDB.Debug().Raw(query, req.TanggalAwal, req.TanggalAkhir).Scan(&dataKunjunganPasien).Error
if err != nil {
log.Println(err)
return nil, err
}
return dataKunjunganPasien, nil
}