update code a lot
This commit is contained in:
No files matched your search
@@ -55,7 +55,8 @@ func GetNamaLengkapDokter(idDokter []string) ([]dokter.NamaLengkap, error) {
|
||||
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,
|
||||
dp."HFIS_code"
|
||||
dp."HFIS_code",
|
||||
dp."Code_dpjp" as "DPJP_code"
|
||||
from "data_pegawai" dp
|
||||
left join data_ktp dk on dp."KTP" = dk.id
|
||||
WHERE dp.id in ?`, idDokter).Find(&namaDokter)
|
||||
@@ -70,3 +71,19 @@ func GetNamaLengkapDokter(idDokter []string) ([]dokter.NamaLengkap, error) {
|
||||
|
||||
return namaDokter, nil
|
||||
}
|
||||
|
||||
func GetHFISCode(dpjp string) (*dokter.DaftarDokter, error) {
|
||||
var dataDokter *dokter.DaftarDokter
|
||||
err := config.SatuDataDB.Debug().Raw(`select dp."id", dp."HFIS_code" from data_pegawai dp where dp."Code_dpjp" = ?`, dpjp).First(&dataDokter).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data tidak ditemukan")
|
||||
log.Println("error :", errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Println("error :", err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Daftar Dokter :", dataDokter)
|
||||
return dataDokter, nil
|
||||
}
|
||||
@@ -1,126 +1,187 @@
|
||||
package dokter
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/bpjs/jadwal_dokter"
|
||||
"errors"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetJadwalDokterByDPJP(dpjp string) ([]jadwal_dokter.JadwalDokterSatuData, error) {
|
||||
var hari []jadwal_dokter.JadwalDokterSatuData
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select djd.* from "daftar_jadwal_dokter" djd
|
||||
left join "data_pegawai" dp on djd."Dokter" = dp."id" where dp."Code_dpjp" = ? order by djd."id"`, dpjp).Scan(&hari).Error
|
||||
if errSelect != nil {
|
||||
if errors.Is(errSelect, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Dokter Tidak Terdaftar di HFIS")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return hari, nil
|
||||
}
|
||||
|
||||
func GetJadwalHariDokterBySpesialis(id string) ([]jadwal_dokter.JadwalDokterSatuData, error) {
|
||||
var hari []jadwal_dokter.JadwalDokterSatuData
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select * from "daftar_jadwal_dokter" where "Dokter" = ? order by "id"`, id).Scan(&hari).Error
|
||||
if errSelect != nil {
|
||||
if errors.Is(errSelect, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Dokter Tidak Terdaftar di HFIS")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return hari, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterByDate(hari string) ([]string, error) {
|
||||
var spesialis []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Spesialis"`, hari).Scan(&spesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return spesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalSubspesialisByDate(hari string) ([]int, error) {
|
||||
var subspesialis []int
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Sub_spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Sub_spesialis"`, hari).Scan(&subspesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return subspesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySpesialis(hari string, spesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Spesialis" = ? order by "Spesialis"`, hari, spesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySubpesialis(hari string, subspesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Sub_spesialis" = ? order by "Sub_spesialis"`, hari, subspesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokter() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokterTemp() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter_temp"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertJadwalDokter(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter" ("Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ? ,?, ?, ?, ?, ?)`, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, reqInsert.Spesialis, reqInsert.SubSpesialis, reqInsert.Status).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertJadwalDokterTemp(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
spesialis := strconv.Itoa(reqInsert.Spesialis)
|
||||
subspesialis := strconv.Itoa(reqInsert.SubSpesialis)
|
||||
id := uuid.New()
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter_temp" ("id", "Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ?, ?, ?, ?, ?, ?, ?)`, id, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, spesialis, subspesialis, reqInsert.Status).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
package dokter
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/bpjs/jadwal_dokter"
|
||||
"errors"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetJadwalDokterByDPJP(dpjp string) ([]jadwal_dokter.JadwalDokterSatuData, error) {
|
||||
var hari []jadwal_dokter.JadwalDokterSatuData
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select djd.* from "daftar_jadwal_dokter" djd
|
||||
left join "data_pegawai" dp on djd."Dokter" = dp."id" where dp."Code_dpjp" = ? order by djd."id"`, dpjp).Scan(&hari).Error
|
||||
if errSelect != nil {
|
||||
if errors.Is(errSelect, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Dokter Tidak Terdaftar di HFIS")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return hari, nil
|
||||
}
|
||||
|
||||
func GetJadwalHariDokterBySpesialis(id string) ([]jadwal_dokter.JadwalDokterSatuData, error) {
|
||||
var hari []jadwal_dokter.JadwalDokterSatuData
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select * from "daftar_jadwal_dokter" where "Dokter" = ? order by "id"`, id).Scan(&hari).Error
|
||||
if errSelect != nil {
|
||||
if errors.Is(errSelect, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Dokter Tidak Terdaftar di HFIS")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return hari, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterByDate(hari string) ([]string, error) {
|
||||
var spesialis []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Spesialis"`, hari).Scan(&spesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return spesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalSubspesialisByDate(hari string) ([]int, error) {
|
||||
var subspesialis []int
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Sub_spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Sub_spesialis"`, hari).Scan(&subspesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return subspesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySpesialis(hari string, spesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Spesialis" = ? order by "Spesialis"`, hari, spesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySubpesialis(hari string, subspesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Sub_spesialis" = ? order by "Sub_spesialis"`, hari, subspesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokter() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteDataJadwalDokter() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "data_jadwal_dokter"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokterTemp() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter_temp"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func TruncateDataJadwalDokter() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "data_jadwal_dokter"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertJadwalDokter(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter" ("Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ? ,?, ?, ?, ?, ?)`, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, reqInsert.Spesialis, reqInsert.SubSpesialis, reqInsert.Status).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertDataJadwalDokter(reqInsert *jadwal_dokter.DataJadwalDokterSatuData) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "data_jadwal_dokter" ("id", "Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Tanggal_jadwal") values (?, ?, ? ,?, ?, ?, ?, ?)`, reqInsert.ID, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, reqInsert.Spesialis, reqInsert.SubSpesialis, reqInsert.TanggalJadwal).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertJadwalDokterTemp(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
spesialis := strconv.Itoa(reqInsert.Spesialis)
|
||||
subspesialis := strconv.Itoa(reqInsert.SubSpesialis)
|
||||
id := uuid.New()
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter_temp" ("id", "Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ?, ?, ?, ?, ?, ?, ?)`, id, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, spesialis, subspesialis, reqInsert.Status).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetAllJadwalDokter(condition string, args []interface{}) ([]*jadwal_dokter.ListDaftarJadwalDokter, error) {
|
||||
var listDokter []*jadwal_dokter.ListDaftarJadwalDokter
|
||||
query := `select djd."Hari" as valuehari, djd."Nama_hari" as hari, djd."Waktu" as waktu, ds."Spesialis" as spesialis, dss."Subspesialis" as subspesialis,
|
||||
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,
|
||||
dkt. "Nama_lengkap" as namalengkap,
|
||||
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 daftar_jadwal_dokter djd
|
||||
join daftar_spesialis ds on ds.id = djd."Spesialis"
|
||||
join daftar_subspesialis dss on dss.id = djd."Sub_spesialis"
|
||||
join data_pegawai dp on dp.id = djd."Dokter"
|
||||
join data_ktp dkt on dkt.id = dp."KTP" `
|
||||
order := ` order by djd."Hari" asc, ds."Spesialis" asc, dss."Subspesialis" asc, djd."Waktu" asc`
|
||||
query += condition + order
|
||||
err := config.SatuDataDB.Debug().Raw(query, args...).Scan(&listDokter).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed Get data : %v", err)
|
||||
return nil, err
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package jadwal
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/jadwal"
|
||||
"log"
|
||||
)
|
||||
|
||||
func GetJadwalLibur(date string) (*jadwal.DaftarJadwalLiburPelayanan, bool, error) {
|
||||
var jadwalLibur *jadwal.DaftarJadwalLiburPelayanan
|
||||
query := `select * from daftar_jadwal_libur_pelayanan where "Tanggal_libur_pelayanan" = ?`
|
||||
q := config.SatuDataDB.Debug().Raw(query, date).Scan(&jadwalLibur)
|
||||
if q.Error != nil {
|
||||
log.Println(q.Error)
|
||||
return nil, false, q.Error
|
||||
} else if q.RowsAffected == 0 {
|
||||
log.Println("Tidak pada hari libur")
|
||||
return jadwalLibur, false, nil
|
||||
}
|
||||
return jadwalLibur, true, nil
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package kunjunganpasien
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
kunjunganpasien "bridging-rssa/models/kunjungan_pasien"
|
||||
"log"
|
||||
)
|
||||
|
||||
func GetListKunjunganPasien(req *kunjunganpasien.RequestListKunjunganPasien) ([]*kunjunganpasien.ListKunjunganPasien, error) {
|
||||
var dataKunjunganPasien []*kunjunganpasien.ListKunjunganPasien
|
||||
query := `select
|
||||
dkp. "NOMR" as nomr, dkp. "Nama_lengkap" as namalengkap, dkp. "Tanggal_lahir" as tanggallahir,
|
||||
dkp. "Jenis_kelamin" as jeniskelamin, dkp. "Tanggal_masuk" as tanggalmasukkunjungan,
|
||||
dkp."Jam_masuk" as jammasukkunjungan, dkp. "Diagnosis_awal_masuk" as dxawalmasuk,
|
||||
dkp. "Display_diagnosis_awal_masuk" as displaydxawalmasuk, dlr. "Nama" as namaruang,
|
||||
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,
|
||||
dkt. "Nama_lengkap" as namalengkapdokter,
|
||||
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_kunjungan_pasien dkp
|
||||
join daftar_lokasi_ruang dlr on dlr.id = dkp. "Ruangan"
|
||||
join data_pegawai dp on dp.id = dkp. "DPJP"
|
||||
join data_ktp dkt on dkt.id = dp. "KTP"
|
||||
where dkp."Tanggal_masuk" between ? and ?
|
||||
order by dkp. "Tanggal_masuk" desc, dkp. "Jam_masuk" desc`
|
||||
err := config.SatuDataDB.Debug().Raw(query, req.TanggalAwal, req.TanggalAkhir).Scan(&dataKunjunganPasien).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
return dataKunjunganPasien, nil
|
||||
}
|
||||
@@ -31,4 +31,16 @@ func InsertLogAPI(reqInsert *logapi.DataLogAPI) error {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func GetLogAPI(req logapi.ReqGetDataLogAPI) ([]*logapi.DataLogAPI, error) {
|
||||
var dataLog []*logapi.DataLogAPI
|
||||
query := `select * from data_log_api dla where dla."Parameter" = 'BPJS-VClaim-RencanaKontrol' and dla."Request"->>'tipe_rawat' = ? and date(dla."date_created") between ? and ?`
|
||||
err := config.SatuDataDB.Debug().Raw(query, req.TipeRawat, req.TanggalAwal, req.TanggalAkhir).Scan(&dataLog).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Berhasil Get Data")
|
||||
return dataLog, nil
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package logapi
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
logapi "bridging-rssa/models/log_api"
|
||||
"log"
|
||||
)
|
||||
|
||||
func InsertLogICare(reqInsert *logapi.InsertLogICare) error {
|
||||
query := `insert into "data_log_icare_bpjs" ("id", "date_created", "Ruangan", "Dokter", "Kunjungan_pasien", "Waktu_transaksi")
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
errInsert := config.SatuDataDB.Debug().Exec(query,
|
||||
reqInsert.ID,
|
||||
reqInsert.DateCreated,
|
||||
reqInsert.Ruangan,
|
||||
reqInsert.Dokter,
|
||||
reqInsert.Kunjungan_pasien,
|
||||
reqInsert.WaktuTransaksi).Error
|
||||
if errInsert != nil {
|
||||
log.Println(errInsert)
|
||||
return errInsert
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package lokasiruang
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"errors"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetDaftarLokasiRuang(idSimgos string) (int, error) {
|
||||
var idRuangan int
|
||||
query := `select dlr."id" from "daftar_lokasi_ruang" dlr where dlr."Id_location_simgos" = ?`
|
||||
err := config.SatuDataDB.Debug().Raw(query, idSimgos).First(&idRuangan).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
log.Println(err)
|
||||
idInt, errConv := strconv.Atoi(idSimgos)
|
||||
if errConv != nil {
|
||||
log.Println(err)
|
||||
return 0, err
|
||||
}
|
||||
return idInt, nil
|
||||
}
|
||||
log.Println(err)
|
||||
return 0, err
|
||||
}
|
||||
return idRuangan, nil
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package pasien
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/pasien"
|
||||
"errors"
|
||||
"log"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetDataKunjunganPasien(idxdaftar string) (*pasien.KunjunganPasien, error) {
|
||||
var kunjunganPasien *pasien.KunjunganPasien
|
||||
query := `select dks."id", dks."Ruangan" from "data_kunjungan_pasien" dks where dks."IDXDAFTAR" = ?`
|
||||
err := config.SatuDataDB.Debug().Raw(query, idxdaftar).First(&kunjunganPasien).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data Tidak Ditemukan")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Data Kunjungan Pasien : ", kunjunganPasien)
|
||||
return kunjunganPasien, nil
|
||||
}
|
||||
|
||||
func GetListKunjunganPasien(req *pasien.RequestListKunjunganPasien) ([]*pasien.ListKunjunganPasien, error) {
|
||||
var dataKunjunganPasien []*pasien.ListKunjunganPasien
|
||||
query := `select
|
||||
dkp. "NOMR" as nomr, dkp. "Nama_lengkap" as namalengkap, dkp. "Tanggal_lahir" as tanggallahir,
|
||||
dkp. "Jenis_kelamin" as jeniskelamin, dkp. "Tanggal_masuk" as tanggalmasukkunjungan,
|
||||
dkp."Jam_masuk" as jammasukkunjungan, dkp. "Diagnosis_awal_masuk" as dxawalmasuk,
|
||||
dkp. "Display_diagnosis_awal_masuk" as displaydxawalmasuk, dlr. "Nama" as namaruang,
|
||||
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,
|
||||
dkt. "Nama_lengkap" as namalengkapdokter,
|
||||
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_kunjungan_pasien dkp
|
||||
join daftar_lokasi_ruang dlr on dlr.id = dkp. "Ruangan"
|
||||
join data_pegawai dp on dp.id = dkp. "DPJP"
|
||||
join data_ktp dkt on dkt.id = dp. "KTP"
|
||||
where dkp."Tanggal_masuk" between ? and ?
|
||||
order by dkp. "Tanggal_masuk" desc, dkp. "Jam_masuk" desc`
|
||||
q := config.SatuDataDB.Debug().Raw(query, req.TanggalAwal, req.TanggalAkhir).Scan(&dataKunjunganPasien)
|
||||
if q.Error != nil {
|
||||
log.Println(q.Error)
|
||||
return nil, q.Error
|
||||
}
|
||||
return dataKunjunganPasien, nil
|
||||
}
|
||||
@@ -79,7 +79,7 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.DataSuratKontrol) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetDataSuratKontrol(offset, limit string) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
@@ -115,7 +115,7 @@ func GetDataSuratKontrol(offset, limit string) ([]*suratkontrol.GetDataSuratKont
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' offset ? limit ?`, offset, limit).Scan(&dataSurKon).Error
|
||||
where dsk."Status_surat_kontrol" = '1'`).Scan(&dataSurKon).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("DPJP anda belum ada subspesialis")
|
||||
@@ -155,7 +155,8 @@ func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontro
|
||||
dkp2."NOMR" as "No_rm",
|
||||
dkp2."Diagnosis_primer_utama" as "Kode_diagnosa",
|
||||
dkp2."Display_diagnosis_primer_utama" as "Nama_diagnosa",
|
||||
dsk."Tipe_surat_kontrol" as "Tipe_SurKon"
|
||||
dsk."Tipe_surat_kontrol" as "Tipe_SurKon",
|
||||
dsk."User_created_surat_kontrol" as "User"
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
@@ -207,7 +208,62 @@ func GetAllDataSuratKontrol(idSurKon string) (*suratkontrol.DataSuratKontrol, er
|
||||
|
||||
func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ? offset ? limit ?`
|
||||
queryDate := ` and date(dsk."Tanggal_rencana_kontrol") between ? and ? offset ? limit ?`
|
||||
if req.IsTanggalEntri {
|
||||
queryDate = ` and date(dsk."Tanggal_cetak_surat_kontrol") between ? and ? offset ? limit ?`
|
||||
}
|
||||
query += queryDate
|
||||
querySelect := `select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
from data_kunjungan_pasien dkp
|
||||
left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id where dkp."id" = dsk."Kunjungan_pasien" LIMIT 1) as "Poli_asal",
|
||||
dlr."Nama" as "Poli_tuju",
|
||||
dkp2."Nomor_sep", dkp2."Nama_lengkap", dkp2."IDXDAFTAR",
|
||||
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" as "Nama_lengkap_dokter",
|
||||
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,
|
||||
ds."Subspesialis",
|
||||
ds."Kode" as "Kode_poli",
|
||||
ds."id" as "ID_poli",
|
||||
dp."HFIS_code" as "Kode_dokter",
|
||||
dp."id" as "id_dokter",
|
||||
dp."Code_dpjp" as "Kode_dpjp",
|
||||
dkp2."NOMR" as "No_rm",
|
||||
dkp2."Diagnosis_primer_utama" as "Kode_diagnosa",
|
||||
dkp2."Display_diagnosis_primer_utama" as "Nama_diagnosa",
|
||||
dsk."Tipe_surat_kontrol" as "Tipe_SurKon"
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' and dsk."Tipe_surat_kontrol" = ? `
|
||||
querySelect += query
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, args...).Find(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func SearchDataSurKonNew(req suratkontrol.RequestCariPasien, query string, args []interface{}) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
queryDate := ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
if req.IsTanggalEntri {
|
||||
queryDate = ` and date(dsk."Tanggal_cetak_surat_kontrol") between ? and ?`
|
||||
}
|
||||
query += queryDate
|
||||
querySelect := `select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
@@ -254,7 +310,11 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
|
||||
func CountDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) (int, error) {
|
||||
var jumlahData int
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
queryDate := ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
if req.IsTanggalEntri {
|
||||
queryDate = ` and date(dsk."Tanggal_cetak_surat_kontrol") between ? and ?`
|
||||
}
|
||||
query += queryDate
|
||||
querySelect := `select count(dsk.*)
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
@@ -283,3 +343,14 @@ func GetNomorSurKon(idPasien string) (string, error) {
|
||||
log.Println("Nomor SurKon :", noSurKon)
|
||||
return noSurKon, nil
|
||||
}
|
||||
|
||||
func GetAllNomorSurKon(date string) ([]*suratkontrol.DataNomorSuratKontrol, error) {
|
||||
var listNoSurKon []*suratkontrol.DataNomorSuratKontrol
|
||||
querySelect := `select dsk."id", dsk."Nomor_surat_kontrol", date(dsk."Tanggal_rencana_kontrol") as "Tanggal_rencana_kontrol" from data_surat_kontrol dsk where dsk."Tipe_surat_kontrol" = '1' and date(dsk.date_created) = ?`
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, date).Scan(&listNoSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
return listNoSurKon, nil
|
||||
}
|
||||
Reference in New Issue
Block a user