first commit

This commit is contained in:
2025-04-23 09:29:23 +07:00
commit 76abeaf8ee
25 changed files with 1323 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
package satu_data
import (
"api-poliklinik/pkg/models/satu_data"
"errors"
"gorm.io/gorm"
"log"
)
func (s *DatabaseService) PoliklinikGetData(Status_pelayanan string) []*satu_data.PoliklinikGetData {
var datapoliklinik []*satu_data.PoliklinikGetData
query := `select dlr."Nama",dlr."Kode",dlr."id" from daftar_lokasi_ruang dlr where dlr."Status_pelayanan" = ?`
errQuery := s.DB.Debug().Raw(query, Status_pelayanan).Scan(&datapoliklinik).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 datapoliklinik
}
+38
View File
@@ -0,0 +1,38 @@
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",
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
}
+11
View File
@@ -0,0 +1,11 @@
package satu_data
import "gorm.io/gorm"
type DatabaseService struct {
DB *gorm.DB
}
func NewDatabaseService(db *gorm.DB) *DatabaseService {
return &DatabaseService{DB: db}
}
+22
View File
@@ -0,0 +1,22 @@
package Poliklinik
import (
"api-poliklinik/internal/database"
connDatabase "api-poliklinik/pkg/database/satu_data"
"github.com/gin-gonic/gin"
"log"
"net/http"
)
func GetDataPoliklinik(c *gin.Context) {
db := database.New().GetDB("satudata")
satudata := connDatabase.NewDatabaseService(db)
statuspelayanan := c.Param("statuspelayanan")
log.Println("REQUEST", statuspelayanan)
dataPoliklinik := satudata.PoliklinikGetData(statuspelayanan)
c.JSON(http.StatusOK, dataPoliklinik)
}
+37
View File
@@ -0,0 +1,37 @@
package Practitioner
import (
"api-poliklinik/internal/database"
connDatabase "api-poliklinik/pkg/database/satu_data"
"api-poliklinik/pkg/models/satu_data"
"api-poliklinik/utils"
"github.com/gin-gonic/gin"
"log"
"net/http"
"strings"
)
func GetDataPractitioner(c *gin.Context) {
db := database.New().GetDB("satudata")
satudata := connDatabase.NewDatabaseService(db)
log.Println("REQUEST")
dataPractitioner := satudata.PractitionerGetData()
var responsePractitioner []satu_data.DataResponse
for _, k := range dataPractitioner {
gelarDepan := utils.ReplaceGelar(k.GelarDepan)
gelarBelakang := utils.ReplaceGelar(k.GelarBelakang)
namaLengkap := gelarDepan + " " + k.NamaLengkap + " " + gelarBelakang
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
responsePractitioner = append(responsePractitioner, satu_data.DataResponse{
ID: k.ID,
NIP: k.NIP,
NamaLengkapFull: namaLengkap,
})
}
c.JSON(http.StatusOK, responsePractitioner)
}
+7
View File
@@ -0,0 +1,7 @@
package satu_data
type PoliklinikGetData struct {
ID string `gorm:"column:id" json:"id"`
Nama string `gorm:"column:name" json:"nama"`
Kode string `gorm:"column:kode" json:"kode"`
}
+17
View File
@@ -0,0 +1,17 @@
package satu_data
type PractitionerGetData struct {
ID string `gorm:"column:id" json:"id"`
NIP string `gorm:"column:nip" json:"nip"`
GelarDepan string `gorm:"column:gelardepan" json:"gelardepan"`
NamaLengkap string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"`
GelarBelakang string `gorm:"column:gelarbelakang" json:"gelarbelakang"`
NamaLengkapFull string `json:"nama_lengkap_full"`
}
type DataResponse struct {
ID string `gorm:"column:id" json:"id"`
NIP string `gorm:"column:nip" json:"nip"`
NamaLengkapFull string `json:"nama_lengkap_full"`
}