From a4b0abf556ba5da0ce9857826eef33ea9ce7e323 Mon Sep 17 00:00:00 2001 From: "renaldi.brada1904" Date: Fri, 3 Jul 2026 09:16:55 +0700 Subject: [PATCH] diagnosis tidak mandatory --- internal/domain/antrian_operasi/repository.go | 74 ++++++++++--------- internal/domain/antrian_operasi/request.go | 2 +- 2 files changed, 39 insertions(+), 37 deletions(-) diff --git a/internal/domain/antrian_operasi/repository.go b/internal/domain/antrian_operasi/repository.go index e2d160a..34360cb 100644 --- a/internal/domain/antrian_operasi/repository.go +++ b/internal/domain/antrian_operasi/repository.go @@ -662,45 +662,47 @@ func (r antrianOperasiRepo) insertAntrianChildTables(c context.Context, tx *sql. log.Printf("success insert telepon") } - // INSERT data_diagnosa_pasien_operasi - var valuesDiagnosa [][]interface{} + if len(req.DiagnosisItem) > 0 { + // INSERT data_diagnosa_pasien_operasi + var valuesDiagnosa [][]interface{} - for _, diagnosa := range req.DiagnosisItem { - idDiagnosa := uuid.New().String() - itemValues := []interface{}{ - idDiagnosa, - diagnosa.KodeDiagnosa, - diagnosa.Diagnosa, - diagnosa.JenisDiagnosa, - idAntrian, - diagnosa.Keterangan, + for _, diagnosa := range req.DiagnosisItem { + idDiagnosa := uuid.New().String() + itemValues := []interface{}{ + idDiagnosa, + diagnosa.KodeDiagnosa, + diagnosa.Diagnosa, + diagnosa.JenisDiagnosa, + idAntrian, + diagnosa.Keterangan, + } + valuesDiagnosa = append(valuesDiagnosa, itemValues) } - valuesDiagnosa = append(valuesDiagnosa, itemValues) - } - insertDiagnosaQuery := queryUtils.InsertBulkData{ - Columns: []string{ - "id", - "\"Kode_diagnosa\"", - "\"Diagnosa\"", - "\"Jenis_diagnosa\"", - "\"FK_pasien_operasi_diagnosa_pasien_operasi_ID\"", - "\"Deskripsi_diagnosa\"", - }, - Values: valuesDiagnosa, - } + insertDiagnosaQuery := queryUtils.InsertBulkData{ + Columns: []string{ + "id", + "\"Kode_diagnosa\"", + "\"Diagnosa\"", + "\"Jenis_diagnosa\"", + "\"FK_pasien_operasi_diagnosa_pasien_operasi_ID\"", + "\"Deskripsi_diagnosa\"", + }, + Values: valuesDiagnosa, + } - sql, args, err := r.queryBuilder.BuildBulkInsertQuery(TBL_DIAGNOSA_OPERASI, insertDiagnosaQuery, returningCols...) - if err != nil { - log.Printf("error building query diagnosa %s", err) - return err + sql, args, err := r.queryBuilder.BuildBulkInsertQuery(TBL_DIAGNOSA_OPERASI, insertDiagnosaQuery, returningCols...) + if err != nil { + log.Printf("error building query diagnosa %s", err) + return err + } + _, err = tx.ExecContext(c, sql, args...) + if err != nil { + log.Println(err) + return err + } + log.Printf("success insert diagnosa") } - _, err = tx.ExecContext(c, sql, args...) - if err != nil { - log.Println(err) - return err - } - log.Printf("success insert diagnosa") // INSERT data_tindakan_pasien_operasi if len(req.TindakanItems) > 0 { @@ -729,7 +731,7 @@ func (r antrianOperasiRepo) insertAntrianChildTables(c context.Context, tx *sql. Values: valuesTindakan, } - sql, args, err = r.queryBuilder.BuildBulkInsertQuery(TBL_TINDAKAN_OPERASI, insertTindakanQuery, returningCols...) + sql, args, err := r.queryBuilder.BuildBulkInsertQuery(TBL_TINDAKAN_OPERASI, insertTindakanQuery, returningCols...) if err != nil { log.Printf("error building query tindakan %s", err) return err @@ -762,7 +764,7 @@ func (r antrianOperasiRepo) insertAntrianChildTables(c context.Context, tx *sql. Values: valuesDokterPelaksana, } - sql, args, err = r.queryBuilder.BuildBulkInsertQuery(TBL_DOKTER_OPERASI, insertDokterPelaksanaQuery, returningCols...) + sql, args, err := r.queryBuilder.BuildBulkInsertQuery(TBL_DOKTER_OPERASI, insertDokterPelaksanaQuery, returningCols...) if err != nil { log.Printf("error building query dokter pelaksana %s", err) return err diff --git a/internal/domain/antrian_operasi/request.go b/internal/domain/antrian_operasi/request.go index e17ae68..e65d64c 100644 --- a/internal/domain/antrian_operasi/request.go +++ b/internal/domain/antrian_operasi/request.go @@ -55,7 +55,7 @@ type StatusPasienRequest struct { type CreatePasienOperasiRequest struct { FormData FormDataRequest `json:"formData"` - DiagnosisItem []DiagnosisItemRequest `json:"diagnosisItems" binding:"required,min=1,dive"` + DiagnosisItem []DiagnosisItemRequest `json:"diagnosisItems"` TindakanItems []TindakanItemRequest `json:"tindakanItems"` RencanaOperasiData RencanaOperasiRequest `json:"rencanaOperasiData"` DokterPelaksanaItems []DokterPelaksanaItemRequest `json:"dokterPelaksanaItems"`