Files
api-bpjs-surkon/database/satu_data/dokter/subspesialis.go

68 lines
2.0 KiB
Go

package dokter
import (
"bridging-rssa/config"
"bridging-rssa/models/dokter"
"errors"
"log"
"gorm.io/gorm"
)
func GetSubspesialis() ([]dokter.DaftarSubspesialis, error) {
var daftarSubspesialis []dokter.DaftarSubspesialis
result := config.SatuDataDB.Raw(`select * from "daftar_subspesialis"`).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
}
log.Println(daftarSubspesialis)
return daftarSubspesialis, nil
}
func GetSubspesialisByID(idSubspesialis int) (*dokter.DaftarSubspesialis, error) {
var daftarSubspesialis *dokter.DaftarSubspesialis
result := config.SatuDataDB.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).First(&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
}
log.Println(daftarSubspesialis)
return daftarSubspesialis, nil
}
func GetSubspesialisByIDBatch(idSubspesialis []int) ([]dokter.DaftarSubspesialis, error) {
var daftarSubspesialis []dokter.DaftarSubspesialis
result := config.SatuDataDB.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 in ?
order by 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
}
log.Println(daftarSubspesialis)
return daftarSubspesialis, nil
}