diff --git a/controller/pasien/pasien.go b/controller/pasien/pasien.go index 6ece81d4a477bfd910acfd3004dcc84f70d7303f..0cf7247e21f2c24658b01aa33289c5c98a31ff37 100644 --- a/controller/pasien/pasien.go +++ b/controller/pasien/pasien.go @@ -216,7 +216,7 @@ func UpdatePasien(c *gin.Context) { } func DeletePasien(c *gin.Context) { - updateBy := c.Query("update_by") + updateBy := c.Query("delete_by") target := c.Query("target") switch updateBy { diff --git a/controller/pemeriksaan/dokter.go b/controller/pemeriksaan/dokter.go index 5dd17464f3c49d918abe1388bf08ab57f5981264..8149241c9c1f49357cedc5f2e577e49f6a2a5ddf 100644 --- a/controller/pemeriksaan/dokter.go +++ b/controller/pemeriksaan/dokter.go @@ -1,5 +1,296 @@ package pemeriksaan -func AddPemeriksaanDokter() { +import ( + "github.com/gin-gonic/gin" + "net/http" + "seno-medika.com/model/common" + "seno-medika.com/model/station/doctorstation" + "seno-medika.com/query/pemeriksaan/dokter" +) +func AddPemeriksaanDokter(c *gin.Context) { + var ( + pemeriksaan doctorstation.PemeriksaanDokter + ) + + if err := c.ShouldBindJSON(&pemeriksaan); err != nil { + c.JSON(http.StatusBadRequest, common.Response{ + Message: err.Error(), + Status: "Bad Request", + StatusCode: http.StatusBadRequest, + Data: nil, + }) + return + } + + if err := dokter.AddPemeriksaanDokterDefault(pemeriksaan); err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusCreated, common.Response{ + Message: "Successfully add pemeriksaan dokter", + Status: "ok", + StatusCode: http.StatusCreated, + Data: nil, + }) + return +} + +func DeletePemeriksaanDokter(c *gin.Context) { + deleteBy := c.Query("delete_by") + target := c.Query("target") + + switch deleteBy { + case "id": + if err := dokter.DeletePemeriksaanDokter(target); err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusOK, common.Response{ + Message: "Successfully delete pemeriksaan dokter", + Status: "ok", + StatusCode: http.StatusOK, + Data: nil, + }) + return + } +} + +func PatchPemeriksaanDokter(c *gin.Context) { + updateBy := c.Query("update_by") + updateType := c.Query("update_type") + target := c.Query("target") + + switch updateBy { + case "antrian_id": + switch updateType { + case "riwayat_pemeriksaan": + var ( + riwayatPemeriksaan doctorstation.RiwayatPemeriksaan + ) + + if err := c.ShouldBindJSON(&riwayatPemeriksaan); err != nil { + c.JSON(http.StatusBadRequest, common.Response{ + Message: err.Error(), + Status: "Bad Request", + StatusCode: http.StatusBadRequest, + Data: nil, + }) + return + } + + if err := dokter.PatchRiwayatPemeriksaan(target, riwayatPemeriksaan); err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusOK, common.Response{ + Message: "Successfully update riwayat pemeriksaan", + Status: "ok", + StatusCode: http.StatusOK, + Data: nil, + }) + return + + case "keadaan_fisik": + var ( + keadaanFisik doctorstation.KeadaanFisik + ) + + if err := c.ShouldBindJSON(&keadaanFisik); err != nil { + c.JSON(http.StatusBadRequest, common.Response{ + Message: err.Error(), + Status: "Bad Request", + StatusCode: http.StatusBadRequest, + Data: nil, + }) + return + } + + if err := dokter.PatchKeadaanFisik(target, keadaanFisik); err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusOK, common.Response{ + Message: "Successfully update keadaan fisik", + Status: "ok", + StatusCode: http.StatusOK, + Data: nil, + }) + return + + case "diagnosa": + var ( + diagnosa doctorstation.Diagnosa + ) + + if err := c.ShouldBindJSON(&diagnosa); err != nil { + c.JSON(http.StatusBadRequest, common.Response{ + Message: err.Error(), + Status: "Bad Request", + StatusCode: http.StatusBadRequest, + Data: nil, + }) + return + } + + if err := dokter.PatchDiagnosa(target, diagnosa); err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusOK, common.Response{ + Message: "Successfully update diagnosa", + Status: "ok", + StatusCode: http.StatusOK, + Data: nil, + }) + return + + case "anatomi": + var ( + anatomi doctorstation.Anatomi + ) + + if err := c.ShouldBindJSON(&anatomi); err != nil { + c.JSON(http.StatusBadRequest, common.Response{ + Message: err.Error(), + Status: "Bad Request", + StatusCode: http.StatusBadRequest, + Data: nil, + }) + return + } + + if err := dokter.PatchAnatomi(target, anatomi); err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusOK, common.Response{ + Message: "Successfully update anatomi", + Status: "ok", + StatusCode: http.StatusOK, + Data: nil, + }) + return + + case "pemeriksaan_fisik": + var ( + pemeriksaanFisik doctorstation.PemeriksaanFisik + ) + + if err := c.ShouldBindJSON(&pemeriksaanFisik); err != nil { + c.JSON(http.StatusBadRequest, common.Response{ + Message: err.Error(), + Status: "Bad Request", + StatusCode: http.StatusBadRequest, + Data: nil, + }) + return + } + + if err := dokter.PatchPemeriksaanFisik(target, pemeriksaanFisik); err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusOK, common.Response{ + Message: "Successfully update pemeriksaan fisik", + Status: "ok", + StatusCode: http.StatusOK, + Data: nil, + }) + return + + } + } +} + +func GetPemeriksaanDokter(c *gin.Context) { + findBy := c.Query("find_by") + target := c.Query("target") + + switch findBy { + case "id": + data, err := dokter.FindPemeriksaanDokterById(target) + + if err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusOK, common.Response{ + Message: "Successfully get pemeriksaan dokter", + Status: "ok", + StatusCode: http.StatusOK, + Data: data, + }) + return + + case "antrian_id": + data, err := dokter.FindPemeriksaanDokterByAntrianId(target) + + if err != nil { + c.JSON(http.StatusInternalServerError, common.Response{ + Message: err.Error(), + Status: "Internal Server Error", + StatusCode: http.StatusInternalServerError, + Data: nil, + }) + return + } + + c.JSON(http.StatusOK, common.Response{ + Message: "Successfully get pemeriksaan dokter", + Status: "ok", + StatusCode: http.StatusOK, + Data: data, + }) + + return + } } diff --git a/query/pemeriksaan/dokter/find_pemeriksaan_dokter.go b/query/pemeriksaan/dokter/find_pemeriksaan_dokter.go index 542c1646856dc3d73b078d9e1dd6adc3c3f47f90..1d0e8d9094cda8ca2c4aa85e7893582c5cbd8656 100644 --- a/query/pemeriksaan/dokter/find_pemeriksaan_dokter.go +++ b/query/pemeriksaan/dokter/find_pemeriksaan_dokter.go @@ -75,7 +75,7 @@ func FindPemeriksaanDokterById(pemeriksaanId string) (doctorstation.PemeriksaanD return pemeriksaan, nil } -func FindPemeriksaanDokterByAntrianId(antrianId int) (doctorstation.PemeriksaanDokterMerge, error) { +func FindPemeriksaanDokterByAntrianId(antrianId string) (doctorstation.PemeriksaanDokterMerge, error) { var ( pemeriksaanId string pemeriksaan doctorstation.PemeriksaanDokterMerge diff --git a/query/pemeriksaan/dokter/patch_pemeriksaan_dokter.go b/query/pemeriksaan/dokter/patch_pemeriksaan_dokter.go index 13a718c1ba9ed309b9594e14a9921d9f38329f8e..6bdf734e4e14847e3a4493078692f64ab639de3a 100644 --- a/query/pemeriksaan/dokter/patch_pemeriksaan_dokter.go +++ b/query/pemeriksaan/dokter/patch_pemeriksaan_dokter.go @@ -6,7 +6,7 @@ import ( "time" ) -func PatchPemeriksaanFisik(antrianId int, pemeriksaanFisik doctorstation.PemeriksaanFisik) error { +func PatchPemeriksaanFisik(antrianId string, pemeriksaanFisik doctorstation.PemeriksaanFisik) error { var ( pemeriksaanDokterId int ) @@ -23,7 +23,7 @@ func PatchPemeriksaanFisik(antrianId int, pemeriksaanFisik doctorstation.Pemerik return nil } -func PatchRiwayatPemeriksaan(antrianId int, riwayatPemeriksaan doctorstation.RiwayatPemeriksaan) error { +func PatchRiwayatPemeriksaan(antrianId string, riwayatPemeriksaan doctorstation.RiwayatPemeriksaan) error { var ( pemeriksaanDokterId int ) @@ -40,7 +40,7 @@ func PatchRiwayatPemeriksaan(antrianId int, riwayatPemeriksaan doctorstation.Riw return nil } -func PatchKeadaanFisik(antrianId int, keadaanFisik doctorstation.KeadaanFisik) error { +func PatchKeadaanFisik(antrianId string, keadaanFisik doctorstation.KeadaanFisik) error { var ( pemeriksaanDokterId int ) @@ -57,7 +57,7 @@ func PatchKeadaanFisik(antrianId int, keadaanFisik doctorstation.KeadaanFisik) e return nil } -func PatchDiagnosa(antrianId int, diagnosa doctorstation.Diagnosa) error { +func PatchDiagnosa(antrianId string, diagnosa doctorstation.Diagnosa) error { var ( pemeriksaanDokterId int ) @@ -75,7 +75,7 @@ func PatchDiagnosa(antrianId int, diagnosa doctorstation.Diagnosa) error { } -func PatchAnatomi(antrianId int, anatomi doctorstation.Anatomi) error { +func PatchAnatomi(antrianId string, anatomi doctorstation.Anatomi) error { var ( pemeriksaanDokterId int )