penambahan cara pengambilan
This commit is contained in:
@@ -71,6 +71,19 @@ func (s *DatabaseService) GetDataLabMikro(noLab string) ([]*mikrobiologi.OrderLa
|
|||||||
return dataMikro, true, nil
|
return dataMikro, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *DatabaseService) GetDataLabMikroPengambilan(noLab string) ([]*mikrobiologi.OrderLabMikropengambilan, bool, error) {
|
||||||
|
var dataMikro []*mikrobiologi.OrderLabMikropengambilan
|
||||||
|
querySelect := `select olm."idxordermikro", olm."jenis_pemeriksaan", fl."nama_field" , fl."jenis_kelompok",fl."kode_tarif"
|
||||||
|
from t_orderlabmikro olm
|
||||||
|
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
|
||||||
|
where olm."nolab" = ? and fl."sub_kelompok" = 'Cara Pengambilan Sampel'`
|
||||||
|
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 {
|
func (s *DatabaseService) UpdateLabMikro(req *mikrobiologi.ReqUpdateLisMikro) error {
|
||||||
queryUpdate := `update "t_orderlabmikro" set "no_lokal" = ? where "idxordermikro" = ?`
|
queryUpdate := `update "t_orderlabmikro" set "no_lokal" = ? where "idxordermikro" = ?`
|
||||||
errUpdate := s.DB.Debug().Exec(queryUpdate, req.NoLokal, req.IdxOrderMikro).Error
|
errUpdate := s.DB.Debug().Exec(queryUpdate, req.NoLokal, req.IdxOrderMikro).Error
|
||||||
|
|||||||
@@ -93,6 +93,19 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
log.Println("Data bukan pemeriksaan")
|
log.Println("Data bukan pemeriksaan")
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
dataLabMikroPengambilan, exist, errPengambilan := simrsDB.GetDataLabMikroPengambilan(dataMikroMain.NoLab)
|
||||||
|
if errPengambilan != nil {
|
||||||
|
log.Println(errDiagnosa)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{
|
||||||
|
"message": errDiagnosa,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Println(dataLabMikroPengambilan)
|
||||||
|
var pengambilan string
|
||||||
|
if len(dataLabMikroPengambilan) > 0 {
|
||||||
|
pengambilan = dataLabMikroPengambilan[0].NamaField
|
||||||
|
}
|
||||||
|
|
||||||
poli, errDokter := simrsDB.GetNamaRuang(dataMikroMain.KodePoli)
|
poli, errDokter := simrsDB.GetNamaRuang(dataMikroMain.KodePoli)
|
||||||
if errDokter != nil {
|
if errDokter != nil {
|
||||||
@@ -119,47 +132,41 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
"message": errDiagnosa,
|
"message": errDiagnosa,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
log.Println("masuk sini kah")
|
||||||
|
|
||||||
|
log.Printf("dataLabMikro length: %d", len(dataLabMikro))
|
||||||
|
log.Printf("dataLabMikro content: %+v", dataLabMikro)
|
||||||
var dokterPengirim string
|
var dokterPengirim string
|
||||||
|
|
||||||
if dataMikroMain.DrOrder != "0" && dataMikroMain.DrOrder != "" {
|
if dataMikroMain.DrOrder != "0" && dataMikroMain.DrOrder != "" {
|
||||||
dokterPengirim, errDokter = simrsDB.GetNamaDokter(dataMikroMain.DrOrder)
|
dokterPengirim, errDokter = simrsDB.GetNamaDokter(dataMikroMain.DrOrder)
|
||||||
|
|
||||||
if errDokter != nil {
|
if errDokter != nil {
|
||||||
log.Println(errDokter)
|
log.Println("Failed to get dokter from DrOrder:", errDokter)
|
||||||
c.JSON(http.StatusBadRequest, gin.H{
|
dokterPengirim = ""
|
||||||
"message": errDokter,
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else if dataMikroMain.DokterPengirim != "" && dataMikroMain.DokterPengirim != "0" {
|
if dokterPengirim == "" && dataMikroMain.DokterPengirim != "" && dataMikroMain.DokterPengirim != "0" {
|
||||||
dokterPengirim, errDokter = simrsDB.GetNamaDokter(dataMikroMain.DokterPengirim)
|
dokterPengirim, errDokter = simrsDB.GetNamaDokter(dataMikroMain.DokterPengirim)
|
||||||
|
|
||||||
if errDokter != nil {
|
if errDokter != nil {
|
||||||
log.Println(errDokter)
|
log.Println("Failed to get dokter from DokterPengirim:", errDokter)
|
||||||
c.JSON(http.StatusBadRequest, gin.H{
|
dokterPengirim = ""
|
||||||
"message": errDokter,
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if dataMikroMain.DokterLab1 != "0" && dataMikroMain.DokterLab1 != "" {
|
|
||||||
dokterPengirim, errDokter = simrsDB.GetNamaDokter(dataMikroMain.DokterLab1)
|
|
||||||
|
|
||||||
if errDokter != nil {
|
|
||||||
log.Println(errDokter)
|
|
||||||
c.JSON(http.StatusBadRequest, gin.H{
|
|
||||||
"message": errDokter,
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
} else if dataMikroMain.Pengirim != "" && dataMikroMain.Pengirim != "0" {
|
|
||||||
dokterPengirim = dataMikroMain.Pengirim
|
|
||||||
} else {
|
|
||||||
dokterPengirim = ""
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if dokterPengirim == "" && dataMikroMain.DokterLab1 != "0" && dataMikroMain.DokterLab1 != "" {
|
||||||
|
dokterPengirim, errDokter = simrsDB.GetNamaDokter(dataMikroMain.DokterLab1)
|
||||||
|
if errDokter != nil {
|
||||||
|
log.Println("Failed to get dokter from DokterLab1:", errDokter)
|
||||||
|
dokterPengirim = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if dokterPengirim == "" && dataMikroMain.Pengirim != "" && dataMikroMain.Pengirim != "0" {
|
||||||
|
dokterPengirim = dataMikroMain.Pengirim
|
||||||
|
}
|
||||||
|
log.Println("Akan masuk loop dataLabMikro...")
|
||||||
for _, value := range dataLabMikro {
|
for _, value := range dataLabMikro {
|
||||||
|
log.Println("Masuk loop, value:", value)
|
||||||
dataLisMikro = &mikrobiologi.RequestLISMikro{
|
dataLisMikro = &mikrobiologi.RequestLISMikro{
|
||||||
NoRM: dataMikroMain.NoMR,
|
NoRM: dataMikroMain.NoMR,
|
||||||
Nama: dataPasien.Nama,
|
Nama: dataPasien.Nama,
|
||||||
@@ -179,9 +186,11 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
Klinis: diagnosa,
|
Klinis: diagnosa,
|
||||||
KodeSpesimen: value.NamaField,
|
KodeSpesimen: value.NamaField,
|
||||||
NamaSpesimen: value.JenisKelompok,
|
NamaSpesimen: value.JenisKelompok,
|
||||||
Pengambilan: "",
|
Pengambilan: pengambilan,
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("Sebelum masuk LIS", dataLisMikro)
|
log.Println("Sebelum masuk LIS", dataLisMikro)
|
||||||
|
|
||||||
resMikro, errMikro := SendLisMikro(dataLisMikro)
|
resMikro, errMikro := SendLisMikro(dataLisMikro)
|
||||||
if errMikro != nil {
|
if errMikro != nil {
|
||||||
log.Println(errMikro)
|
log.Println(errMikro)
|
||||||
@@ -223,6 +232,15 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(responseMikro) == 0 {
|
||||||
|
log.Println("Tidak ada data lab mikro yang diproses")
|
||||||
|
c.JSON(http.StatusCreated, gin.H{
|
||||||
|
"message": "Tidak ada data pemeriksaan mikrobiologi ditemukan",
|
||||||
|
"data": []interface{}{},
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
log.Println("RESPONSE", responseMikro)
|
log.Println("RESPONSE", responseMikro)
|
||||||
c.JSON(http.StatusOK, responseMikro)
|
c.JSON(http.StatusOK, responseMikro)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -137,6 +137,14 @@ type OrderLabMikro struct {
|
|||||||
KodeTarif string `gorm:"column:kode_tarif" json:"kode_tarif"`
|
KodeTarif string `gorm:"column:kode_tarif" json:"kode_tarif"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type OrderLabMikropengambilan struct {
|
||||||
|
IdxOrderMikro string `gorm:"column:idxordermikro" json:"idxordermikro"`
|
||||||
|
NamaPemeriksaan string `gorm:"column:nama_pemeriksaan" json:"nama_pemeriksaan"`
|
||||||
|
NamaField string `gorm:"column:nama_field" json:"nama_field"`
|
||||||
|
JenisKelompok string `gorm:"column:jenis_kelompok" json:"jenis_kelompok"`
|
||||||
|
KodeTarif string `gorm:"column:kode_tarif" json:"kode_tarif"`
|
||||||
|
}
|
||||||
|
|
||||||
type Response struct {
|
type Response struct {
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
Message string `json:"message"`
|
Message string `json:"message"`
|
||||||
|
|||||||
Reference in New Issue
Block a user