39 lines
1.2 KiB
Go
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
|
|
}
|