diff --git a/docs/docs.go b/docs/docs.go index 5220cf7..91a293e 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -1,141 +1,141 @@ -// Package docs Code generated by swaggo/swag. DO NOT EDIT -package docs - -import "github.com/swaggo/swag" - -const docTemplate = `{ - "schemes": {{ marshal .Schemes }}, - "swagger": "2.0", - "info": { - "description": "{{escape .Description}}", - "title": "{{.Title}}", - "contact": {}, - "version": "{{.Version}}" - }, - "host": "{{.Host}}", - "basePath": "{{.BasePath}}", - "paths": { - "/api/user": { - "get": { - "description": "returs list of all users from the database", - "tags": [ - "Users" - ], - "summary": "return list of all", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/models.User" - } - } - } - } - }, - "/api/user/create": { - "post": { - "description": "Insert Data User", - "tags": [ - "Users" - ], - "summary": "Insert Data User", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/models.Response" - } - } - } - } - }, - "/api/user/delete/:id": { - "delete": { - "description": "Delete Data User", - "tags": [ - "Users" - ], - "summary": "Delete Data User", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/models.Response" - } - } - } - } - }, - "/api/user/update/:id": { - "put": { - "description": "Update Data User", - "tags": [ - "Users" - ], - "summary": "Update Data User", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/models.Response" - } - } - } - } - } - }, - "definitions": { - "models.Response": { - "type": "object", - "properties": { - "response_code": { - "type": "string" - }, - "response_message": { - "type": "string" - } - } - }, - "models.User": { - "type": "object", - "properties": { - "agama": { - "type": "string" - }, - "alamat": { - "type": "string" - }, - "id": { - "type": "string" - }, - "jenis_kelamin": { - "type": "string" - }, - "nama": { - "type": "string" - }, - "umur": { - "type": "integer" - } - } - } - } -}` - -// SwaggerInfo holds exported Swagger Info so clients can modify it -var SwaggerInfo = &swag.Spec{ - Version: "1", - Host: "localhost:8080", - BasePath: "", - Schemes: []string{}, - Title: "Crud User", - Description: "Rest API CRUD User", - InfoInstanceName: "swagger", - SwaggerTemplate: docTemplate, - LeftDelim: "{{", - RightDelim: "}}", -} - -func init() { - swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) -} +// Package docs Code generated by swaggo/swag. DO NOT EDIT +package docs + +import "github.com/swaggo/swag" + +const docTemplate = `{ + "schemes": {{ marshal .Schemes }}, + "swagger": "2.0", + "info": { + "description": "{{escape .Description}}", + "title": "{{.Title}}", + "contact": {}, + "version": "{{.Version}}" + }, + "host": "{{.Host}}", + "basePath": "{{.BasePath}}", + "paths": { + "/api/user": { + "get": { + "description": "returs list of all users from the database", + "tags": [ + "Users" + ], + "summary": "return list of all", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/models.User" + } + } + } + } + }, + "/api/user/create": { + "post": { + "description": "Insert Data User", + "tags": [ + "Users" + ], + "summary": "Insert Data User", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + }, + "/api/user/delete/:id": { + "delete": { + "description": "Delete Data User", + "tags": [ + "Users" + ], + "summary": "Delete Data User", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + }, + "/api/user/update/:id": { + "put": { + "description": "Update Data User", + "tags": [ + "Users" + ], + "summary": "Update Data User", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + } + }, + "definitions": { + "models.Response": { + "type": "object", + "properties": { + "response_code": { + "type": "string" + }, + "response_message": { + "type": "string" + } + } + }, + "models.User": { + "type": "object", + "properties": { + "agama": { + "type": "string" + }, + "alamat": { + "type": "string" + }, + "id": { + "type": "string" + }, + "jenis_kelamin": { + "type": "string" + }, + "nama": { + "type": "string" + }, + "umur": { + "type": "integer" + } + } + } + } +}` + +// SwaggerInfo holds exported Swagger Info so clients can modify it +var SwaggerInfo = &swag.Spec{ + Version: "1", + Host: "localhost:8080", + BasePath: "", + Schemes: []string{}, + Title: "Crud User", + Description: "Rest API CRUD User", + InfoInstanceName: "swagger", + SwaggerTemplate: docTemplate, + LeftDelim: "{{", + RightDelim: "}}", +} + +func init() { + swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) +} diff --git a/handlers/bpjs/surat_kontrol/surat_kontrol.go b/handlers/bpjs/surat_kontrol/surat_kontrol.go index 9704c9a..5b269a6 100644 --- a/handlers/bpjs/surat_kontrol/surat_kontrol.go +++ b/handlers/bpjs/surat_kontrol/surat_kontrol.go @@ -23,6 +23,34 @@ import ( "github.com/google/uuid" ) +func Parse(c *gin.Context) { + var req sk.Parse + err := c.Bind(&req) + if err != nil { + log.Println(err) + c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{ + MetaData: sk.MetadataString{ + Code: "203", + Message: err.Error(), + }, + }) + return + } + + NamaDiagnosaString := strings.TrimSpace("C61 - Malignant neoplasm of prostate") + parts := strings.SplitN(NamaDiagnosaString, " - ", 2) + var kodeICD, diagnosa string + if len(parts) == 2 { + kodeICD = parts[0] + diagnosa = parts[1] + } else { + kodeICD = req.Diagnosa + diagnosa = "" + } + log.Println("belum di parse:", req.Diagnosa) + log.Println("kodeICD : ", kodeICD) + log.Println("diagnosa : ", diagnosa) +} func InsertSuratkontrolNew(c *gin.Context) { baseUrl := os.Getenv("BASEURL_BPJS") endpoint := os.Getenv("SURAT_KONTROL_RS") @@ -296,6 +324,7 @@ func InsertSuratkontrolNew(c *gin.Context) { log.Println("Response: ", response) c.JSON(http.StatusOK, response) } else { + logTimeStart := time.Now().Format("2006-01-02 15:04:05") dataSurkon, err := suratkontrol.GetNomorSurKon(kunjunganPasien.ID) if err != nil { log.Println(err) @@ -345,6 +374,89 @@ func InsertSuratkontrolNew(c *gin.Context) { } log.Println("INI SURAT INTERNAL", reqInsert) err = suratkontrol.InsertDataSuratKontrol(reqInsert) + if err != nil { + log.Println(err) + c.JSON(http.StatusCreated, &sk.MetadataString{ + Code: "201", + Message: err.Error(), + }) + reqJsoninternal, err := json.Marshal(reqInsert) + if err != nil { + log.Println(err) + c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{ + MetaData: sk.MetadataString{ + Code: "203", + Message: err.Error(), + }, + }) + return + } + + log.Println("reqJson : ", string(reqJsoninternal)) + + logTimeEnd := time.Now().Format("2006-01-02 15:04:05") + reqInsertLog := &logapi.DataLogAPI{ + ID: uuid, + DateCreated: logTimeEnd, + UserAgent: req.User, + IP: c.ClientIP(), + Parameter: "Surat Kontrol Internal", + Header: headerString, + Method: "POST", + Url: url, + Request: reqJsoninternal, + Respon: reqJsoninternal, + ResponCode: "200", + ResponTimeStart: logTimeStart, + ResponTimeEnd: logTimeEnd, + Comment: "", + } + + err = log_api.InsertLogAPI(reqInsertLog) + if err != nil { + log.Println(err) + c.JSON(http.StatusCreated, &sk.MetadataString{ + Code: "201", + Message: err.Error(), + }) + return + } + + return + } + + reqJsoninternal, err := json.Marshal(reqInsert) + if err != nil { + log.Println(err) + c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{ + MetaData: sk.MetadataString{ + Code: "203", + Message: err.Error(), + }, + }) + return + } + log.Println("reqJson : ", string(reqJsoninternal)) + + logTimeEnd := time.Now().Format("2006-01-02 15:04:05") + reqInsertLog := &logapi.DataLogAPI{ + ID: uuid, + DateCreated: logTimeEnd, + UserAgent: req.User, + IP: c.ClientIP(), + Parameter: "Surat Kontrol Internal", + Header: headerString, + Method: "POST", + Url: url, + Request: reqJsoninternal, + Respon: reqJsoninternal, + ResponCode: "200", + ResponTimeStart: logTimeStart, + ResponTimeEnd: logTimeEnd, + Comment: "Berhasil Insert SuratKontrol", + } + + err = log_api.InsertLogAPI(reqInsertLog) if err != nil { log.Println(err) c.JSON(http.StatusCreated, &sk.MetadataString{ @@ -1269,7 +1381,7 @@ func UpdateSuratKontrolnew(c *gin.Context) { bpjs.HandleResponse(c, res) } else { - + logTimeStart := time.Now().Format("2006-01-02 15:04:05") dataSurkon, err := suratkontrol.GetNomorSurKon(kunjunganPasien.ID) if err != nil { log.Println(err) @@ -1337,6 +1449,46 @@ func UpdateSuratKontrolnew(c *gin.Context) { }) return } + logTimeEnd := time.Now().Format("2006-01-02 15:04:05") + reqJsoninternal, err := json.Marshal(reqInsert) + if err != nil { + log.Println(err) + c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{ + MetaData: sk.MetadataString{ + Code: "203", + Message: err.Error(), + }, + }) + return + } + log.Println("reqJson : ", string(reqJsoninternal)) + + reqInsertLog := &logapi.DataLogAPI{ + ID: uuid, + DateCreated: logTimeEnd, + UserAgent: req.User, + IP: c.ClientIP(), + Parameter: "Surat Kontrol Internal", + Header: headerString, + Method: "POST", + Url: url, + Request: reqJsoninternal, + Respon: reqJsoninternal, + ResponCode: "200", + ResponTimeStart: logTimeStart, + ResponTimeEnd: logTimeEnd, + Comment: "Berhasil Update SuratKontrol", + } + + err = log_api.InsertLogAPI(reqInsertLog) + if err != nil { + log.Println(err) + c.JSON(http.StatusCreated, &sk.MetadataString{ + Code: "201", + Message: err.Error(), + }) + return + } c.JSON(http.StatusOK, &sk.MetadataString{ Code: "200", diff --git a/main.go b/main.go index a8cf19e..e864c99 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,8 @@ import ( "bridging-rssa/handlers/bpjs/jadwal_dokter" suratkontrol "bridging-rssa/handlers/bpjs/surat_kontrol" "github.com/gin-contrib/cors" + swaggerFiles "github.com/swaggo/files" + ginSwagger "github.com/swaggo/gin-swagger" "log" _ "bridging-rssa/docs" @@ -14,8 +16,6 @@ import ( "github.com/gin-gonic/gin" "github.com/joho/godotenv" cron "github.com/robfig/cron/v3" - swaggerFiles "github.com/swaggo/files" - ginSwagger "github.com/swaggo/gin-swagger" ) // @title Crud User @@ -39,6 +39,12 @@ func main() { AllowHeaders: []string{"Origin", "Content-Type"}, AllowCredentials: true, })) + + r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) + r.POST("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) + r.PUT("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) + r.DELETE("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) + scheduler := cron.New() defer scheduler.Stop() @@ -105,6 +111,8 @@ func main() { suratKontrol.POST("/insertsurkon", suratkontrol.InsertSuratkontrolNew) suratKontrol.PUT("/updatesurkon", suratkontrol.UpdateSuratKontrolnew) suratKontrol.POST("/deletesurkon", suratkontrol.DeleteSuratKontrolNew) + suratKontrol.POST("/parse", suratkontrol.Parse) + } iCare := v1.Group("/icare") @@ -119,10 +127,6 @@ func main() { Spri.PUT("/update", suratkontrol.UpdateSpri) Spri.DELETE("/delete", suratkontrol.DeleteSpri) } - r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) - r.POST("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) - r.PUT("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) - r.DELETE("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) log.Println("JALAN DI PORT : 8080") err = r.Run(":8080") diff --git a/models/bpjs/surat_kontrol/surat_kontrol.go b/models/bpjs/surat_kontrol/surat_kontrol.go index e816fe8..73b56b5 100644 --- a/models/bpjs/surat_kontrol/surat_kontrol.go +++ b/models/bpjs/surat_kontrol/surat_kontrol.go @@ -439,3 +439,7 @@ type Created struct { UserCreate string `json:"User_created_surat_kontrol"` DataCreate string `json:"date_created"` } + +type Parse struct { + Diagnosa string `json:"diagnosa"` +}