fix get data surkon

This commit is contained in:
2024-10-08 15:15:35 +07:00
parent 6ee0400ba5
commit 5c32ab9928
4 changed files with 87 additions and 69 deletions

No files matched your search

@@ -68,24 +68,30 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.InsertDataSuratKontrol) erro
func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) {
var dataSurKon []*suratkontrol.GetDataSuratKontrol
err := config.SatuDataDB.Debug().Raw(`select dsk."status", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
dsk."Nomor_surat_kontrol", dlr."Nama" as "Lokasi_ruang",
err := config.SatuDataDB.Debug().Raw(`select dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
dsk."Nomor_surat_kontrol",
(select dlr."Nama"
from data_kunjungan_pasien dkp
left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id where dkp."id" = dsk."Kunjungan_pasien" LIMIT 1) as "Poli_asal",
dlr."Nama" as "Poli_tuju",
dkp2."Nomor_sep", dkp2."Nama_lengkap",
array(
select dgd. "Gelar_depan"
from data_pegawai_daftar_gelar_depan dpdgd
left join daftar_gelar_depan dgd on dpdgd.daftar_gelar_depan_id = dgd.id where dpdgd.data_pegawai_id = dp.id
) AS gelardepan ,
dk."Nama_lengkap" ,
dk."Nama_lengkap" as "Nama_lengkap_dokter",
array(
select dgb. "Gelar_belakang"
from data_pegawai_daftar_gelar_belakang dpdgb
left join daftar_gelar_belakang dgb on dpdgb.daftar_gelar_belakang_id = dgb.id where dpdgb.data_pegawai_id = dp.id
) AS gelarbelakang
) AS gelarbelakang
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
where dsk."Status_surat_kontrol" = '1'`).First(&dataSurKon).Error
left join data_ktp dk on dp."KTP" = dk. "id"
where dsk."Status_surat_kontrol" <> '0'`).First(&dataSurKon).Error
if err != nil {
log.Println(err)
return nil, err
+28 -21
View File
@@ -21,8 +21,6 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
log.Printf("Error json marshal: %v", err)
}
responses := &suratkontrol.ResponseInsert{}
log.Println("REQUEST: ", string(reqMarshall))
req, err := http.NewRequest("POST", url, bytes.NewReader(reqMarshall))
@@ -62,6 +60,7 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
log.Println("metadata : ", resSuratKontrolRaw.MetaData.Code)
responses := &suratkontrol.ResponseInsert{}
if resSuratKontrolRaw.MetaData.Code != "200" {
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
log.Printf("error : %v", errMsg)
@@ -78,7 +77,7 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
return nil, err
}
var resSuratKontrol *suratkontrol.ResponseInsertSuratKontrol
var resSuratKontrol *suratkontrol.ResponseSuratKontrol
log.Println("dataresp: ", dataResp)
@@ -96,7 +95,7 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
return responses, nil
}
func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[string]string, request *suratkontrol.RequestHeaderRencanaKontrol) (interface{}, error) {
func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[string]string, request *suratkontrol.RequestHeaderRencanaKontrol) (*suratkontrol.ResponseInsert, error) {
log.Println("URL", url)
requestBody := &suratkontrol.RequestHeaderRencanaKontrol{
@@ -134,13 +133,23 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
return nil, err
}
var resSuratKontrolRaw suratkontrol.ResponseRaw
var resSuratKontrolRaw suratkontrol.ResponseRawUpper
err = json.Unmarshal([]byte(res), &resSuratKontrolRaw)
if err != nil {
log.Printf("Error Unmarshaling: %v", err)
return nil, err
}
responses := &suratkontrol.ResponseInsert{}
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
}
dataResp, err := docs.StringDecrypt(key, resSuratKontrolRaw.Response)
if err != nil {
log.Printf("Error Decrypt: %v", err)
@@ -148,7 +157,7 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
return nil, err
}
var resSuratKontrol []suratkontrol.ResponseInsertSuratKontrol
var resSuratKontrol *suratkontrol.ResponseSuratKontrol
log.Println("dataresp: ", dataResp)
@@ -158,9 +167,12 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
return nil, err
}
log.Println("res: ", resSuratKontrol)
responses = &suratkontrol.ResponseInsert{
MetaData: resSuratKontrolRaw.MetaData,
Response: *resSuratKontrol,
}
return resSuratKontrol, nil
return responses, nil
}
func ResponseDeleteSuratKontrol(url string, header *config.Header, headers map[string]string, request *suratkontrol.RequestHeaderRencanaKontrol) (interface{}, error) {
@@ -171,7 +183,7 @@ func ResponseDeleteSuratKontrol(url string, header *config.Header, headers map[s
log.Printf("Error json marshal: %v", err)
}
req, err := http.NewRequest("PUT", url, bytes.NewReader(reqMarshall))
req, err := http.NewRequest("DELETE", url, bytes.NewReader(reqMarshall))
if err != nil {
log.Printf("Error creating request: %v", err)
return nil, err
@@ -197,7 +209,7 @@ func ResponseDeleteSuratKontrol(url string, header *config.Header, headers map[s
return nil, err
}
var resSuratKontrolRaw suratkontrol.ResponseRaw
var resSuratKontrolRaw suratkontrol.ResponseRawUpper
err = json.Unmarshal([]byte(res), &resSuratKontrolRaw)
if err != nil {
log.Printf("Error Unmarshaling: %v", err)
@@ -211,19 +223,14 @@ func ResponseDeleteSuratKontrol(url string, header *config.Header, headers map[s
return nil, err
}
var resSuratKontrol []suratkontrol.ResponseInsertSuratKontrol
log.Println("dataresp: ", dataResp)
err = json.Unmarshal([]byte(dataResp), &resSuratKontrol)
if err != nil {
log.Printf("Error Decode: %v", err)
return nil, err
responses := &suratkontrol.ResponseUpper{
MetaData: resSuratKontrolRaw.MetaData,
Response: suratkontrol.ResponseSuratKontrol{},
}
log.Println("res: ", resSuratKontrol)
log.Println("res: ", responses)
return resSuratKontrol, nil
return responses, nil
}
func ResponseGetNomorSuratKontrol(url string, header *config.Header, headers map[string]string) (*suratkontrol.ResponseNomorSuratKontrol, error) {
@@ -305,7 +312,7 @@ func ResponseGetSuratKontrolBySEP(url string, header *config.Header, headers map
log.Println(err)
}
var resSurKonSEP suratkontrol.ResponseRawSEP
var resSurKonSEP suratkontrol.ResponseRawUpper
err = json.Unmarshal([]byte(res), &resSurKonSEP)
if err != nil {
log.Printf("Error Unmarshaling: %v", err)
+21 -25
View File
@@ -103,7 +103,7 @@ func UpdateSuratKontrol(c *gin.Context) {
return
}
// dateNow := time.Now().Format("2006-01-02")
dateNow := time.Now().Format("2006-01-02")
conf := config.ConfigBpjs{}
@@ -117,12 +117,6 @@ func UpdateSuratKontrol(c *gin.Context) {
"Content-Type": "Application/x-www-form-urlencoded",
}
log.Println("Headers : ", headers)
// kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
// if err != nil {
// log.Println(err)
// c.JSON(http.StatusInternalServerError, err)
// return
// }
reqSuratKontrol := &sk.RequestHeaderRencanaKontrol{
Request: &sk.ReqUpdateRencanaKontrol{
@@ -141,21 +135,21 @@ func UpdateSuratKontrol(c *gin.Context) {
return
}
// reqUpdate := &sk.UpdateDataSuratKontrol{
// UserUpdated: req.User,
// DateUpdated: dateNow,
// TglCetakSurKon: dateNow,
// TglRencanaKontrol: res.Response.TglRencanaKontrol,
// NomorSurKon: res.Response.NoSuratKontrol,
// StatusSurKon: 1, // TODO CARI DARIMANA
// }
reqUpdate := &sk.UpdateDataSuratKontrol{
UserUpdated: req.User,
DateUpdated: dateNow,
TglCetakSurKon: dateNow,
TglRencanaKontrol: res.Response.TglRencanaKontrol,
NomorSurKon: res.Response.NoSuratKontrol,
StatusSurKon: 2, // Edit always 2
}
// err = suratkontrol.UpdateDataSuratKontrol(reqUpdate)
// if err != nil {
// log.Println(err)
// c.JSON(http.StatusInternalServerError, err)
// return
// }
err = suratkontrol.UpdateDataSuratKontrol(reqUpdate)
if err != nil {
log.Println(err)
c.JSON(http.StatusInternalServerError, err)
return
}
c.JSON(http.StatusOK, res)
}
@@ -274,7 +268,7 @@ func GetDataSurKon(c *gin.Context) {
for _, v := range data {
gelarDepan := utils.ReplaceGelar(v.GelarDepan)
gelarBelakang := utils.ReplaceGelar(v.GelarBelakang)
namaLengkap := gelarDepan + " " + v.NamaLengkap + " " + gelarBelakang
namaLengkap := gelarDepan + " " + v.NamaLengkapDokter + " " + gelarBelakang
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
dateCetakSurkon, _ := time.Parse(time.RFC3339, v.TglCetakSurKon)
@@ -282,12 +276,14 @@ func GetDataSurKon(c *gin.Context) {
dateRencanaSurkon, _ := time.Parse(time.RFC3339, v.TglRencanaKontrol)
dateRencanaSurkonString := dateRencanaSurkon.Format("02/01/2006")
resSurKon = append(resSurKon, &sk.ResponseGetDataSuratKontrol{
Status: v.Status,
TglCetakSurKon: dateCetakSurkonString,
TglRencanaKontrol: dateRencanaSurkonString,
NomorSurKon: v.NomorSurKon,
LokasiRuang: v.LokasiRuang,
NamaLengkap: namaLengkap,
PoliAsal: v.PoliAsal,
PoliTujuan: v.PoliTujuan,
NomorSEP: v.NomorSEP,
NamaPasien: v.NamaPasien,
NamaDokter: namaLengkap,
})
}
c.JSON(http.StatusOK, resSurKon)
+26 -17
View File
@@ -50,9 +50,9 @@ type ResponseRaw struct {
MetaData Metadata `json:"metadata"`
}
type ResponseRawSEP struct {
Response string `json:"response"`
MetaData Metadata `json:"metaData"`
type ResponseRawUpper struct {
Response string `json:"response"`
MetaData MetadataString `json:"metaData"`
}
type Metadata struct {
@@ -71,11 +71,16 @@ type MetadataString struct {
}
type ResponseInsert struct {
MetaData MetadataString `json:"metadata"`
Response ResponseInsertSuratKontrol `json:"response"`
MetaData MetadataString `json:"metadata"`
Response ResponseSuratKontrol `json:"response"`
}
type ResponseInsertSuratKontrol struct {
type ResponseUpper struct {
MetaData MetadataString `json:"metaData"`
Response ResponseSuratKontrol `json:"response"`
}
type ResponseSuratKontrol struct {
NoSuratKontrol string `json:"noSuratKontrol"`
TglRencanaKontrol string `json:"tglRencanaKontrol"`
NamaDokter string `json:"namaDokter"`
@@ -83,6 +88,7 @@ type ResponseInsertSuratKontrol struct {
Nama string `json:"nama"`
Kelamin string `json:"kelamin"`
TglLahir string `json:"tglLahir"`
NamaDiagnosa string `json:"namaDiagnosa"`
}
type RequestRencanaKontrol struct {
@@ -187,22 +193,25 @@ type ResponseSuratKontrolBySEP struct {
}
type GetDataSuratKontrol struct {
Status string `gorm:"column:status" json:"status"`
TglCetakSurKon string `gorm:"column:Tanggal_cetak_surat_kontrol" json:"Tanggal_cetak_surat_kontrol"`
TglRencanaKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"`
NomorSurKon string `gorm:"column:Nomor_surat_kontrol" json:"Nomor_surat_kontrol"`
KunjunganPasien string `gorm:"column:Kunjungan_pasien" json:"Kunjungan_pasien"`
LokasiRuang string `gorm:"column:Lokasi_ruang" json:"Lokasi_ruang"`
PoliAsal string `gorm:"column:Poli_asal" json:"Poli_asal"`
PoliTujuan string `gorm:"column:Poli_tuju" json:"Poli_tuju"`
NomorSEP string `gorm:"column:Nomor_sep" json:"Nomor_sep"`
NamaPasien string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"`
GelarDepan string `gorm:"column:gelardepan" json:"gelardepan"`
NamaLengkap string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"`
NamaLengkapDokter string `gorm:"column:Nama_lengkap_dokter" json:"Nama_lengkap_dokter"`
GelarBelakang string `gorm:"column:gelarbelakang" json:"gelarbelakang"`
}
type ResponseGetDataSuratKontrol struct {
Status string `gorm:"column:status" json:"status"`
TglCetakSurKon string `gorm:"column:Tanggal_cetak_surat_kontrol" json:"Tanggal_cetak_surat_kontrol"`
TglRencanaKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"`
NomorSurKon string `gorm:"column:Nomor_surat_kontrol" json:"Nomor_surat_kontrol"`
LokasiRuang string `gorm:"column:Lokasi_ruang" json:"Lokasi_ruang"`
NamaLengkap string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"`
}
TglCetakSurKon string `json:"Tanggal_cetak_surat_kontrol"`
TglRencanaKontrol string `json:"Tanggal_rencana_kontrol"`
NomorSurKon string `json:"Nomor_surat_kontrol"`
PoliAsal string `json:"Poli_asal"`
PoliTujuan string `json:"Poli_tuju"`
NomorSEP string `json:"Nomor_sep"`
NamaPasien string `json:"Nama_pasien"`
NamaDokter string `json:"NamaDokter"`
}