Files
api-bpjs-surkon/database/satu_data/surat_kontrol/surat_kontrol.go

70 lines
2.7 KiB
Go

package suratkontrol
import (
"bridging-rssa/config"
suratkontrol "bridging-rssa/models/bpjs/surat_kontrol"
"log"
)
func GetDataKunjunganPasien(idxdaftar string) (*suratkontrol.KunjunganPasien, error) {
var kunjunganPasien *suratkontrol.KunjunganPasien
err := config.SatuDataDB.Debug().Raw(`select dkp."IDXDAFTAR" as idxdaftar, dkp."Nomor_sep" as nomorsep,
dlr."Nama" as namaklinik, dlr."Id_location_simgos" as idkliniksimgos, dlr."Kode_hfis_bpjs" as kodehfisklinik,
dk."Nama_lengkap" as namadokter,
dp."KDDOKTER" as kodedokter, dp."HFIS_code" as kodehfisdokter,
dsu."Kode" as kodesubspesialis, dsu."Subspesialis" as subspesialis,
ds."Spesialis" as spesialis,
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,
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,
dkp."Ruangan" as ruangan,
dkp."DPJP"
from data_kunjungan_pasien dkp
left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id
left join data_pegawai dp on dkp."DPJP" = dp.id
left join data_ktp dk on dp."KTP" = dk.id
left join daftar_subspesialis dsu on dp."Subspesialis" = dsu.id
left join daftar_spesialis ds on dsu."FK_daftar_spesialis_ID" = ds.id
where dkp."IDXDAFTAR" = ?`, idxdaftar).First(&kunjunganPasien).Error
if err != nil {
log.Println(err)
return nil, err
}
log.Println("Data Kunjungan Pasien : ", kunjunganPasien)
return kunjunganPasien, err
}
func InsertDataSuratKontrol(reqInsert *suratkontrol.InsertDataSuratKontrol) error {
log.Println("Req Insert Database : ", reqInsert)
insertQuery := `insert into data_surat_kontrol ("status", "user_created", "Tanggal_cetak_surat_kontrol", "Tanggal_rencana_kontrol",
"Nomor_surat_kontrol", "Kunjungan_pasien", "Ruangan_surat_kontrol", "DPJP_surat_kontrol", "Status_surat_kontrol",
"User_created_surat_kontrol")
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
err := config.SatuDataDB.Debug().Exec(insertQuery,
reqInsert.Status,
reqInsert.UserCreated,
reqInsert.TglCetakSurKon,
reqInsert.TglRencanaKontrol,
reqInsert.NomorSurKon,
reqInsert.KunjunganPasien,
reqInsert.RuanganSurKon,
reqInsert.DPJPSurKon,
reqInsert.StatusSurKon,
reqInsert.UserCreatedSurKon,
).Error
if err != nil {
log.Println(err)
return err
}
return nil
}