112 lines
3.1 KiB
Go
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
|
|
}
|