From 7a508c66911b7e1c234c280e760c2515e91efc2e5f1c52fc4ae1af56d4aa4bb7 Mon Sep 17 00:00:00 2001 From: mirza Date: Thu, 26 Sep 2024 07:53:33 +0700 Subject: [PATCH] fix get dokter --- database/satu_data/dokter/dokter.go | 5 +++-- database/satu_data/dokter/jadwal_dokter.go | 2 +- docs/utils/utils.go | 7 +++++++ handlers/bpjs/jadwal_dokter/jadwal_dokter.go | 12 +++++++++--- models/dokter/dokter.go | 8 ++++---- 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/database/satu_data/dokter/dokter.go b/database/satu_data/dokter/dokter.go index aa22295..688617a 100644 --- a/database/satu_data/dokter/dokter.go +++ b/database/satu_data/dokter/dokter.go @@ -43,12 +43,13 @@ func GetDokter() ([]dokter.DaftarDokterRes, error) { func GetNamaLengkapDokter(idDokter []string) ([]dokter.NamaLengkap, error) { var namaDokter []dokter.NamaLengkap - result := config.SatuDataDB.Debug().Raw(`select dp.id + result := config.SatuDataDB.Debug().Raw(`select dp.id, 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 gelardepan , + dk."Nama_lengkap" , array( select dgb. "Gelar_belakang" from data_pegawai_daftar_gelar_belakang dpdgb diff --git a/database/satu_data/dokter/jadwal_dokter.go b/database/satu_data/dokter/jadwal_dokter.go index ebb0239..bc765c9 100644 --- a/database/satu_data/dokter/jadwal_dokter.go +++ b/database/satu_data/dokter/jadwal_dokter.go @@ -21,7 +21,7 @@ func GetJadwalDokterByDate(hari string) ([]string, error) { func GetJadwalDokterBySpesialis(hari string, spesialis string) ([]string, error) { var listDokter []string - errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and Spesialis = ? order by "Spesialis"`, hari, spesialis).Scan(&listDokter).Error + errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Spesialis" = ? order by "Spesialis"`, hari, spesialis).Scan(&listDokter).Error if errSelect != nil { log.Printf("Failed get data : %v", errSelect) return nil, errSelect diff --git a/docs/utils/utils.go b/docs/utils/utils.go index d0e571f..2a5f1d1 100644 --- a/docs/utils/utils.go +++ b/docs/utils/utils.go @@ -36,3 +36,10 @@ func ConvertDay(day string) string { } return day } + +func ReplaceGelar(gelar string) string { + gelar = strings.ReplaceAll(gelar, "{", "") + gelar = strings.ReplaceAll(gelar, "}", "") + gelar = strings.ReplaceAll(gelar, ",", " ") + return gelar +} diff --git a/handlers/bpjs/jadwal_dokter/jadwal_dokter.go b/handlers/bpjs/jadwal_dokter/jadwal_dokter.go index bf237a4..0655f36 100644 --- a/handlers/bpjs/jadwal_dokter/jadwal_dokter.go +++ b/handlers/bpjs/jadwal_dokter/jadwal_dokter.go @@ -11,6 +11,7 @@ import ( "net/http" "os" "strconv" + "strings" "time" "github.com/gin-gonic/gin" @@ -172,12 +173,17 @@ func GetDokterBySpesialis(c *gin.Context) { if err != nil { c.JSON(http.StatusInternalServerError, err) } - for i, v := range namaDokter { + for _, v := range namaDokter { + gelarDepan := utils.ReplaceGelar(v.GelarDepan) + gelarBelakang := utils.ReplaceGelar(v.GelarBelakang) + namaLengkap := gelarDepan + " " + v.NamaLengkap + " " + gelarBelakang + namaLengkap = strings.TrimPrefix(namaLengkap, " ") + namaLengkap = strings.TrimSuffix(namaLengkap, " ") resDokter = append(resDokter, dktr.ResponseDokter{ ID: v.ID, - NamaLengkap: v.GelarDepan[i] + " " + v.NamaLengkap + " " + v.GelarBelakang[i], + NamaLengkap: namaLengkap, Spesialis: idSpesialis, }) } c.JSON(http.StatusOK, resDokter) -} \ No newline at end of file +} diff --git a/models/dokter/dokter.go b/models/dokter/dokter.go index b18ce13..3b0f884 100644 --- a/models/dokter/dokter.go +++ b/models/dokter/dokter.go @@ -11,10 +11,10 @@ type DaftarDokterRes struct { } type NamaLengkap struct { - ID string `gorm:"column:id" json:"id"` - GelarDepan []string `gorm:"column:gelardepan" json:"gelardepan"` - NamaLengkap string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"` - GelarBelakang []string `gorm:"column:gelarbelakang" json:"gelarbelakang"` + ID string `gorm:"column:id" json:"id"` + GelarDepan string `gorm:"column:gelardepan" json:"gelardepan"` + NamaLengkap string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"` + GelarBelakang string `gorm:"column:gelarbelakang" json:"gelarbelakang"` } type ResponseDokter struct {