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