From 3c3c26653624bcc67fa71fa7007547b97f2d6f5bf49d07e24fd9db37e2fb04fd Mon Sep 17 00:00:00 2001 From: mirza Date: Wed, 9 Oct 2024 09:36:56 +0700 Subject: [PATCH] update get data surkon and jadwal dokter --- database/satu_data/dokter/jadwal_dokter.go | 6 +- database/satu_data/dokter/subspesialis.go | 24 +++++++- .../satu_data/surat_kontrol/surat_kontrol.go | 2 +- handlers/bpjs/jadwal_dokter/jadwal_dokter.go | 36 ++++++------ handlers/bpjs/surat_kontrol/surat_kontrol.go | 2 + models/bpjs/jadwal_dokter/jadwal_dokter.go | 57 ++++++++----------- models/bpjs/surat_kontrol/surat_kontrol.go | 3 + models/dokter/subspesialis.go | 10 ++-- 8 files changed, 80 insertions(+), 60 deletions(-) diff --git a/database/satu_data/dokter/jadwal_dokter.go b/database/satu_data/dokter/jadwal_dokter.go index 5319589..e423340 100644 --- a/database/satu_data/dokter/jadwal_dokter.go +++ b/database/satu_data/dokter/jadwal_dokter.go @@ -29,9 +29,9 @@ func GetJadwalDokterByDPJP(dpjp string) (string, error) { // 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 "Dokter" = ? order by "id"`, id).Scan(&hari).Error +func GetJadwalHariDokterBySpesialis(id string) ([]jadwal_dokter.JadwalDokterSatuData, error) { + var hari []jadwal_dokter.JadwalDokterSatuData + errSelect := config.SatuDataDB.Debug().Raw(`select * 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/database/satu_data/dokter/subspesialis.go b/database/satu_data/dokter/subspesialis.go index 191fcba..1c68632 100644 --- a/database/satu_data/dokter/subspesialis.go +++ b/database/satu_data/dokter/subspesialis.go @@ -15,10 +15,30 @@ func GetSubspesialis() ([]dokter.DaftarSubspesialis, error) { result := config.SatuDataDB.Debug().Raw(`select * from "daftar_subspesialis"`).Find(&daftarSubspesialis) if result.Error != nil { if !errors.Is(result.Error, gorm.ErrRecordNotFound) { - log.Fatalf("Error get data : %v", result.Error) + log.Printf("Error get data : %v", result.Error) return nil, result.Error } - log.Fatalf("Data kosong: %v", result.Error) + log.Printf("Data kosong: %v", result.Error) + return daftarSubspesialis, nil + } + + log.Println(daftarSubspesialis) + return daftarSubspesialis, nil +} + +func GetSubspesialisByID(idSubspesialis int) ([]dokter.DaftarSubspesialis, error) { + var daftarSubspesialis []dokter.DaftarSubspesialis + + result := config.SatuDataDB.Debug().Raw(`select dss.*, ds."Spesialis" + from "daftar_subspesialis" dss + left join "daftar_spesialis" ds on ds."id" = dss."FK_daftar_spesialis_ID" + where dss.id = ?`, idSubspesialis).Find(&daftarSubspesialis) + if result.Error != nil { + if !errors.Is(result.Error, gorm.ErrRecordNotFound) { + log.Printf("Error get data : %v", result.Error) + return nil, result.Error + } + log.Printf("Data kosong: %v", result.Error) return daftarSubspesialis, nil } diff --git a/database/satu_data/surat_kontrol/surat_kontrol.go b/database/satu_data/surat_kontrol/surat_kontrol.go index f3f5219..d78947d 100644 --- a/database/satu_data/surat_kontrol/surat_kontrol.go +++ b/database/satu_data/surat_kontrol/surat_kontrol.go @@ -68,7 +68,7 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.InsertDataSuratKontrol) erro func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) { var dataSurKon []*suratkontrol.GetDataSuratKontrol - err := config.SatuDataDB.Debug().Raw(`select dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol", + 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 diff --git a/handlers/bpjs/jadwal_dokter/jadwal_dokter.go b/handlers/bpjs/jadwal_dokter/jadwal_dokter.go index 4420b59..443dbc7 100644 --- a/handlers/bpjs/jadwal_dokter/jadwal_dokter.go +++ b/handlers/bpjs/jadwal_dokter/jadwal_dokter.go @@ -155,11 +155,10 @@ func GetDokterByDPJP(c *gin.Context) { log.Println("listHari: ", listHari) var IDDokter []string - var idSpesialis []string + var idSubspesialis int for _, v := range listHari { - IDDokter = append(IDDokter, v.IDDokter) - spesialis := strconv.Itoa(v.Spesialis) - idSpesialis = append(idSpesialis, spesialis) + IDDokter = append(IDDokter, v.Dokter) + idSubspesialis = v.SubSpesialis break } @@ -169,20 +168,20 @@ func GetDokterByDPJP(c *gin.Context) { return } - listSpesialis, err := dokter.GetSpesialisByID(idSpesialis) + listSubspesialis, err := dokter.GetSubspesialisByID(idSubspesialis) if err != nil { c.JSON(http.StatusInternalServerError, err) } - var res []*jadwal_dokter.ResponseListHari + var res *jadwal_dokter.ResponseListHari - for _, v := range listSpesialis { + for _, v := range listSubspesialis { for _, k := range namaDokter { var jadwalDokter []jadwal_dokter.ListJadwalDokter for _, key := range listHari { jadwalDokter = append(jadwalDokter, jadwal_dokter.ListJadwalDokter{ NamaHari: key.NamaHari, - KodeHari: key.KodeHari, + KodeHari: key.Hari, Waktu: key.Waktu, }) } @@ -191,15 +190,18 @@ func GetDokterByDPJP(c *gin.Context) { namaLengkap := gelarDepan + " " + k.NamaLengkap + " " + gelarBelakang namaLengkap = strings.TrimPrefix(namaLengkap, " ") namaLengkap = strings.TrimSuffix(namaLengkap, " ") - res = append(res, &jadwal_dokter.ResponseListHari{ - IDSpesialis: v.ID, - Kode: v.Kode, - Spesialis: v.Spesialis, - NamaLengkap: namaLengkap, - HFISCode: k.HFISCode, - KodeDPJP: dpjp, - JadwalDokter: jadwalDokter, - }) + hfisCode := strings.TrimSpace(k.HFISCode) + res = &jadwal_dokter.ResponseListHari{ + IDSpesialis: v.IDSpesialis, + Kode: v.Kode, + Spesialis: v.Spesialis, + Subspesialis: v.Subspesialis, + IDSubspesialis: v.Kode, + NamaLengkap: namaLengkap, + HFISCode: hfisCode, + KodeDPJP: dpjp, + JadwalDokter: jadwalDokter, + } } } diff --git a/handlers/bpjs/surat_kontrol/surat_kontrol.go b/handlers/bpjs/surat_kontrol/surat_kontrol.go index 9370e40..6ec8d8c 100644 --- a/handlers/bpjs/surat_kontrol/surat_kontrol.go +++ b/handlers/bpjs/surat_kontrol/surat_kontrol.go @@ -276,6 +276,7 @@ func GetDataSurKon(c *gin.Context) { dateRencanaSurkon, _ := time.Parse(time.RFC3339, v.TglRencanaKontrol) dateRencanaSurkonString := dateRencanaSurkon.Format("02/01/2006") resSurKon = append(resSurKon, &sk.ResponseGetDataSuratKontrol{ + IDDataSurKon: v.IDDataSurKon, TglCetakSurKon: dateCetakSurkonString, TglRencanaKontrol: dateRencanaSurkonString, NomorSurKon: v.NomorSurKon, @@ -284,6 +285,7 @@ func GetDataSurKon(c *gin.Context) { NomorSEP: v.NomorSEP, NamaPasien: v.NamaPasien, NamaDokter: namaLengkap, + NomorKartu: "", }) } c.JSON(http.StatusOK, resSurKon) diff --git a/models/bpjs/jadwal_dokter/jadwal_dokter.go b/models/bpjs/jadwal_dokter/jadwal_dokter.go index 635de18..2e70c67 100644 --- a/models/bpjs/jadwal_dokter/jadwal_dokter.go +++ b/models/bpjs/jadwal_dokter/jadwal_dokter.go @@ -31,35 +31,37 @@ type DaftarSpesialis struct { } type JadwalDokterSatuData struct { - ID int `gorm:"id" json:"id"` - Hari int `gorm:"Hari" json:"Hari"` - NamaHari string `gorm:"Nama_hari" json:"Nama_hari"` - Waktu string `gorm:"Waktu" json:"Waktu"` - Dokter string `gorm:"Dokter" json:"Dokter"` - Spesialis int `gorm:"Spesialis" json:"Spesialis"` - SubSpesialis int `gorm:"Sub_spesialis" json:"Sub_spesialis"` - Status int `gorm:"Status" json:"Status"` + ID int `gorm:"column:id" json:"id"` + Hari int `gorm:"column:Hari" json:"Hari"` + NamaHari string `gorm:"column:Nama_hari" json:"Nama_hari"` + Waktu string `gorm:"column:Waktu" json:"Waktu"` + Dokter string `gorm:"column:Dokter" json:"Dokter"` + Spesialis int `gorm:"column:Spesialis" json:"Spesialis"` + SubSpesialis int `gorm:"column:Sub_spesialis" json:"Sub_spesialis"` + Status int `gorm:"column:Status" json:"Status"` } type JadwalDokterTempSatuData struct { - ID int `gorm:"id" json:"id"` - Hari int `gorm:"Hari" json:"Hari"` - NamaHari string `gorm:"Nama_hari" json:"Nama_hari"` - Waktu string `gorm:"Waktu" json:"Waktu"` - Dokter string `gorm:"Dokter" json:"Dokter"` - Spesialis string `gorm:"Spesialis" json:"Spesialis"` - SubSpesialis string `gorm:"Sub_spesialis" json:"Sub_spesialis"` - Status int `gorm:"Status" json:"Status"` + ID int `gorm:"column:id" json:"id"` + Hari int `gorm:"column:Hari" json:"Hari"` + NamaHari string `gorm:"column:Nama_hari" json:"Nama_hari"` + Waktu string `gorm:"column:Waktu" json:"Waktu"` + Dokter string `gorm:"column:Dokter" json:"Dokter"` + Spesialis string `gorm:"column:Spesialis" json:"Spesialis"` + SubSpesialis string `gorm:"column:Sub_spesialis" json:"Sub_spesialis"` + Status int `gorm:"column:Status" json:"Status"` } type ResponseListHari struct { - IDSpesialis int `json:"id_spesialis"` - Kode string `json:"Kode"` - Spesialis string `json:"Spesialis"` - NamaLengkap string `json:"nama_lengkap"` - HFISCode string `json:"HFIS_code"` - KodeDPJP string `json:"DPJP_code"` - JadwalDokter []ListJadwalDokter `json:"Jadwal_dokter"` + IDSpesialis int `json:"id_spesialis"` + Kode string `json:"Kode"` + Spesialis string `json:"Spesialis"` + Subspesialis string `json:"Subspesialis"` + IDSubspesialis string `json:"id_subspesialis"` + NamaLengkap string `json:"nama_lengkap"` + HFISCode string `json:"HFIS_code"` + KodeDPJP string `json:"DPJP_code"` + JadwalDokter []ListJadwalDokter `json:"Jadwal_dokter"` } type ListJadwalDokter struct { @@ -67,12 +69,3 @@ type ListJadwalDokter struct { KodeHari int `json:"Kode_hari"` Waktu string `json:"Waktu"` } - -type ListHari struct { - ID int `gorm:"column:id" json:"id"` - Spesialis int `gorm:"column:Spesialis" json:"Spesialis"` - KodeHari int `gorm:"column:Hari" json:"Kode_hari"` - NamaHari string `gorm:"column:Nama_hari" json:"Nama_hari"` - Waktu string `gorm:"column:Waktu" json:"Waktu"` - IDDokter string `gorm:"column:Dokter" json:"Dokter"` -} diff --git a/models/bpjs/surat_kontrol/surat_kontrol.go b/models/bpjs/surat_kontrol/surat_kontrol.go index 7e36a51..66b80bf 100644 --- a/models/bpjs/surat_kontrol/surat_kontrol.go +++ b/models/bpjs/surat_kontrol/surat_kontrol.go @@ -193,6 +193,7 @@ type ResponseSuratKontrolBySEP struct { } type GetDataSuratKontrol struct { + IDDataSurKon string `gorm:"column:id" json:"id"` TglCetakSurKon string `gorm:"column:Tanggal_cetak_surat_kontrol" json:"Tanggal_cetak_surat_kontrol"` TglRencanaKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"` NomorSurKon string `gorm:"column:Nomor_surat_kontrol" json:"Nomor_surat_kontrol"` @@ -206,6 +207,7 @@ type GetDataSuratKontrol struct { } type ResponseGetDataSuratKontrol struct { + IDDataSurKon string `json:"id"` TglCetakSurKon string `json:"Tanggal_cetak_surat_kontrol"` TglRencanaKontrol string `json:"Tanggal_rencana_kontrol"` NomorSurKon string `json:"Nomor_surat_kontrol"` @@ -214,4 +216,5 @@ type ResponseGetDataSuratKontrol struct { NomorSEP string `json:"Nomor_sep"` NamaPasien string `json:"Nama_pasien"` NamaDokter string `json:"NamaDokter"` + NomorKartu string `json:"Nomor_kartu"` } diff --git a/models/dokter/subspesialis.go b/models/dokter/subspesialis.go index 1707bd8..c18278f 100644 --- a/models/dokter/subspesialis.go +++ b/models/dokter/subspesialis.go @@ -1,9 +1,9 @@ package dokter type DaftarSubspesialis struct { - ID int `json:"id"` - Kode string `json:"Kode"` - Subspesialis string `json:"Subspesialis"` - FKDaftarSpesialisID int `json:"FK_daftar_spesialis_ID" gorm:"column:FK_daftar_spesialis_ID"` + ID int `json:"id"` + Kode string `json:"Kode"` + Subspesialis string `json:"Subspesialis"` + IDSpesialis int `json:"FK_daftar_spesialis_ID" gorm:"column:FK_daftar_spesialis_ID"` + Spesialis string `gorm:"column:Spesialis" json:"Spesialis"` } -