fix surkon
This commit is contained in:
No files matched your search
@@ -0,0 +1,16 @@
|
||||
package suratkontrol
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
sk "bridging-rssa/models/bpjs/surat_kontrol"
|
||||
"log"
|
||||
)
|
||||
|
||||
func UpdateNoSEPKunjunganPasien(req sk.RequestInsertRencanaKontrol) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`update "data_kunjungan_pasien" set "Nomor_sep" = ? where "IDXDAFTAR" = ?`, req.NoSEP, req.IDXDaftar).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -45,12 +45,13 @@ func GetDataKunjunganPasien(idxdaftar string) (*suratkontrol.KunjunganPasien, er
|
||||
|
||||
func InsertDataSuratKontrol(reqInsert *suratkontrol.InsertDataSuratKontrol) error {
|
||||
log.Println("Req Insert Database : ", reqInsert)
|
||||
insertQuery := `insert into "data_surat_kontrol" ("id", "Tanggal_cetak_surat_kontrol", "Tanggal_rencana_kontrol",
|
||||
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",
|
||||
"User_created_surat_kontrol")
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
"User_created_surat_kontrol", "Tipe_surat_kontrol")
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
err := config.SatuDataDB.Debug().Exec(insertQuery,
|
||||
reqInsert.ID,
|
||||
reqInsert.DateCreated,
|
||||
reqInsert.TglCetakSurKon,
|
||||
reqInsert.TglRencanaKontrol,
|
||||
reqInsert.NomorSurKon,
|
||||
@@ -59,6 +60,7 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.InsertDataSuratKontrol) erro
|
||||
reqInsert.DPJPSurKon,
|
||||
reqInsert.StatusSurKon,
|
||||
reqInsert.UserCreatedSurKon,
|
||||
reqInsert.TipeSurKon,
|
||||
).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -92,7 +94,41 @@ func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
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" <> '0'`).First(&dataSurKon).Error
|
||||
where dsk."Status_surat_kontrol" = '1'`).Scan(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Data Surat Kontrol : ", dataSurKon)
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon *suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select dsk."id", 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" 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
|
||||
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' and dkp2."IDXDAFTAR" = ?`, idxdaftar).First(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
@@ -102,7 +138,7 @@ func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
}
|
||||
|
||||
func UpdateDataSuratKontrol(idSurKon string) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`update "data_surat_kontrol" set "Status_surat_kontrol" = 2 where "id" = ?`, idSurKon).Error
|
||||
err := config.SatuDataDB.Debug().Exec(`update "data_surat_kontrol" set "Status_surat_kontrol" = 0 where "id" = ?`, idSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return err
|
||||
|
||||
@@ -22,6 +22,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
param := os.Getenv("INSERT_SURAT_KONTROL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
timeNow := time.Now().Format("2006-01-02 15:04:05")
|
||||
dateNow := time.Now().Format("2006-01-02")
|
||||
|
||||
var req sk.RequestInsertRencanaKontrol
|
||||
@@ -48,6 +49,39 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
tipeSurKon := "1"
|
||||
|
||||
kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
|
||||
uuid := uuid.New().String()
|
||||
if req.NoSEP == "" {
|
||||
tipeSurKon = "0"
|
||||
reqInsert := &sk.InsertDataSuratKontrol{
|
||||
ID: uuid,
|
||||
DateCreated: timeNow,
|
||||
TglCetakSurKon: timeNow,
|
||||
TglRencanaKontrol: dateNow,
|
||||
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
|
||||
}
|
||||
|
||||
reqSuratKontrol := &sk.RequestHeaderRencanaKontrol{
|
||||
Request: &sk.ReqInsertRencanaKontrol{
|
||||
NoSEP: req.NoSEP,
|
||||
@@ -64,15 +98,10 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
|
||||
uuid := uuid.New().String()
|
||||
reqInsert := &sk.InsertDataSuratKontrol{
|
||||
ID: uuid,
|
||||
TglCetakSurKon: dateNow,
|
||||
DateCreated: timeNow,
|
||||
TglCetakSurKon: timeNow,
|
||||
TglRencanaKontrol: res.Response.TglRencanaKontrol,
|
||||
NomorSurKon: res.Response.NoSuratKontrol,
|
||||
KunjunganPasien: kunjunganPasien.ID,
|
||||
@@ -80,6 +109,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
DPJPSurKon: kunjunganPasien.DPJP,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
TipeSurKon: tipeSurKon,
|
||||
}
|
||||
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
@@ -89,6 +119,13 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
err = suratkontrol.UpdateNoSEPKunjunganPasien(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
response := &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: res.MetaData,
|
||||
Response: sk.ResponseData{
|
||||
@@ -199,7 +236,6 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println("MASUK SINI")
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
@@ -234,12 +270,12 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// err = suratkontrol.UpdateDataSuratKontrol()
|
||||
// if err != nil {
|
||||
// log.Println(err)
|
||||
// c.JSON(http.StatusInternalServerError, err)
|
||||
// return
|
||||
// }
|
||||
err = suratkontrol.UpdateDataSuratKontrol(req.IDDataSurKon)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
@@ -337,3 +373,36 @@ func GetDataSurKon(c *gin.Context) {
|
||||
}
|
||||
c.JSON(http.StatusOK, resSurKon)
|
||||
}
|
||||
|
||||
func GetDataSurKonByID(c *gin.Context) {
|
||||
id := c.Param("idxdaftar")
|
||||
data, err := suratkontrol.GetDataSuratKontrolByID(id)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
gelarDepan := utils.ReplaceGelar(data.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(data.GelarBelakang)
|
||||
namaLengkap := gelarDepan + " " + data.NamaLengkapDokter + " " + gelarBelakang
|
||||
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
|
||||
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
|
||||
dateCetakSurkon, _ := time.Parse(time.RFC3339, data.TglCetakSurKon)
|
||||
dateCetakSurkonString := dateCetakSurkon.Format("02/01/2006")
|
||||
dateRencanaSurkon, _ := time.Parse(time.RFC3339, data.TglRencanaKontrol)
|
||||
dateRencanaSurkonString := dateRencanaSurkon.Format("02/01/2006")
|
||||
resSurKon := &sk.ResponseGetDataSuratKontrol{
|
||||
IDDataSurKon: data.IDDataSurKon,
|
||||
TglCetakSurKon: dateCetakSurkonString,
|
||||
TglRencanaKontrol: dateRencanaSurkonString,
|
||||
NomorSurKon: data.NomorSurKon,
|
||||
PoliAsal: data.PoliAsal,
|
||||
PoliTujuan: data.PoliTujuan,
|
||||
NomorSEP: data.NomorSEP,
|
||||
NamaPasien: data.NamaPasien,
|
||||
NamaDokter: namaLengkap,
|
||||
NomorKartu: "",
|
||||
}
|
||||
c.JSON(http.StatusOK, resSurKon)
|
||||
}
|
||||
@@ -50,6 +50,7 @@ func main() {
|
||||
suratKontrol := v1.Group("/suratkontrol")
|
||||
{
|
||||
suratKontrol.GET("/", suratkontrol.GetDataSurKon)
|
||||
suratKontrol.GET("/idxdaftar/:idxdaftar", suratkontrol.GetDataSurKonByID)
|
||||
suratKontrol.GET("/noSuratKontrol/:noSuratKontrol", suratkontrol.GetNomorSuratKontrol)
|
||||
suratKontrol.GET("/noSEP/:noSEP", suratkontrol.GetSuratKontrolBySEP)
|
||||
suratKontrol.POST("/insert", suratkontrol.InsertSuratKontrol)
|
||||
|
||||
@@ -203,6 +203,7 @@ type InsertDataSuratKontrol struct {
|
||||
DPJPSurKon string `gorm:"column:DPJP_surat_kontrol" json:"DPJP_surat_kontrol"`
|
||||
StatusSurKon int `gorm:"column:Status_surat_kontrol" json:"Status_surat_kontrol"`
|
||||
UserCreatedSurKon string `gorm:"column:User_created_surat_kontrol" json:"User_created_surat_kontrol"`
|
||||
TipeSurKon string `gorm:"column:Tipe_surat_kontrol" json:"Tipe_surat_kontrol"`
|
||||
}
|
||||
|
||||
type ResponseSuratKontrolBySEP struct {
|
||||
|
||||
Reference in New Issue
Block a user