package dokter import ( "bridging-rssa/config" "bridging-rssa/models/dokter" "errors" "log" "strconv" "strings" "gorm.io/gorm" ) func GetDokter() ([]dokter.DaftarDokterRes, error) { var listDokter []dokter.DaftarDokter var res []dokter.DaftarDokterRes result := config.SatuDataDB.Debug().Raw(`select "id", "HFIS_code" from "data_pegawai" where "HFIS_code" is not null`).Scan(&listDokter) if result.Error != nil { if !errors.Is(result.Error, gorm.ErrRecordNotFound) { log.Fatalf("Error get data : %v", result.Error) return nil, result.Error } log.Fatalf("Data kosong: %v", result.Error) return nil, nil } log.Println("Data Pegawai: ", listDokter) for _, v := range listDokter { v.HfisCode = strings.TrimSpace(v.HfisCode) hfisCode, err := strconv.Atoi(v.HfisCode) if err != nil { log.Fatalf("Failed Convert ID to Int %v", err) return nil, err } res = append(res, dokter.DaftarDokterRes{ ID: v.ID, HfisCode: hfisCode, }) } log.Println("Data Pegawai: ", res) return res, nil }