update specimen dan pengambilan

This commit is contained in:
2026-05-04 10:05:10 +07:00
parent 86e79a179a
commit 76cb1b695a
2 changed files with 56 additions and 23 deletions
+42 -20
View File
@@ -71,31 +71,53 @@ func (s *DatabaseService) GetDataLabMikro(noLab string) ([]*mikrobiologi.OrderLa
return dataMikro, true, nil
}
func (s *DatabaseService) GetDataLabMikroSpecimen(noLab string) (*mikrobiologi.OrderLabMikroSpecimen, bool, error) {
var dataMikro *mikrobiologi.OrderLabMikroSpecimen
querySelect := `select fl."nama_field"
from t_orderlabmikro olm
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
where olm."nolab" = ? and fl."sub_kelompok" = 'Jenis Spesimen'`
errSelect := s.DB.Debug().Raw(querySelect, noLab).Scan(&dataMikro).Error
if errSelect != nil {
log.Println(errSelect)
return nil, false, errSelect
var dataMikro mikrobiologi.OrderLabMikroSpecimen
querySelect := `
select fl."nama_field"
from t_orderlabmikro olm
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
where olm."nolab" = ? and fl."sub_kelompok" = 'Jenis Spesimen'
`
// Cek apakah ada row yang dikembalikan
result := s.DB.Raw(querySelect, noLab).Scan(&dataMikro)
if result.Error != nil {
log.Println(result.Error)
return nil, false, result.Error
}
return dataMikro, true, nil
if dataMikro.NamaField == "" {
return nil, false, nil
}
dataPtr := &dataMikro
return dataPtr, true, nil
}
func (s *DatabaseService) GetDataLabMikroJenisPemeriksaan(noLab string) (*mikrobiologi.OrderLabMikroJenisPemeriksaan, bool, error) {
var dataMikro *mikrobiologi.OrderLabMikroJenisPemeriksaan
querySelect := `select fl."nama_field"
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
var dataMikro mikrobiologi.OrderLabMikroJenisPemeriksaan
querySelect := `
select fl."nama_field"
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'
`
result := s.DB.Raw(querySelect, noLab).Scan(&dataMikro)
if result.Error != nil {
log.Println(result.Error)
return nil, false, result.Error
}
return dataMikro, true, nil
if dataMikro.NamaField == "" {
return nil, false, nil
}
dataPtr := &dataMikro
return dataPtr, true, nil
}
func (s *DatabaseService) GetDataLabMikroPengambilan(noLab string) ([]*mikrobiologi.OrderLabMikropengambilan, bool, error) {
+14 -3
View File
@@ -211,10 +211,21 @@ func SendDataLISMikro(c *gin.Context) {
}
tglString := t.Format("2006-01-02")
pengambilan := CaraPengambilan.NamaField
if pengambilan == "" {
var namaSpecimen string
if Specimen != nil && Specimen.NamaField != "" {
namaSpecimen = Specimen.NamaField
} else {
namaSpecimen = "-"
}
var pengambilan string
if CaraPengambilan != nil && CaraPengambilan.NamaField != "" {
pengambilan = CaraPengambilan.NamaField
} else {
pengambilan = "lain-lain"
}
log.Println("Masuk loop, value:", value)
dataLisMikro = &mikrobiologi.RequestLISMikro{
TanggalReg: tglReg,
@@ -237,7 +248,7 @@ func SendDataLISMikro(c *gin.Context) {
Diagnosa: diagnosa,
Rujukan: rujukan,
KodeSpesimen: value.JenisKelompok,
NamaSpesimen: Specimen.NamaField,
NamaSpesimen: namaSpecimen,
Pengambilan: pengambilan,
JenisPemeriksaan: value.NamaField,
}