Files
2025-05-11 22:15:40 +07:00

112 lines
3.1 KiB
Go

package satu_data
import (
"api-poliklinik/pkg/models/satu_data"
"api-poliklinik/pkg/models/simrs"
"errors"
"gorm.io/gorm"
"log"
)
func (s *DatabaseService) GetDataAddress() []*satu_data.GetWilayah {
var dataaddress []*satu_data.GetWilayah
query := `SELECT mp.idprovinsi, mp.namaprovinsi,
mko.idkota, mko.namakota,
mkc.idkecamatan, mkc.namakecamatan,
mke.idkelurahan, mke.namakelurahan
FROM m_provinsi mp
JOIN m_kota mko ON mp.idprovinsi = mko.idprovinsi
JOIN m_kecamatan mkc ON mko.idkota = mkc.idkota
JOIN m_kelurahan mke ON mkc.idkecamatan = mke.idkecamatan
LIMIT 10`
errQuery := s.DB.Debug().Raw(query).Scan(&dataaddress).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 dataaddress
}
func (s *DatabaseService) Getprovinsi() []*simrs.Getprovinsi {
var dataprovinsi []*simrs.Getprovinsi
query := `select
mp.idprovinsi as id_idprovinsi, mp.namaprovinsi as nm_namaprovinsi
from m_provinsi mp`
errQuery := s.DB.Debug().Raw(query).Scan(&dataprovinsi).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 dataprovinsi
}
func (s *DatabaseService) Getkota() []*simrs.Getkota {
var datakota []*simrs.Getkota
query := `select
mk.idkota as id_idkota, mk.namakota as nm_namakota,
mp.idprovinsi as ref_idprovinsi , mp.namaprovinsi as ref_namaprovinsi
from m_kota mk
join m_provinsi mp on mp.idprovinsi = mk.idprovinsi;`
errQuery := s.DB.Debug().Raw(query).Scan(&datakota).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 datakota
}
func (s *DatabaseService) Getkecamatan() []*simrs.Getkecamatan {
var datakecamatan []*simrs.Getkecamatan
query := `select
mc.idkecamatan as id_idkecamatan, mc.namakecamatan as nm_namakecamatan,
mk.idkota as ref_idkota, mk.namakota as ref_namakota
from m_kecamatan mc
join m_kota mk on mk.idkota = mc.idkota`
errQuery := s.DB.Debug().Raw(query).Scan(&datakecamatan).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 datakecamatan
}
func (s *DatabaseService) Getkelurahan() []*simrs.GetKelurahan {
var datakelurahan []*simrs.GetKelurahan
query := `select
ml.idkelurahan as id_idkelurahan, ml.namakelurahan as nm_namakelurahan,
mc.idkecamatan as id_idkecamatan, mc.namakecamatan as nm_namakecamatan
from m_kelurahan ml
join m_kecamatan mc on mc.idkecamatan = ml.idkecamatan`
errQuery := s.DB.Debug().Raw(query).Scan(&datakelurahan).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 datakelurahan
}