Files
api-poliklinik/pkg/database/satu_data/Practitioner.go
2025-04-24 14:31:22 +07:00

39 lines
1.2 KiB
Go

package satu_data
import (
"api-poliklinik/pkg/models/satu_data"
"errors"
"gorm.io/gorm"
"log"
)
func (s *DatabaseService) PractitionerGetData() []*satu_data.PractitionerGetData {
var datapractitioner []*satu_data.PractitionerGetData
query := `select dp.id,dp."NIP", dk."Jenis_kelamin",
array(
select dgd. "Gelar_depan"
from data_pegawai_daftar_gelar_depan dpdgd
left join daftar_gelar_depan dgd on dpdgd.daftar_gelar_depan_id = dgd.id where dpdgd.data_pegawai_id = dp.id
) AS gelardepan ,
dk."Nama_lengkap" ,
array(
select dgb. "Gelar_belakang"
from data_pegawai_daftar_gelar_belakang dpdgb
left join daftar_gelar_belakang dgb on dpdgb.daftar_gelar_belakang_id = dgb.id where dpdgb.data_pegawai_id = dp.id
) AS gelarbelakang
from "data_pegawai" dp
left join data_ktp dk on dp."KTP" = dk.id
left join daftar_practitioner dp2 on dp2.id = dp."Practitioner" where dp2."Code" = 'doctor'`
errQuery := s.DB.Debug().Raw(query).Scan(&datapractitioner).Error
if errQuery != nil {
if errors.Is(errQuery, gorm.ErrRecordNotFound) {
errMsg := errors.New("Data Tidak Ditemukan")
log.Println(errMsg)
return nil
}
log.Println(errQuery)
return nil
}
return datapractitioner
}