140 lines
3.6 KiB
Go
140 lines
3.6 KiB
Go
package suratkontrol
|
|
|
|
import (
|
|
cfg "bridging-rssa/config"
|
|
suratkontrol "bridging-rssa/database/satu_data/surat_kontrol"
|
|
sk "bridging-rssa/models/bpjs/surat_kontrol"
|
|
"bridging-rssa/models/config"
|
|
"log"
|
|
"net/http"
|
|
"os"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func InsertSuratKontrol(c *gin.Context) {
|
|
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
|
endpoint := os.Getenv("SURAT_KONTROL_RS_DEV")
|
|
param := os.Getenv("INSERT_SURAT_KONTROL")
|
|
url := baseUrl + endpoint + param
|
|
|
|
var req sk.RequestInsertRencanaKontrol
|
|
|
|
err := c.Bind(req)
|
|
if err != nil {
|
|
log.Println(err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
}
|
|
|
|
conf := config.ConfigBpjs{}
|
|
|
|
header := cfg.SetHeader(conf)
|
|
|
|
headers := map[string]string{
|
|
"X-cons-id": header.ConsID,
|
|
"X-timestamp": header.TimeStamp,
|
|
"X-signature": header.XSignature,
|
|
"user_key": header.UserKey,
|
|
"Content-Type": "Application/x-www-form-urlencoded",
|
|
}
|
|
log.Println("Headers : ", headers)
|
|
kunjuganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
|
if err != nil {
|
|
log.Println(err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
}
|
|
|
|
reqSuratKontrol := &sk.RequestRencanaKontrol{
|
|
NoSEP: kunjuganPasien.NomorSEP,
|
|
KodeDokter: kunjuganPasien.KodeHfisDokter,
|
|
PoliKontrol: req.KodePoli,
|
|
TglRencanaKontrol: req.Tanggal,
|
|
User: req.User,
|
|
}
|
|
|
|
res, err := PostData(url, header, headers, reqSuratKontrol)
|
|
if err != nil {
|
|
log.Printf("Error making external API request: %v", err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
}
|
|
|
|
c.JSON(http.StatusOK, res)
|
|
}
|
|
|
|
func UpdateSuratKontrol(c *gin.Context) {
|
|
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
|
endpoint := os.Getenv("SURAT_KONTROL_RS_DEV")
|
|
param := os.Getenv("UPDATE_SURAT_KONTROL")
|
|
url := baseUrl + endpoint + param
|
|
|
|
var req sk.RequestInsertRencanaKontrol
|
|
|
|
err := c.Bind(req)
|
|
if err != nil {
|
|
log.Println(err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
}
|
|
|
|
conf := config.ConfigBpjs{}
|
|
|
|
header := cfg.SetHeader(conf)
|
|
|
|
headers := map[string]string{
|
|
"X-cons-id": header.ConsID,
|
|
"X-timestamp": header.TimeStamp,
|
|
"X-signature": header.XSignature,
|
|
"user_key": header.UserKey,
|
|
"Content-Type": "Application/x-www-form-urlencoded",
|
|
}
|
|
log.Println("Headers : ", headers)
|
|
kunjuganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
|
if err != nil {
|
|
log.Println(err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
}
|
|
|
|
reqSuratKontrol := &sk.RequestRencanaKontrol{
|
|
NoSEP: kunjuganPasien.NomorSEP,
|
|
KodeDokter: kunjuganPasien.KodeHfisDokter,
|
|
PoliKontrol: req.KodePoli,
|
|
TglRencanaKontrol: req.Tanggal,
|
|
User: req.User,
|
|
}
|
|
|
|
res, err := ResponseUpdateSuratKontrol(url, header, headers, reqSuratKontrol)
|
|
if err != nil {
|
|
log.Printf("Error making external API request: %v", err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
}
|
|
|
|
c.JSON(http.StatusOK, res)
|
|
}
|
|
|
|
func GetNomorSuratKontrol(c *gin.Context) {
|
|
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
|
endpoint := os.Getenv("SURAT_KONTROL_RS_DEV")
|
|
param := os.Getenv("GET_NOMOR_SURAT_KONTROL")
|
|
noSurat := c.Param("noSuratKontrol")
|
|
url := baseUrl + endpoint + param + noSurat
|
|
|
|
conf := config.ConfigBpjs{}
|
|
|
|
header := cfg.SetHeader(conf)
|
|
|
|
headers := map[string]string{
|
|
"X-cons-id": header.ConsID,
|
|
"X-timestamp": header.TimeStamp,
|
|
"X-signature": header.XSignature,
|
|
"user_key": header.UserKey,
|
|
}
|
|
log.Println("Headers : ", headers)
|
|
|
|
res, err := ResponseGetNomorSuratKontrol(url, header, headers)
|
|
if err != nil {
|
|
log.Fatalf("Error making external API request: %v", err)
|
|
c.JSON(http.StatusInternalServerError, err)
|
|
}
|
|
|
|
c.JSON(http.StatusOK, res)
|
|
}
|