penambahan cara pengambilan

This commit is contained in:
2026-03-05 09:45:31 +07:00
parent 7e2996e5a7
commit dbf53008ea
3 changed files with 69 additions and 30 deletions

No files matched your search

+48 -30
View File
@@ -93,6 +93,19 @@ func SendDataLISMikro(c *gin.Context) {
log.Println("Data bukan pemeriksaan")
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)
if errDokter != nil {
@@ -119,47 +132,41 @@ func SendDataLISMikro(c *gin.Context) {
"message": errDiagnosa,
})
}
log.Println("masuk sini kah")
log.Printf("dataLabMikro length: %d", len(dataLabMikro))
log.Printf("dataLabMikro content: %+v", dataLabMikro)
var dokterPengirim string
if dataMikroMain.DrOrder != "0" && dataMikroMain.DrOrder != "" {
dokterPengirim, errDokter = simrsDB.GetNamaDokter(dataMikroMain.DrOrder)
if errDokter != nil {
log.Println(errDokter)
c.JSON(http.StatusBadRequest, gin.H{
"message": errDokter,
})
return
log.Println("Failed to get dokter from DrOrder:", errDokter)
dokterPengirim = ""
}
} else if dataMikroMain.DokterPengirim != "" && dataMikroMain.DokterPengirim != "0" {
}
if dokterPengirim == "" && dataMikroMain.DokterPengirim != "" && dataMikroMain.DokterPengirim != "0" {
dokterPengirim, errDokter = simrsDB.GetNamaDokter(dataMikroMain.DokterPengirim)
if errDokter != nil {
log.Println(errDokter)
c.JSON(http.StatusBadRequest, gin.H{
"message": errDokter,
})
return
log.Println("Failed to get dokter from DokterPengirim:", errDokter)
dokterPengirim = ""
}
} 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 {
log.Println("Masuk loop, value:", value)
dataLisMikro = &mikrobiologi.RequestLISMikro{
NoRM: dataMikroMain.NoMR,
Nama: dataPasien.Nama,
@@ -179,9 +186,11 @@ func SendDataLISMikro(c *gin.Context) {
Klinis: diagnosa,
KodeSpesimen: value.NamaField,
NamaSpesimen: value.JenisKelompok,
Pengambilan: "",
Pengambilan: pengambilan,
}
log.Println("Sebelum masuk LIS", dataLisMikro)
resMikro, errMikro := SendLisMikro(dataLisMikro)
if errMikro != nil {
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)
c.JSON(http.StatusOK, responseMikro)
}