From 7467882ba6b2cd0936059e4a87f400ad423bd51be8e9784a1a3b5dd795515192 Mon Sep 17 00:00:00 2001 From: mirza Date: Mon, 14 Oct 2024 08:58:49 +0700 Subject: [PATCH] add idxdaftar get data surkon --- .../satu_data/surat_kontrol/surat_kontrol.go | 16 ++++- handlers/bpjs/surat_kontrol/surat_kontrol.go | 64 ++++++++++++++----- models/bpjs/surat_kontrol/surat_kontrol.go | 6 +- 3 files changed, 65 insertions(+), 21 deletions(-) diff --git a/database/satu_data/surat_kontrol/surat_kontrol.go b/database/satu_data/surat_kontrol/surat_kontrol.go index b10a036..12d6e3c 100644 --- a/database/satu_data/surat_kontrol/surat_kontrol.go +++ b/database/satu_data/surat_kontrol/surat_kontrol.go @@ -43,7 +43,7 @@ func GetDataKunjunganPasien(idxdaftar string) (*suratkontrol.KunjunganPasien, er return kunjunganPasien, nil } -func InsertDataSuratKontrol(reqInsert *suratkontrol.InsertDataSuratKontrol) error { +func InsertDataSuratKontrol(reqInsert *suratkontrol.DataSuratKontrol) error { log.Println("Req Insert Database : ", reqInsert) insertQuery := `insert into "data_surat_kontrol" ("id", "date_created", "Tanggal_cetak_surat_kontrol", "Tanggal_rencana_kontrol", "Nomor_surat_kontrol", "Kunjungan_pasien", "Ruangan_surat_kontrol", "DPJP_surat_kontrol", "Status_surat_kontrol", @@ -77,7 +77,7 @@ func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) { 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", + dkp2."Nomor_sep", dkp2."Nama_lengkap", dkp2."IDXDAFTAR", array( select dgd. "Gelar_depan" from data_pegawai_daftar_gelar_depan dpdgd @@ -119,7 +119,7 @@ func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontro 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" as "Nama_lengkap_dokter", + dk."Nama_lengkap" as "Nama_lengkap_dokter", dkp."IDXDAFTAR", array( select dgb. "Gelar_belakang" from data_pegawai_daftar_gelar_belakang dpdgb @@ -160,3 +160,13 @@ func GetIDXDaftarBySurKon(idSurKon string) (string, error) { } return idxDaftar, err } + +func GetAllDataSuratKontrol(idSurKon string) (*suratkontrol.DataSuratKontrol, error) { + var dataSurKon *suratkontrol.DataSuratKontrol + err := config.SatuDataDB.Debug().Raw(`select * from "data_surat_kontrol" where "id" = ?`, idSurKon).First(&dataSurKon).Error + if err != nil { + log.Println(err) + return nil, err + } + return dataSurKon, nil +} diff --git a/handlers/bpjs/surat_kontrol/surat_kontrol.go b/handlers/bpjs/surat_kontrol/surat_kontrol.go index ae5437d..6bcffb4 100644 --- a/handlers/bpjs/surat_kontrol/surat_kontrol.go +++ b/handlers/bpjs/surat_kontrol/surat_kontrol.go @@ -58,7 +58,7 @@ func InsertSuratKontrol(c *gin.Context) { uuid := uuid.New().String() if req.NoSEP == "" { tipeSurKon = "0" - reqInsert := &sk.InsertDataSuratKontrol{ + reqInsert := &sk.DataSuratKontrol{ ID: uuid, DateCreated: timeNow, TglCetakSurKon: timeNow, @@ -97,7 +97,7 @@ func InsertSuratKontrol(c *gin.Context) { return } - reqInsert := &sk.InsertDataSuratKontrol{ + reqInsert := &sk.DataSuratKontrol{ ID: uuid, DateCreated: timeNow, TglCetakSurKon: timeNow, @@ -153,15 +153,46 @@ func UpdateSuratKontrol(c *gin.Context) { var req sk.ReqUpdateRencanaKontrol - err := c.Bind(req) + err := c.Bind(&req) if err != nil { log.Println(err) c.JSON(http.StatusInternalServerError, err) return } - dateNow := time.Now().Format("2006-01-02") + timeNow := time.Now().Format("2006-01-02 15:04:05") + kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar) + if err != nil { + log.Println(err) + } + uuid := uuid.New().String() + tipeSurKon := "1" + + if req.NoSEP == "" { + tipeSurKon = "0" + reqInsert := &sk.DataSuratKontrol{ + ID: uuid, + DateCreated: timeNow, + TglCetakSurKon: timeNow, + TglRencanaKontrol: req.TglRencanaKontrol, + NomorSurKon: "", //TODO How to get Nomor SurKon + KunjunganPasien: kunjunganPasien.ID, + RuanganSurKon: kunjunganPasien.Ruangan, + DPJPSurKon: kunjunganPasien.DPJP, + StatusSurKon: 1, // First Insert status always set to 1 + UserCreatedSurKon: req.User, + TipeSurKon: tipeSurKon, + } + err = suratkontrol.InsertDataSuratKontrol(reqInsert) + if err != nil { + log.Println(err) + c.JSON(http.StatusInternalServerError, err) + return + } + c.JSON(http.StatusOK, nil) + return + } conf := config.ConfigBpjs{} header := cfg.SetHeaderDev(conf) @@ -199,20 +230,18 @@ func UpdateSuratKontrol(c *gin.Context) { return } - kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar) - if err != nil { - log.Println(err) - } - - reqInsert := &sk.InsertDataSuratKontrol{ - TglCetakSurKon: dateNow, + reqInsert := &sk.DataSuratKontrol{ + ID: uuid, + DateCreated: timeNow, + TglCetakSurKon: timeNow, TglRencanaKontrol: res.Response.TglRencanaKontrol, NomorSurKon: res.Response.NoSuratKontrol, KunjunganPasien: kunjunganPasien.ID, RuanganSurKon: kunjunganPasien.Ruangan, DPJPSurKon: kunjunganPasien.DPJP, - StatusSurKon: 2, // update data + StatusSurKon: 1, // Insert status always set to 1 UserCreatedSurKon: req.User, + TipeSurKon: tipeSurKon, } err = suratkontrol.InsertDataSuratKontrol(reqInsert) @@ -354,11 +383,12 @@ func GetDataSurKon(c *gin.Context) { namaLengkap = strings.TrimPrefix(namaLengkap, " ") namaLengkap = strings.TrimSuffix(namaLengkap, " ") dateCetakSurkon, _ := time.Parse(time.RFC3339, v.TglCetakSurKon) - dateCetakSurkonString := dateCetakSurkon.Format("02/01/2006") + dateCetakSurkonString := dateCetakSurkon.Format("2006-01-02") dateRencanaSurkon, _ := time.Parse(time.RFC3339, v.TglRencanaKontrol) - dateRencanaSurkonString := dateRencanaSurkon.Format("02/01/2006") + dateRencanaSurkonString := dateRencanaSurkon.Format("2006-01-02") resSurKon = append(resSurKon, &sk.ResponseGetDataSuratKontrol{ IDDataSurKon: v.IDDataSurKon, + IDXDaftar: v.IDXDaftar, TglCetakSurKon: dateCetakSurkonString, TglRencanaKontrol: dateRencanaSurkonString, NomorSurKon: v.NomorSurKon, @@ -389,11 +419,12 @@ func GetDataSurKonByID(c *gin.Context) { namaLengkap = strings.TrimPrefix(namaLengkap, " ") namaLengkap = strings.TrimSuffix(namaLengkap, " ") dateCetakSurkon, _ := time.Parse(time.RFC3339, data.TglCetakSurKon) - dateCetakSurkonString := dateCetakSurkon.Format("02/01/2006") + dateCetakSurkonString := dateCetakSurkon.Format("2006-01-02") dateRencanaSurkon, _ := time.Parse(time.RFC3339, data.TglRencanaKontrol) - dateRencanaSurkonString := dateRencanaSurkon.Format("02/01/2006") + dateRencanaSurkonString := dateRencanaSurkon.Format("2006-01-02") resSurKon := &sk.ResponseGetDataSuratKontrol{ IDDataSurKon: data.IDDataSurKon, + IDXDaftar: data.IDXDaftar, TglCetakSurKon: dateCetakSurkonString, TglRencanaKontrol: dateRencanaSurkonString, NomorSurKon: data.NomorSurKon, @@ -436,6 +467,7 @@ func PrintSurKon(c *gin.Context) { dateRencanaSurkonString := dateRencanaSurkon.Format("2006-01-02") resSurKon := &sk.ResponseGetDataSuratKontrol{ IDDataSurKon: data.IDDataSurKon, + IDXDaftar: data.IDXDaftar, TglCetakSurKon: dateCetakSurkonString, TglRencanaKontrol: dateRencanaSurkonString, NomorSurKon: data.NomorSurKon, diff --git a/models/bpjs/surat_kontrol/surat_kontrol.go b/models/bpjs/surat_kontrol/surat_kontrol.go index 9ccf4fa..5cfe47d 100644 --- a/models/bpjs/surat_kontrol/surat_kontrol.go +++ b/models/bpjs/surat_kontrol/surat_kontrol.go @@ -14,7 +14,7 @@ type ReqInsertRencanaKontrol struct { type ReqUpdateRencanaKontrol struct { IDXDaftar string `json:"idxdaftar"` - IDSurKon string `json:"id"` + IDSurKon string `json:"idSurKon"` NoSuratKontrol string `json:"noSuratKontrol"` NoSEP string `json:"noSEP"` KodeDokter string `json:"kodeDokter"` @@ -187,7 +187,7 @@ type ProvPerujuk struct { TglRujukan string `json:"tglRujukan"` } -type InsertDataSuratKontrol struct { +type DataSuratKontrol struct { ID string `gorm:"column:id" json:"id"` Status string `gorm:"column:status" json:"status"` Sort int `gorm:"column:sort" json:"sort"` @@ -219,6 +219,7 @@ type ResponseSuratKontrolBySEP struct { type GetDataSuratKontrol struct { IDDataSurKon string `gorm:"column:id" json:"id"` + IDXDaftar int `gorm:"column:IDXDAFTAR" json:"IDXDAFTAR"` 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"` @@ -234,6 +235,7 @@ type GetDataSuratKontrol struct { type ResponseGetDataSuratKontrol struct { IDDataSurKon string `json:"id"` + IDXDaftar int `json:"Idx_daftar"` TglCetakSurKon string `json:"Tanggal_cetak_surat_kontrol"` TglRencanaKontrol string `json:"Tanggal_rencana_kontrol"` NomorSurKon string `json:"Nomor_surat_kontrol"`