fix insert daftar jadwal dokter and temp

This commit is contained in:
2024-09-25 10:01:57 +07:00
parent 41a622fda4
commit 48b2615c9e
6 changed files with 57 additions and 12 deletions

No files matched your search

+20 -4
View File
@@ -4,20 +4,33 @@ import (
"bridging-rssa/config"
"bridging-rssa/models/bpjs/jadwal_dokter"
"log"
"strconv"
"github.com/google/uuid"
)
func DeleteJadwalDokter() error {
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter"`).Error
if err != nil {
log.Fatalf("Failed insert data : %v", err)
log.Fatalf("Failed truncate data : %v", err)
return err
}
log.Println("Success insert data")
log.Println("Success truncate data")
return nil
}
func DeleteJadwalDokterTemp() error {
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter_temp"`).Error
if err != nil {
log.Fatalf("Failed truncate data : %v", err)
return err
}
log.Println("Success truncate data")
return nil
}
func InsertJadwalDokter(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter" ("Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values ?`, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, reqInsert.Spesialis, reqInsert.SubSpesialis, reqInsert.Status).Error
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter" ("Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ? ,?, ?, ?, ?, ?)`, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, reqInsert.Spesialis, reqInsert.SubSpesialis, reqInsert.Status).Error
if err != nil {
log.Fatalf("Failed insert data : %v", err)
return err
@@ -27,7 +40,10 @@ func InsertJadwalDokter(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
}
func InsertJadwalDokterTemp(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter_temp" ("Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ? ,?, ?, ?, ?, ?)`, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, reqInsert.Spesialis, reqInsert.SubSpesialis, reqInsert.Status).Error
spesialis := strconv.Itoa(reqInsert.Spesialis)
subspesialis := strconv.Itoa(reqInsert.SubSpesialis)
id := uuid.New()
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter_temp" ("id", "Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ?, ?, ?, ?, ?, ?, ?)`, id, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, spesialis, subspesialis, reqInsert.Status).Error
if err != nil {
log.Fatalf("Failed insert data : %v", err)
return err
+4
View File
@@ -1,8 +1,12 @@
package utils
import "log"
// Function to convert Kode to ID
func KodeToIDConverter(kode string, kodeDokter map[string]int) int {
log.Println("Kode :", kode)
id := kodeDokter[kode]
log.Println("ID :", id)
return id
}
+1
View File
@@ -61,6 +61,7 @@ require (
)
require (
github.com/google/uuid v1.6.0
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
golang.org/x/text v0.18.0 // indirect
+2
View File
@@ -46,6 +46,8 @@ github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PU
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
+19 -8
View File
@@ -9,6 +9,7 @@ import (
"log"
"net/http"
"os"
"strconv"
"time"
"github.com/gin-gonic/gin"
@@ -24,6 +25,13 @@ func GetJadwalDokter(c *gin.Context) {
log.Fatal(errTruncate)
c.JSON(http.StatusInternalServerError, errTruncate)
}
errTruncateTemp := dokter.DeleteJadwalDokterTemp()
if errTruncateTemp != nil {
log.Fatal(errTruncateTemp)
c.JSON(http.StatusInternalServerError, errTruncateTemp)
}
// Select from daftar spesialis
spesialis, err := dokter.GetSpesialis()
if err != nil {
@@ -83,9 +91,9 @@ func GetJadwalDokter(c *gin.Context) {
log.Println("Skip Proses")
continue
}
idSpesialis := utils.KodeToIDConverter(kdPoly, listIdSpesialis)
idSubspesialis := utils.KodeToIDConverter(kdPoly, listIdSubspesialis)
for _, v := range *res {
idSpesialis := utils.KodeToIDConverter(v.KodePoli, listIdSpesialis)
idSubspesialis := utils.KodeToIDConverter(v.KodeSubspesialis, listIdSubspesialis)
idDokter := utils.HfisCodeToIDConverter(v.KodeDokter, listIddokter)
reqInsert = &jadwal_dokter.JadwalDokterSatuData{
Hari: v.Hari,
@@ -96,17 +104,20 @@ func GetJadwalDokter(c *gin.Context) {
SubSpesialis: idSubspesialis,
Status: 1, // When available always set to 1
}
if reqInsert.Dokter == "" {
if reqInsert.Dokter != "" {
errInsert := dokter.InsertJadwalDokter(reqInsert)
if errInsert != nil {
log.Println(errInsert)
c.JSON(http.StatusInternalServerError, errInsert)
}
} else {
reqInsert.Dokter = strconv.Itoa(v.KodeDokter)
errInsertTemp := dokter.InsertJadwalDokterTemp(reqInsert)
if errInsertTemp != nil {
log.Println(errInsertTemp)
c.JSON(http.StatusInternalServerError, errInsertTemp)
}
}
errInsert := dokter.InsertJadwalDokter(reqInsert)
if errInsert != nil {
log.Println(errInsert)
c.JSON(http.StatusInternalServerError, errInsert)
}
}
date, errParse := time.Parse("2006-01-02", tanggal)
if errParse != nil {
@@ -40,3 +40,14 @@ type JadwalDokterSatuData struct {
SubSpesialis int `gorm:"Sub_spesialis" json:"Sub_spesialis"`
Status int `gorm:"Status" json:"Status"`
}
type JadwalDokterTempSatuData struct {
ID int `gorm:"id" json:"id"`
Hari int `gorm:"Hari" json:"Hari"`
NamaHari string `gorm:"Nama_hari" json:"Nama_hari"`
Waktu string `gorm:"Waktu" json:"Waktu"`
Dokter string `gorm:"Dokter" json:"Dokter"`
Spesialis string `gorm:"Spesialis" json:"Spesialis"`
SubSpesialis string `gorm:"Sub_spesialis" json:"Sub_spesialis"`
Status int `gorm:"Status" json:"Status"`
}