42 lines
1.6 KiB
Go
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
|
|
}
|