make query cari dynamic
This commit is contained in:
No files matched your search
@@ -174,9 +174,10 @@ func GetAllDataSuratKontrol(idSurKon string) (*suratkontrol.DataSuratKontrol, er
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func GetDataSurKonByNoRM(req suratkontrol.RequestCariPasien) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
func GetDataSurKonByNoRM(req suratkontrol.RequestCariPasien, query string, condition string) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
querySelect := `select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
from data_kunjungan_pasien dkp
|
||||
@@ -203,7 +204,9 @@ func GetDataSurKonByNoRM(req suratkontrol.RequestCariPasien) ([]*suratkontrol.Ge
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' and dkp2."NOMR" = ? and date(dsk."Tanggal_rencana_kontrol") between ? and ?`, req.NoRM, req.TanggalAwal, req.TanggalAkhir).Find(&dataSurKon).Error
|
||||
where dsk."Status_surat_kontrol" = '1' `
|
||||
querySelect += query
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, condition, req.TanggalAwal, req.TanggalAkhir).Find(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
@@ -212,78 +215,78 @@ func GetDataSurKonByNoRM(req suratkontrol.RequestCariPasien) ([]*suratkontrol.Ge
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func GetDataSurKonByNoSEP(req suratkontrol.RequestCariPasien) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
from data_kunjungan_pasien dkp
|
||||
left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id where dkp."id" = dsk."Kunjungan_pasien" LIMIT 1) as "Poli_asal",
|
||||
dlr."Nama" as "Poli_tuju",
|
||||
dkp2."Nomor_sep", dkp2."Nama_lengkap", dkp2."IDXDAFTAR",
|
||||
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 ,
|
||||
dk."Nama_lengkap" as "Nama_lengkap_dokter",
|
||||
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,
|
||||
ds."Subspesialis",
|
||||
ds."Kode" as "Kode_poli",
|
||||
dp."HFIS_code" as "Kode_dokter"
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' and dkp2."Nomor_sep" = ? and date(dsk."Tanggal_rencana_kontrol") between ? and ?`, req.NoSEP, req.TanggalAwal, req.TanggalAkhir).Find(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Data Surat Kontrol : ", dataSurKon)
|
||||
return dataSurKon, nil
|
||||
}
|
||||
// func GetDataSurKonByNoSEP(req suratkontrol.RequestCariPasien) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
// var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
// err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
// dsk."Nomor_surat_kontrol",
|
||||
// (select dlr."Nama"
|
||||
// from data_kunjungan_pasien dkp
|
||||
// left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id where dkp."id" = dsk."Kunjungan_pasien" LIMIT 1) as "Poli_asal",
|
||||
// dlr."Nama" as "Poli_tuju",
|
||||
// dkp2."Nomor_sep", dkp2."Nama_lengkap", dkp2."IDXDAFTAR",
|
||||
// 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 ,
|
||||
// dk."Nama_lengkap" as "Nama_lengkap_dokter",
|
||||
// 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,
|
||||
// ds."Subspesialis",
|
||||
// ds."Kode" as "Kode_poli",
|
||||
// dp."HFIS_code" as "Kode_dokter"
|
||||
// from data_surat_kontrol dsk
|
||||
// left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
// left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
// left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
// left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
// left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
// where dsk."Status_surat_kontrol" = '1' and dkp2."Nomor_sep" = ? and date(dsk."Tanggal_rencana_kontrol") between ? and ?`, req.NoSEP, req.TanggalAwal, req.TanggalAkhir).Find(&dataSurKon).Error
|
||||
// if err != nil {
|
||||
// log.Println(err)
|
||||
// return nil, err
|
||||
// }
|
||||
// log.Println("Data Surat Kontrol : ", dataSurKon)
|
||||
// return dataSurKon, nil
|
||||
// }
|
||||
|
||||
func GetDataSurKonByPoliklinik(req suratkontrol.RequestCariPasien) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
from data_kunjungan_pasien dkp
|
||||
left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id where dkp."id" = dsk."Kunjungan_pasien" LIMIT 1) as "Poli_asal",
|
||||
dlr."Nama" as "Poli_tuju",
|
||||
dkp2."Nomor_sep", dkp2."Nama_lengkap", dkp2."IDXDAFTAR",
|
||||
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 ,
|
||||
dk."Nama_lengkap" as "Nama_lengkap_dokter",
|
||||
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,
|
||||
ds."Subspesialis",
|
||||
ds."Kode" as "Kode_poli",
|
||||
dp."HFIS_code" as "Kode_dokter"
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' and ds."id" = ? and date(dsk."Tanggal_rencana_kontrol") between ? and ?`, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir).Find(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Data Surat Kontrol : ", dataSurKon)
|
||||
return dataSurKon, nil
|
||||
}
|
||||
// func GetDataSurKonByPoliklinik(req suratkontrol.RequestCariPasien) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
// var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
// err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
// dsk."Nomor_surat_kontrol",
|
||||
// (select dlr."Nama"
|
||||
// from data_kunjungan_pasien dkp
|
||||
// left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id where dkp."id" = dsk."Kunjungan_pasien" LIMIT 1) as "Poli_asal",
|
||||
// dlr."Nama" as "Poli_tuju",
|
||||
// dkp2."Nomor_sep", dkp2."Nama_lengkap", dkp2."IDXDAFTAR",
|
||||
// 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 ,
|
||||
// dk."Nama_lengkap" as "Nama_lengkap_dokter",
|
||||
// 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,
|
||||
// ds."Subspesialis",
|
||||
// ds."Kode" as "Kode_poli",
|
||||
// dp."HFIS_code" as "Kode_dokter"
|
||||
// from data_surat_kontrol dsk
|
||||
// left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
// left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
// left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
// left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
// left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
// where dsk."Status_surat_kontrol" = '1' and ds."id" = ? and date(dsk."Tanggal_rencana_kontrol") between ? and ?`, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir).Find(&dataSurKon).Error
|
||||
// if err != nil {
|
||||
// log.Println(err)
|
||||
// return nil, err
|
||||
// }
|
||||
// log.Println("Data Surat Kontrol : ", dataSurKon)
|
||||
// return dataSurKon, nil
|
||||
// }
|
||||
@@ -124,7 +124,7 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
responses := &suratkontrol.Response{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "deadline-exceeded") {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "deadline exceeded") {
|
||||
errMsg := errors.New("context deadline exceeded")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
|
||||
@@ -550,23 +550,34 @@ func CariPasienTPP(c *gin.Context) {
|
||||
|
||||
log.Println("request :", req)
|
||||
|
||||
query := ``
|
||||
var data []*sk.GetDataSuratKontrol
|
||||
if req.NoRM != "" {
|
||||
data, err = suratkontrol.GetDataSurKonByNoRM(req)
|
||||
query += `and dkp2."NOMR" = ?`
|
||||
data, err = suratkontrol.GetDataSurKonByNoRM(req, query, req.NoRM)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
} else if req.NoSEP != "" {
|
||||
data, err = suratkontrol.GetDataSurKonByNoSEP(req)
|
||||
query += `and dkp2."Nomor_sep" = ?`
|
||||
data, err = suratkontrol.GetDataSurKonByNoRM(req, query, req.NoSEP)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
} else if req.PoliKlinik != "" {
|
||||
data, err = suratkontrol.GetDataSurKonByPoliklinik(req)
|
||||
query += `and ds."id" = ?`
|
||||
data, err = suratkontrol.GetDataSurKonByNoRM(req, query, req.PoliKlinik)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
data, err = suratkontrol.GetDataSurKonByNoRM(req, query, req.PoliKlinik)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
|
||||
Reference in New Issue
Block a user