From 1c76a2c1b840d7aa89ce4e156c628d1a06762d64a6fc2cc2cce0807aa0373137 Mon Sep 17 00:00:00 2001 From: mirza Date: Mon, 7 Oct 2024 09:50:47 +0700 Subject: [PATCH] fix response jadwal dokter --- database/satu_data/dokter/jadwal_dokter.go | 20 ++++++------ handlers/bpjs/jadwal_dokter/jadwal_dokter.go | 32 ++++++++++---------- models/bpjs/jadwal_dokter/jadwal_dokter.go | 14 +++------ 3 files changed, 31 insertions(+), 35 deletions(-) diff --git a/database/satu_data/dokter/jadwal_dokter.go b/database/satu_data/dokter/jadwal_dokter.go index 697fc05..5319589 100644 --- a/database/satu_data/dokter/jadwal_dokter.go +++ b/database/satu_data/dokter/jadwal_dokter.go @@ -19,19 +19,19 @@ func GetJadwalDokterByDPJP(dpjp string) (string, error) { return id, nil } -func GetJadwalSpesialisDokterByID(id string) (string, error) { - var spesialis string - errSelect := config.SatuDataDB.Debug().Raw(`select "Spesialis" from "daftar_jadwal_dokter" where "Dokter" = ? order by "Spesialis"`, id).First(&spesialis).Error - if errSelect != nil { - log.Printf("Failed get data : %v", errSelect) - return "", errSelect - } - return spesialis, nil -} +// func GetJadwalSpesialisDokterByID(id string) (string, error) { +// var spesialis string +// errSelect := config.SatuDataDB.Debug().Raw(`select "Spesialis" from "daftar_jadwal_dokter" where "Dokter" = ? order by "Spesialis"`, id).First(&spesialis).Error +// if errSelect != nil { +// log.Printf("Failed get data : %v", errSelect) +// return "", errSelect +// } +// return spesialis, nil +// } func GetJadwalHariDokterBySpesialis(id string) ([]jadwal_dokter.ListHari, error) { var hari []jadwal_dokter.ListHari - errSelect := config.SatuDataDB.Debug().Raw(`select "id", "Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis" from "daftar_jadwal_dokter" where "Spesialis" = ? order by "id"`, id).Scan(&hari).Error + errSelect := config.SatuDataDB.Debug().Raw(`select "id", "Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis" from "daftar_jadwal_dokter" where "Dokter" = ? order by "id"`, id).Scan(&hari).Error if errSelect != nil { log.Printf("Failed get data : %v", errSelect) return nil, errSelect diff --git a/handlers/bpjs/jadwal_dokter/jadwal_dokter.go b/handlers/bpjs/jadwal_dokter/jadwal_dokter.go index cf8e322..2401001 100644 --- a/handlers/bpjs/jadwal_dokter/jadwal_dokter.go +++ b/handlers/bpjs/jadwal_dokter/jadwal_dokter.go @@ -141,32 +141,34 @@ func GetDokterByDPJP(c *gin.Context) { return } - spesialis, err := dokter.GetJadwalSpesialisDokterByID(idDokter) - if err != nil { - c.JSON(http.StatusInternalServerError, err) - return - } + // spesialis, err := dokter.GetJadwalSpesialisDokterByID(idDokter) + // if err != nil { + // c.JSON(http.StatusInternalServerError, err) + // return + // } - listHari, err := dokter.GetJadwalHariDokterBySpesialis(spesialis) + listHari, err := dokter.GetJadwalHariDokterBySpesialis(idDokter) if err != nil { c.JSON(http.StatusInternalServerError, err) return } log.Println("listHari: ", listHari) - var listIDDokter []string + var IDDokter []string + var idSpesialis []string for _, v := range listHari { - listIDDokter = append(listIDDokter, v.IDDokter) + IDDokter = append(IDDokter, v.IDDokter) + spesialis := strconv.Itoa(v.Spesialis) + idSpesialis = append(idSpesialis, spesialis) + break } - namaDokter, err := dokter.GetNamaLengkapDokter(listIDDokter) + + namaDokter, err := dokter.GetNamaLengkapDokter(IDDokter) if err != nil { c.JSON(http.StatusInternalServerError, err) return } - var idSpesialis []string - idSpesialis = append(idSpesialis, spesialis) - listSpesialis, err := dokter.GetSpesialisByID(idSpesialis) if err != nil { c.JSON(http.StatusInternalServerError, err) @@ -192,16 +194,14 @@ func GetDokterByDPJP(c *gin.Context) { NamaHari: key.NamaHari, KodeHari: key.KodeHari, Waktu: key.Waktu, - DataDokter: jadwal_dokter.DataDokter{ - NamaLengkap: namaLengkap, - HFISCode: k.HFISCode, - }, }) res = append(res, &jadwal_dokter.ResponseListHari{ IDSpesialis: v.ID, Kode: v.Kode, Spesialis: v.Spesialis, NamaHari: key.NamaHari, + NamaLengkap: namaLengkap, + HFISCode: k.HFISCode, JadwalDokter: jadwalDokter, }) } diff --git a/models/bpjs/jadwal_dokter/jadwal_dokter.go b/models/bpjs/jadwal_dokter/jadwal_dokter.go index fcf6ce9..aa256ce 100644 --- a/models/bpjs/jadwal_dokter/jadwal_dokter.go +++ b/models/bpjs/jadwal_dokter/jadwal_dokter.go @@ -57,19 +57,15 @@ type ResponseListHari struct { Kode string `json:"Kode"` Spesialis string `json:"Spesialis"` NamaHari string `json:"Nama_hari"` + NamaLengkap string `json:"nama_lengkap"` + HFISCode string `json:"HFIS_code"` JadwalDokter []ListJadwalDokter `json:"Jadwal_dokter"` } type ListJadwalDokter struct { - NamaHari string `json:"Nama_hari"` - KodeHari int `json:"Kode_hari"` - Waktu string `json:"Waktu"` - DataDokter DataDokter `json:"Data_dokter"` -} - -type DataDokter struct { - NamaLengkap string `json:"nama_lengkap"` - HFISCode string `json:"HFIS_code"` + NamaHari string `json:"Nama_hari"` + KodeHari int `json:"Kode_hari"` + Waktu string `json:"Waktu"` } type ListHari struct {