68 lines
2.0 KiB
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
|
|
}
|