handle insert telp & doctors not mandatory

This commit is contained in:
renaldybrada
2026-02-19 09:08:57 +07:00
parent f616b640a4
commit 2969c903dc
2 changed files with 53 additions and 49 deletions

No files matched your search

+52 -48
View File
@@ -65,35 +65,37 @@ func (r antrianOperasiRepo) insertAntrianChildTables(c *gin.Context, tx *sql.Tx,
} }
// INSERT data_telepon_pasien_operasi // INSERT data_telepon_pasien_operasi
var valuesInsertTelepon [][]interface{} if len(req.FormData.NoTelepon) != 0 {
var valuesInsertTelepon [][]interface{}
for _, telp := range req.FormData.NoTelepon { for _, telp := range req.FormData.NoTelepon {
idTelepon := uuid.New().String() idTelepon := uuid.New().String()
itemValues := []interface{}{idTelepon, telp, idAntrian} itemValues := []interface{}{idTelepon, telp, idAntrian}
valuesInsertTelepon = append(valuesInsertTelepon, itemValues) valuesInsertTelepon = append(valuesInsertTelepon, itemValues)
} }
insertTeleponQuery := queryUtils.InsertBulkData{ insertTeleponQuery := queryUtils.InsertBulkData{
Columns: []string{ Columns: []string{
"id", "id",
"\"Nomor_telepon\"", "\"Nomor_telepon\"",
"\"FK_pasien_operasi_telepon_pasien_operasi_ID\"", "\"FK_pasien_operasi_telepon_pasien_operasi_ID\"",
}, },
Values: valuesInsertTelepon, Values: valuesInsertTelepon,
} }
sql, args, err := r.queryBuilder.BuildBulkInsertQuery(TBL_PASIEN_TELEPHONE, insertTeleponQuery, returningCols...) sql, args, err := r.queryBuilder.BuildBulkInsertQuery(TBL_PASIEN_TELEPHONE, insertTeleponQuery, returningCols...)
if err != nil { if err != nil {
log.Printf("error building query telepon %s", err) log.Printf("error building query telepon %s", err)
return err return err
}
_, err = tx.ExecContext(c, sql, args...)
if err != nil {
log.Println(err)
return err
}
log.Printf("success insert telepon")
} }
_, err = tx.ExecContext(c, sql, args...)
if err != nil {
log.Println(err)
return err
}
log.Printf("success insert telepon")
// INSERT data_diagnosa_pasien_operasi // INSERT data_diagnosa_pasien_operasi
var valuesDiagnosa [][]interface{} var valuesDiagnosa [][]interface{}
@@ -121,7 +123,7 @@ func (r antrianOperasiRepo) insertAntrianChildTables(c *gin.Context, tx *sql.Tx,
Values: valuesDiagnosa, Values: valuesDiagnosa,
} }
sql, args, err = r.queryBuilder.BuildBulkInsertQuery(TBL_DIAGNOSA_OPERASI, insertDiagnosaQuery, returningCols...) sql, args, err := r.queryBuilder.BuildBulkInsertQuery(TBL_DIAGNOSA_OPERASI, insertDiagnosaQuery, returningCols...)
if err != nil { if err != nil {
log.Printf("error building query diagnosa %s", err) log.Printf("error building query diagnosa %s", err)
return err return err
@@ -172,33 +174,35 @@ func (r antrianOperasiRepo) insertAntrianChildTables(c *gin.Context, tx *sql.Tx,
log.Printf("success insert tindakan") log.Printf("success insert tindakan")
// INSERT data_pasien_operasi_data_pegawai // INSERT data_pasien_operasi_data_pegawai
var valuesDokterPelaksana [][]interface{} if len(req.DokterPelaksanaItems) != 0 {
var valuesDokterPelaksana [][]interface{}
for _, dokter := range req.DokterPelaksanaItems { for _, dokter := range req.DokterPelaksanaItems {
itemValues := []interface{}{ itemValues := []interface{}{
idAntrian, idAntrian,
dokter.Id, dokter.Id,
}
valuesDokterPelaksana = append(valuesDokterPelaksana, itemValues)
} }
valuesDokterPelaksana = append(valuesDokterPelaksana, itemValues)
}
insertDokterPelaksanaQuery := queryUtils.InsertBulkData{ insertDokterPelaksanaQuery := queryUtils.InsertBulkData{
Columns: []string{ Columns: []string{
"\"data_pasien_operasi_id\"", "\"data_pasien_operasi_id\"",
"\"data_pegawai_id\"", "\"data_pegawai_id\"",
}, },
Values: valuesDokterPelaksana, 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 { if err != nil {
log.Printf("error building query dokter pelaksana %s", err) log.Printf("error building query dokter pelaksana %s", err)
return err return err
} }
_, err = tx.ExecContext(c, sql, args...) _, err = tx.ExecContext(c, sql, args...)
if err != nil { if err != nil {
log.Println(err) log.Println(err)
return err return err
}
} }
return nil return nil
+1 -1
View File
@@ -12,7 +12,7 @@ type FormDataRequest struct {
TglLahir *string `json:"tanggalLahir"` TglLahir *string `json:"tanggalLahir"`
Umur *string `json:"umur"` Umur *string `json:"umur"`
Alamat *string `json:"alamat"` Alamat *string `json:"alamat"`
NoTelepon []string `json:"nomorTelepon" binding:"required,min=1"` NoTelepon []string `json:"nomorTelepon"`
} }
type DiagnosisItemRequest struct { type DiagnosisItemRequest struct {