From 7d1a3ec9762e3c8c2d911bc0963da974226ac485 Mon Sep 17 00:00:00 2001 From: ahdan15 Date: Tue, 9 Jun 2026 09:01:18 +0700 Subject: [PATCH] penambahan asal pengirim --- pkg/database/simrs/mikrobiologi.go | 20 +++++++++++++++++++ pkg/handlers/mikrobiologi/mikrobiologi.go | 6 +++--- pkg/models/simrs/mikrobiologi/mikrobiologi.go | 2 ++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/pkg/database/simrs/mikrobiologi.go b/pkg/database/simrs/mikrobiologi.go index e9565ed..b5d5a72 100644 --- a/pkg/database/simrs/mikrobiologi.go +++ b/pkg/database/simrs/mikrobiologi.go @@ -57,6 +57,26 @@ func (s *DatabaseService) GetDataMikroBiologiByNoMR(req *mikrobiologi.RequestPas return data, nil } +func (s *DatabaseService) GetKetPengirim(idxDaftar string) string { + var ketPengirim string + + err := s.DB.Raw( + `SELECT ket_pengirim FROM "t_orderlabmikro_main" + WHERE "idxdaftar" = ? AND ket_pengirim IS NOT NULL`, + idxDaftar). + Scan(&ketPengirim).Error + + if err != nil { + if err == gorm.ErrRecordNotFound { + return "" // Tidak ada data, return string kosong + } + log.Println("[GetKetPengirim] Error:", err.Error()) + return "" + } + + return ketPengirim +} + func (s *DatabaseService) GetDataLabMikro(noLab string) ([]*mikrobiologi.OrderLabMikro, bool, error) { var dataMikro []*mikrobiologi.OrderLabMikro querySelect := `select olm."idxordermikro", olm."jenis_pemeriksaan", fl."nama_field" , fl."jenis_kelompok",fl."kode_tarif",olm."tglorder" diff --git a/pkg/handlers/mikrobiologi/mikrobiologi.go b/pkg/handlers/mikrobiologi/mikrobiologi.go index 3e9409e..2abfb02 100644 --- a/pkg/handlers/mikrobiologi/mikrobiologi.go +++ b/pkg/handlers/mikrobiologi/mikrobiologi.go @@ -94,9 +94,7 @@ func SendDataLISMikro(c *gin.Context) { if errSpecimen != nil { log.Println("Warning: error get Specimen:", errSpecimen) } - // tidak continue, hanya pakai default jika kosong - // 2. CaraPengambilan (pakai fungsi yang sama untuk data m_form_lab dengan sub_kelompok yang beda) var caraPengambilanData *mikrobiologi.OrderLabMikroJenisPemeriksaan var errPengambilan error caraPengambilanData, _, errPengambilan = simrsDB.GetDataLabMikroJenisPemeriksaan(dataMikroMain.NoLab) @@ -118,6 +116,8 @@ func SendDataLISMikro(c *gin.Context) { return } + KeteranganPengirim := simrsDB.GetKetPengirim(dataMikroMain.IdxDaftar) + caraBayar, errCaraBayar := simrsDB.GetCaraBayar(dataMikroMain) if errCaraBayar != nil { log.Println(errCaraBayar) @@ -241,6 +241,7 @@ func SendDataLISMikro(c *gin.Context) { NamaSpesimen: namaSpecimen, Pengambilan: pengambilan, JenisPemeriksaan: value.NamaField, + AsalPengirim: KeteranganPengirim, } log.Println("Sebelum masuk LIS", dataLisMikro) @@ -253,7 +254,6 @@ func SendDataLISMikro(c *gin.Context) { }) return } - if resMikro.Status == "203" { log.Println(resMikro) c.JSON(http.StatusBadRequest, gin.H{ diff --git a/pkg/models/simrs/mikrobiologi/mikrobiologi.go b/pkg/models/simrs/mikrobiologi/mikrobiologi.go index 2254e5e..968598d 100644 --- a/pkg/models/simrs/mikrobiologi/mikrobiologi.go +++ b/pkg/models/simrs/mikrobiologi/mikrobiologi.go @@ -112,6 +112,7 @@ type RequestLISMikro struct { NamaSpesimen string `json:"spesimen"` Pengambilan string `json:"pengambilan"` JenisPemeriksaan string `json:"jenispemeriksaan"` + AsalPengirim string `json:"asalpengirim"` } type OrderLabMikroMain struct { @@ -131,6 +132,7 @@ type OrderLabMikroMain struct { Pengirim string `gorm:"column:pengirim" json:"pengirim"` DrOrder string `gorm:"column:dr_order" json:"dr_order"` DokterLab1 string `gorm:"column:dokterlab1" json:"dokterlab1"` + AsalPengirim string `gorm:"column:ket_pengirim" json:"asalpengirim"` } type OrderLabMikro struct {