update code for tipe surkon
This commit is contained in:
No files matched your search
@@ -30,7 +30,8 @@ func GetDataKunjunganPasien(idxdaftar string) (*suratkontrol.KunjunganPasien, er
|
||||
where dpdgb.data_pegawai_id = dp.id
|
||||
) AS gelarbelakang,
|
||||
dkp."Ruangan" as ruangan,
|
||||
dkp."DPJP" as id_dokter
|
||||
dkp."DPJP" as id_dokter,
|
||||
dkp."NOMR" as "No_rm"
|
||||
from data_kunjungan_pasien dkp
|
||||
left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id
|
||||
left join data_pegawai dp on dkp."DPJP" = dp.id
|
||||
@@ -103,6 +104,7 @@ func GetDataSuratKontrol(offset, limit string) ([]*suratkontrol.GetDataSuratKont
|
||||
ds."id" as "ID_poli",
|
||||
dp."HFIS_code" as "Kode_dokter",
|
||||
dp."id" as "id_dokter",
|
||||
dp."Code_dpjp" as "Kode_dpjp",
|
||||
dkp2."NOMR" as "No_rm",
|
||||
dkp2."Diagnosis_primer_utama" as "Kode_diagnosa",
|
||||
dkp2."Display_diagnosis_primer_utama" as "Nama_diagnosa",
|
||||
@@ -149,6 +151,7 @@ func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontro
|
||||
ds."id" as "ID_poli",
|
||||
dp."HFIS_code" as "Kode_dokter",
|
||||
dp."id" as "id_dokter",
|
||||
dp."Code_dpjp" as "Kode_dpjp",
|
||||
dkp2."NOMR" as "No_rm",
|
||||
dkp2."Diagnosis_primer_utama" as "Kode_diagnosa",
|
||||
dkp2."Display_diagnosis_primer_utama" as "Nama_diagnosa",
|
||||
@@ -204,7 +207,7 @@ func GetAllDataSuratKontrol(idSurKon string) (*suratkontrol.DataSuratKontrol, er
|
||||
|
||||
func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ? offset ? limit ?`
|
||||
querySelect := `select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
@@ -228,6 +231,7 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
ds."id" as "ID_poli",
|
||||
dp."HFIS_code" as "Kode_dokter",
|
||||
dp."id" as "id_dokter",
|
||||
dp."Code_dpjp" as "Kode_dpjp",
|
||||
dkp2."NOMR" as "No_rm",
|
||||
dkp2."Diagnosis_primer_utama" as "Kode_diagnosa",
|
||||
dkp2."Display_diagnosis_primer_utama" as "Nama_diagnosa",
|
||||
@@ -238,7 +242,7 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' `
|
||||
where dsk."Status_surat_kontrol" = '1' and dsk."Tipe_surat_kontrol" = ? `
|
||||
querySelect += query
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, args...).Find(&dataSurKon).Error
|
||||
if err != nil {
|
||||
@@ -247,3 +251,35 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
}
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func CountDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) (int, error) {
|
||||
var jumlahData int
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
querySelect := `select count(dsk.*)
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' and dsk."Tipe_surat_kontrol" = ? `
|
||||
querySelect += query
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, args...).Find(&jumlahData).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return 0, err
|
||||
}
|
||||
return jumlahData, nil
|
||||
}
|
||||
|
||||
func GetNomorSurKon(idPasien string) (string, error) {
|
||||
var noSurKon string
|
||||
querySelect := `select dsk."Nomor_surat_kontrol" from data_surat_kontrol dsk where dsk."Kunjungan_pasien" = ? and dsk."Tipe_surat_kontrol" <> '1' order by dsk."date_created"`
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, idPasien).Scan(&noSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return "", err
|
||||
}
|
||||
log.Println("Nomor SurKon :", noSurKon)
|
||||
return noSurKon, nil
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -43,3 +45,17 @@ func ReplaceGelar(gelar string) string {
|
||||
gelar = strings.ReplaceAll(gelar, ",", " ")
|
||||
return gelar
|
||||
}
|
||||
|
||||
func GetNoUrut(noSurKon string) (string, error) {
|
||||
noSurKonSlice := strings.Split(noSurKon, "/")
|
||||
noUrut := noSurKonSlice[3]
|
||||
noUrutInt, err := strconv.Atoi(noUrut)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
noUrutInt++
|
||||
noUrutStr := fmt.Sprintf("%03d", noUrutInt)
|
||||
log.Println("No Urut: ", noUrutStr)
|
||||
return noUrutStr, nil
|
||||
}
|
||||
@@ -189,7 +189,7 @@ func GetDokterByDPJP(c *gin.Context) {
|
||||
Kode: listSubspesialis.Kode,
|
||||
Spesialis: listSubspesialis.Spesialis,
|
||||
Subspesialis: listSubspesialis.Subspesialis,
|
||||
IDSubspesialis: listSubspesialis.Kode,
|
||||
IDSubspesialis: listSubspesialis.ID,
|
||||
NamaLengkap: namaLengkap,
|
||||
HFISCode: hfisCode,
|
||||
KodeDPJP: dpjp,
|
||||
@@ -207,7 +207,7 @@ func GetSpesialisByDate(c *gin.Context) {
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
hari := date.Local().Weekday().String()
|
||||
hari := date.Local().Weekday().String()
|
||||
hari = utils.ConvertDay(hari)
|
||||
idSpesialis, err := dokter.GetJadwalDokterByDate(hari)
|
||||
if err != nil {
|
||||
|
||||
@@ -36,14 +36,34 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{}
|
||||
client := http.Client{
|
||||
Timeout: 10 * time.Second,
|
||||
}
|
||||
|
||||
responses := &suratkontrol.Response{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "deadline exceeded") {
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
return nil, err
|
||||
return responses, err
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
if response.StatusCode == http.StatusGatewayTimeout { // 504
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = "504"
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
@@ -62,9 +82,12 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
|
||||
log.Println("ResponseRaw : ", resSuratKontrolRaw)
|
||||
|
||||
responses := &suratkontrol.Response{}
|
||||
if resSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
if strings.Contains(strings.ToLower(resSuratKontrolRaw.MetaData.Message), "Gagal simpan!") {
|
||||
message := "Surat kontrol gagal diterbitkan, pastikan klinik tujuan sama dengan klinik asal pada rujukan awal"
|
||||
resSuratKontrolRaw.MetaData.Message = message
|
||||
}
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resSuratKontrolRaw.MetaData.Message
|
||||
@@ -125,7 +148,7 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "deadline exceeded") {
|
||||
errMsg := errors.New("Gagal Proses Selama 10 Detik, Silahkan Coba Lagi")
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
@@ -137,7 +160,7 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
if response.StatusCode == http.StatusGatewayTimeout { // 504
|
||||
errMsg := errors.New("Gagal Proses Selama 10 Detik, Silahkan Coba Lagi")
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = "504"
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
@@ -163,6 +186,10 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
|
||||
if resSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
if strings.Contains(strings.ToLower(resSuratKontrolRaw.MetaData.Message), "gagal simpan") {
|
||||
message := "Surat kontrol gagal diterbitkan, pastikan klinik tujuan sama dengan klinik asal pada rujukan awal"
|
||||
resSuratKontrolRaw.MetaData.Message = message
|
||||
}
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resSuratKontrolRaw.MetaData.Message
|
||||
@@ -237,7 +264,17 @@ func ResponseDeleteSuratKontrol(url string, header *config.Header, headers map[s
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &suratkontrol.Response{
|
||||
responses := &suratkontrol.Response{}
|
||||
if resSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resSuratKontrolRaw.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
responses = &suratkontrol.Response{
|
||||
MetaData: resSuratKontrolRaw.MetaData,
|
||||
}
|
||||
|
||||
@@ -280,6 +317,16 @@ func ResponseGetNomorSuratKontrol(url string, header *config.Header, headers map
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &suratkontrol.ResponseGetSuratKontrol{}
|
||||
if resNoSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resNoSuratKontrolRaw.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resNoSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resNoSuratKontrolRaw.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resNoSuratKontrolRaw.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
@@ -295,7 +342,7 @@ func ResponseGetNomorSuratKontrol(url string, header *config.Header, headers map
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &suratkontrol.ResponseGetSuratKontrol{
|
||||
responses = &suratkontrol.ResponseGetSuratKontrol{
|
||||
MetaData: resNoSuratKontrolRaw.MetaData,
|
||||
Response: responseNoSuratKontrol,
|
||||
}
|
||||
@@ -337,6 +384,16 @@ func ResponseGetSuratKontrolBySEP(url string, header *config.Header, headers map
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &suratkontrol.ResponseGetSuratKontrolBySEP{}
|
||||
if resSurKonSEP.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSurKonSEP.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resSurKonSEP.MetaData.Code
|
||||
responses.MetaData.Message = resSurKonSEP.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resSurKonSEP.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
@@ -354,7 +411,7 @@ func ResponseGetSuratKontrolBySEP(url string, header *config.Header, headers map
|
||||
|
||||
log.Println("res: ", resSurKonSEP)
|
||||
|
||||
responses := &suratkontrol.ResponseGetSuratKontrolBySEP{
|
||||
responses = &suratkontrol.ResponseGetSuratKontrolBySEP{
|
||||
MetaData: resSurKonSEP.MetaData,
|
||||
Response: responseNoSuratKontrol,
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("Request: ", reqJson)
|
||||
log.Println("Request: ", string(reqJson))
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
@@ -70,7 +70,6 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
headerStringBuilder.WriteString(fmt.Sprintf("%s: %s; ", key, value))
|
||||
}
|
||||
headerString := strings.TrimSuffix(headerStringBuilder.String(), "; ")
|
||||
tipeSurKon := "1"
|
||||
|
||||
kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
if err != nil {
|
||||
@@ -83,20 +82,43 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
}
|
||||
|
||||
uuid := uuid.New().String()
|
||||
if req.NoSEP == "" {
|
||||
tipeSurKon = "0"
|
||||
if req.TipeSurKon != "1" {
|
||||
dataSurkon, err := suratkontrol.GetNomorSurKon(kunjunganPasien.ID)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
noUrut := "001"
|
||||
if dataSurkon != "" {
|
||||
noUrut, err = utils.GetNoUrut(dataSurkon)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
noSurKon := "SI/" + req.TipeRawat + "/" + kunjunganPasien.NomorRM + "/" + noUrut
|
||||
reqInsert := &sk.DataSuratKontrol{
|
||||
ID: uuid,
|
||||
DateCreated: timeNow,
|
||||
TglCetakSurKon: timeNow,
|
||||
TglRencanaKontrol: req.TglRencanaKontrol,
|
||||
NomorSurKon: "", //TODO How to get Nomor SurKon
|
||||
NomorSurKon: noSurKon,
|
||||
KunjunganPasien: kunjunganPasien.ID,
|
||||
RuanganSurKon: kunjunganPasien.Ruangan,
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
TipeSurKon: tipeSurKon,
|
||||
TipeSurKon: req.TipeSurKon,
|
||||
}
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
if err != nil {
|
||||
@@ -107,7 +129,20 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, nil)
|
||||
|
||||
err = suratkontrol.UpdateKunjunganPasien(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "200",
|
||||
Message: "Berhasil Insert Surat Kontrol",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
@@ -185,7 +220,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
TipeSurKon: tipeSurKon,
|
||||
TipeSurKon: "1",
|
||||
}
|
||||
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
@@ -279,7 +314,17 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("Request: ", req)
|
||||
reqJson, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("Request: ", string(reqJson))
|
||||
|
||||
timeNow := time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
@@ -292,22 +337,43 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
uuid := uuid.New().String()
|
||||
tipeSurKon := "1"
|
||||
|
||||
if req.NoSEP == "" {
|
||||
tipeSurKon = "0"
|
||||
uuid := uuid.New().String()
|
||||
if req.TipeSurKon != "1" {
|
||||
dataSurkon, err := suratkontrol.GetNomorSurKon(kunjunganPasien.ID)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
noUrut := "001"
|
||||
if dataSurkon != "" {
|
||||
noUrut, err = utils.GetNoUrut(dataSurkon)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
noSurKon := "SI/" + req.TipeRawat + "/" + kunjunganPasien.NomorRM + "/" + noUrut
|
||||
reqInsert := &sk.DataSuratKontrol{
|
||||
ID: uuid,
|
||||
DateCreated: timeNow,
|
||||
TglCetakSurKon: timeNow,
|
||||
TglRencanaKontrol: req.TglRencanaKontrol,
|
||||
NomorSurKon: "", //TODO How to get Nomor SurKon
|
||||
NomorSurKon: noSurKon, //TODO How to get Nomor SurKon
|
||||
KunjunganPasien: kunjunganPasien.ID,
|
||||
RuanganSurKon: kunjunganPasien.Ruangan,
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
TipeSurKon: tipeSurKon,
|
||||
TipeSurKon: req.TipeSurKon,
|
||||
UserUpdatedSurKon: req.User,
|
||||
}
|
||||
reqUpdate := &sk.DataSuratKontrol{
|
||||
@@ -334,16 +400,9 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, nil)
|
||||
return
|
||||
}
|
||||
|
||||
reqJson, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "200",
|
||||
Message: "Berhasil Update Surat Kontrol",
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -465,7 +524,7 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
RuanganSurKon: kunjunganPasien.Ruangan,
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // Insert status always set to 1
|
||||
TipeSurKon: tipeSurKon,
|
||||
TipeSurKon: "1",
|
||||
UserUpdatedSurKon: req.User,
|
||||
}
|
||||
|
||||
@@ -534,7 +593,7 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
|
||||
timeNow := time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
if req.NomorSurKon == "" {
|
||||
if req.TipeSurKon != "1" {
|
||||
reqUpdate := &sk.DataSuratKontrol{
|
||||
DateUpdated: timeNow,
|
||||
ID: req.IDDataSurKon,
|
||||
@@ -556,6 +615,7 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
Message: "Berhasil Hapus Data",
|
||||
}
|
||||
c.JSON(http.StatusOK, res)
|
||||
return
|
||||
}
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
@@ -704,6 +764,8 @@ func GetDataSurKon(c *gin.Context) {
|
||||
Subspesialis: v.Subspesialis,
|
||||
KodePoli: v.KodePoli,
|
||||
KodeDokter: v.KodeDokter,
|
||||
IDDokter: v.IDDokter,
|
||||
KodeDPJP: v.KodeDPJP,
|
||||
NoRM: v.NoRM,
|
||||
KodeDiagnosa: v.KodeDiagnosa,
|
||||
NamaDiagnosa: v.NamaDiagnosa,
|
||||
@@ -751,6 +813,7 @@ func GetDataSurKonByID(c *gin.Context) {
|
||||
KodeDokter: data.KodeDokter,
|
||||
IDPoli: data.IDPoli,
|
||||
IDDokter: data.IDDokter,
|
||||
KodeDPJP: data.KodeDPJP,
|
||||
NoRM: data.NoRM,
|
||||
KodeDiagnosa: data.KodeDiagnosa,
|
||||
NamaDiagnosa: data.NamaDiagnosa,
|
||||
@@ -815,10 +878,22 @@ func CariPasienTPP(c *gin.Context) {
|
||||
|
||||
query := ``
|
||||
var args []interface{}
|
||||
var argsCount []interface{}
|
||||
var data []*sk.GetDataSuratKontrol
|
||||
var count int
|
||||
if req.NoRM != "" {
|
||||
query += `and dkp2."NOMR" = ?`
|
||||
args = append(args, req.NoRM, req.TanggalAwal, req.TanggalAkhir)
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.NoRM, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.NoRM, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -830,7 +905,17 @@ func CariPasienTPP(c *gin.Context) {
|
||||
}
|
||||
} else if req.NoSEP != "" {
|
||||
query += `and dkp2."Nomor_sep" = ?`
|
||||
args = append(args, req.NoSEP, req.TanggalAwal, req.TanggalAkhir)
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.NoSEP, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.NoSEP, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -842,7 +927,17 @@ func CariPasienTPP(c *gin.Context) {
|
||||
}
|
||||
} else if req.PoliKlinik != "" {
|
||||
query += `and ds."id" = ?`
|
||||
args = append(args, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir)
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -853,7 +948,17 @@ func CariPasienTPP(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
args = append(args, req.TanggalAwal, req.TanggalAkhir)
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -864,8 +969,7 @@ func CariPasienTPP(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
var resSurKon []*sk.ResponseGetDataSuratKontrol
|
||||
var listData []*sk.ResponseGetDataSuratKontrol
|
||||
for _, v := range data {
|
||||
gelarDepan := utils.ReplaceGelar(v.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(v.GelarBelakang)
|
||||
@@ -876,7 +980,7 @@ func CariPasienTPP(c *gin.Context) {
|
||||
dateCetakSurkonString := dateCetakSurkon.Format("2006-01-02")
|
||||
dateRencanaSurkon, _ := time.Parse(time.RFC3339, v.TglRencanaKontrol)
|
||||
dateRencanaSurkonString := dateRencanaSurkon.Format("2006-01-02")
|
||||
resSurKon = append(resSurKon, &sk.ResponseGetDataSuratKontrol{
|
||||
listData = append(listData, &sk.ResponseGetDataSuratKontrol{
|
||||
IDDataSurKon: v.IDDataSurKon,
|
||||
IDXDaftar: v.IDXDaftar,
|
||||
TglCetakSurKon: dateCetakSurkonString,
|
||||
@@ -891,11 +995,18 @@ func CariPasienTPP(c *gin.Context) {
|
||||
Subspesialis: v.Subspesialis,
|
||||
KodePoli: v.KodePoli,
|
||||
KodeDokter: v.KodeDokter,
|
||||
IDDokter: v.IDDokter,
|
||||
KodeDPJP: v.KodeDPJP,
|
||||
NoRM: v.NoRM,
|
||||
KodeDiagnosa: v.KodeDiagnosa,
|
||||
NamaDiagnosa: v.NamaDiagnosa,
|
||||
TipeSurKon: v.TipeSurKon,
|
||||
})
|
||||
}
|
||||
|
||||
resSurKon := &sk.ResponseCariDataSuratKontrol{
|
||||
JumlahData: count,
|
||||
ListDataSuratKontrol: listData,
|
||||
}
|
||||
c.JSON(http.StatusOK, resSurKon)
|
||||
}
|
||||
@@ -57,7 +57,7 @@ type ResponseListHari struct {
|
||||
Kode string `json:"Kode"`
|
||||
Spesialis string `json:"Spesialis"`
|
||||
Subspesialis string `json:"Subspesialis"`
|
||||
IDSubspesialis string `json:"id_subspesialis"`
|
||||
IDSubspesialis int `json:"id_subspesialis"`
|
||||
NamaLengkap string `json:"nama_lengkap"`
|
||||
HFISCode string `json:"HFIS_code"`
|
||||
KodeDPJP string `json:"DPJP_code"`
|
||||
|
||||
@@ -21,4 +21,5 @@ type KunjunganPasien struct {
|
||||
DisplayDiagnosisAkhirKeluar string `gorm:"column:Display_diagnosis_akhir_keluar" json:"Display_diagnosis_akhir_keluar"`
|
||||
DiagnosisPrimerUtama string `gorm:"column:Diagnosis_primer_utama" json:"Diagnosis_primer_utama"`
|
||||
DisplayDiagnosisPrimerUtama string `gorm:"column:Display_diagnosis_primer_utama" json:"Display_diagnosis_primer_utama"`
|
||||
NomorRM string `gorm:"column:No_rm" json:"No_rm"`
|
||||
}
|
||||
@@ -30,14 +30,17 @@ type RequestInsertRencanaKontrol struct {
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
IDDokter string `json:"id_dokter"`
|
||||
KodeDiagnosa string `json:"kode_diagnosa"`
|
||||
NamaDiagnosa string `json:"nama_diagnosa"`
|
||||
KodeDiagnosa string `json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `json:"Nama_diagnosa"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
TipeRawat string `json:"tipe_rawat"`
|
||||
}
|
||||
|
||||
type ReqDeleteRencanaKontrol struct {
|
||||
IDDataSurKon string `json:"id_surat_kontrol"`
|
||||
NomorSurKon string `json:"Nomor_surat_kontrol"`
|
||||
User string `json:"user"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
}
|
||||
|
||||
type RequestUpdateRencanaKontrol struct {
|
||||
@@ -52,6 +55,8 @@ type RequestUpdateRencanaKontrol struct {
|
||||
User string `json:"user"`
|
||||
KodeDiagnosa string `json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `json:"Nama_diagnosa"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
TipeRawat string `json:"tipe_rawat"`
|
||||
}
|
||||
|
||||
type TSuratKontrol struct {
|
||||
@@ -181,8 +186,8 @@ type Peserta struct {
|
||||
}
|
||||
|
||||
type ProvUmum struct {
|
||||
KodedProvider string `json:"kdProvider"`
|
||||
NamaProvider string `json:"nmProvider"`
|
||||
KodeProvider string `json:"kdProvider"`
|
||||
NamaProvider string `json:"nmProvider"`
|
||||
}
|
||||
|
||||
type ProvPerujuk struct {
|
||||
@@ -243,6 +248,7 @@ type GetDataSuratKontrol struct {
|
||||
NomorKartu string `gorm:"column:No_kartu" json:"No_kartu"`
|
||||
IDPoli string `gorm:"column:ID_poli" json:"id_poli"`
|
||||
IDDokter string `gorm:"column:id_dokter" json:"id_dokter"`
|
||||
KodeDPJP string `gorm:"column:Kode_dpjp" json:"Kode_dpjp"`
|
||||
NoRM string `gorm:"column:No_rm" json:"No_rm"`
|
||||
KodeDiagnosa string `gorm:"column:Kode_diagnosa" json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `gorm:"column:Nama_diagnosa" json:"Nama_diagnosa"`
|
||||
@@ -264,6 +270,7 @@ type ResponseGetDataSuratKontrol struct {
|
||||
Subspesialis string `json:"Subspesialis"`
|
||||
KodePoli string `json:"Kode_poli"`
|
||||
KodeDokter string `json:"Kode_dokter"`
|
||||
KodeDPJP string `json:"Kode_dpjp"`
|
||||
IDPoli string `json:"id_poli"`
|
||||
IDDokter string `json:"id_dokter"`
|
||||
NoRM string `json:"No_rm"`
|
||||
@@ -272,12 +279,18 @@ type ResponseGetDataSuratKontrol struct {
|
||||
TipeSurKon string `json:"Tipe_SurKon"`
|
||||
}
|
||||
|
||||
type ResponseCariDataSuratKontrol struct {
|
||||
JumlahData int `json:"jumlah_data"`
|
||||
ListDataSuratKontrol []*ResponseGetDataSuratKontrol `json:"list_data"`
|
||||
}
|
||||
|
||||
type RequestCariPasien struct {
|
||||
NoRM string `json:"no_rm"`
|
||||
NoSEP string `json:"no_sep"`
|
||||
PoliKlinik string `json:"poliklinik"`
|
||||
TanggalAwal string `json:"tanggal_awal"`
|
||||
TanggalAkhir string `json:"tanggal_akhir"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
Offset string `json:"offset"`
|
||||
Limit string `json:"limit"`
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user