init project
This commit is contained in:
82
pkg/database/simrs/mikrobiologi.go
Normal file
82
pkg/database/simrs/mikrobiologi.go
Normal file
@@ -0,0 +1,82 @@
|
||||
package databaserepo
|
||||
|
||||
import (
|
||||
"api-lis/pkg/models/simrs/mikrobiologi"
|
||||
"errors"
|
||||
"log"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func (s *DatabaseService) GetDataMikroBiologi(req *mikrobiologi.RequestPasienMikrobiologi) ([]*mikrobiologi.DataPasienMikrobiologi, error) {
|
||||
var dataPasien []*mikrobiologi.DataPasienMikrobiologi
|
||||
query := `select tom."nomr" as nomr, tomm."nonota" as nonota, tom."idxdaftar" as idxdaftar, tom."tglorder" as tglorder, tom."nolab" as nolab, tom."rajal" as statusrajal, tom."aps" as statusaps,
|
||||
mp."nama" as nama, mp."noktp" as noktp, mp."noktp_baru" as noktpbaru, mp."tempat" as tmptlahir, mp."tgllahir" as tgllahir, mp."jeniskelamin" as jeniskelamin, mp."alamat" as alamat,
|
||||
mpa."nama" as namaaps, mpa."noktp" as noktpaps, mpa."tempat" as tmptlahiraps, mpa."tgllahir" as tgllahiraps, mpa."jeniskelamin" as jeniskelaminaps, mpa."alamat" as alamataps,
|
||||
mr."nama" as namaruang, mr."kelas" as kelasruang,
|
||||
trj."kodetarif" as kodetarifrajal,
|
||||
trp."kodetarif" as kodetarifranap
|
||||
from t_orderlabmikro tom
|
||||
left join m_pasien mp on mp."nomr" = tom."nomr"
|
||||
left join m_pasien_aps mpa on mpa."nomr" = tom."nomr"
|
||||
left join m_ruang mr on mr."no" = tom."kdpoli"
|
||||
left join t_orderlabmikro_main tomm on tomm."nolab" = tom."nolab"
|
||||
left join t_billrajal trj on trj."nonota" = CAST(tomm."nonota" AS int8)
|
||||
left join t_billranap trp on trp."nonota" = CAST(tomm."nonota" AS int8)
|
||||
where tom."nomr" = ?
|
||||
and tom."idxdaftar" = ?
|
||||
group by (tom."nomr",tomm."nonota",tom."idxdaftar",tom."tglorder",tom."nolab",tom."rajal",tom."aps",mp."nama",mp."noktp",mp."noktp_baru",mp."tempat",mp."tgllahir",mp."jeniskelamin",mp."alamat",mpa."nama",mpa."noktp",
|
||||
mpa."tempat",mpa."tgllahir",mpa."jeniskelamin",mpa."alamat",mr."nama",mr."kelas",trj."kodetarif",trp."kodetarif")
|
||||
`
|
||||
errQuery := s.DB.Debug().Raw(query, req.NOMR, req.IDXDaftar).Scan(&dataPasien).Error
|
||||
if errQuery != nil {
|
||||
if errors.Is(errQuery, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data Tidak Ditemukan")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Println(errQuery)
|
||||
return nil, errQuery
|
||||
}
|
||||
return dataPasien, nil
|
||||
}
|
||||
|
||||
func (s *DatabaseService) GetDataMikroBiologiByNoMR(req *mikrobiologi.RequestPasienMikrobiologi) ([]*mikrobiologi.OrderLabMikroMain, error) {
|
||||
var data []*mikrobiologi.OrderLabMikroMain
|
||||
query := `select * from "t_orderlabmikro_main" where "nomr" = ? and "idxdaftar" = ? and "nolab" = ?`
|
||||
errSelect := s.DB.Debug().Raw(query, req.NOMR, req.IDXDaftar, req.NoLab).Scan(&data).Error
|
||||
if errSelect != nil {
|
||||
if errors.Is(errSelect, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data Tidak Ditemukan")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Println(errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func (s *DatabaseService) GetDataLabMikro(noLab string) ([]*mikrobiologi.OrderLabMikro, bool, error) {
|
||||
var dataMikro []*mikrobiologi.OrderLabMikro
|
||||
querySelect := `select olm."idxordermikro", olm."jenis_pemeriksaan"
|
||||
from t_orderlabmikro olm
|
||||
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
|
||||
where olm."nolab" = ? and fl."sub_kelompok" = 'Jenis Pemeriksaan'`
|
||||
errSelect := s.DB.Debug().Raw(querySelect, noLab).Scan(&dataMikro).Error
|
||||
if errSelect != nil {
|
||||
log.Println(errSelect)
|
||||
return nil, false, errSelect
|
||||
}
|
||||
return dataMikro, true, nil
|
||||
}
|
||||
|
||||
func (s *DatabaseService) UpdateLabMikro(req *mikrobiologi.ReqUpdateLisMikro) error {
|
||||
queryUpdate := `update "t_orderlabmikro" set "no_lokal" = ? where "idxordermikro" = ?`
|
||||
errUpdate := s.DB.Debug().Exec(queryUpdate, req.NoLokal, req.IdxOrderMikro).Error
|
||||
if errUpdate != nil {
|
||||
log.Println(errUpdate)
|
||||
return errUpdate
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user