penambahan validasi

This commit is contained in:
2025-08-12 14:59:47 +07:00
parent f80a9d0f0c
commit 842a106e76
3 changed files with 185 additions and 8 deletions

No files matched your search

@@ -442,7 +442,7 @@ func GetIdDokterByHFIS(KodeHFIS string) (string, error) {
func GetUserCreated(user string) (*suratkontrol.Created, error) {
var UserCreated *suratkontrol.Created
err := config.SatuDataDB.Raw(`select "User_created_surat_kontrol","date_created" from data_surat_kontrol where "id" = ? `, user).Scan(&UserCreated).Error
err := config.SatuDataDB.Raw(`select "User_created_surat_kontrol","date_created", "Tanggal_rencana_kontrol" from data_surat_kontrol where "id" = ? `, user).Scan(&UserCreated).Error
if err != nil {
return nil, err
}
+181 -5
View File
@@ -202,6 +202,14 @@ func InsertSuratkontrolNew(c *gin.Context) {
})
return
}
if res.MetaData.Code == "500" {
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
Code: "500",
Message: "Server Bpjs Down",
})
return
}
log.Println(err)
bpjs.HandleResponse(c, res)
return
@@ -635,9 +643,12 @@ func InsertSuratKontrol(c *gin.Context) {
DPJPSurKon: req.IDDokter,
StatusSurKon: 1, // First Insert status always set to 1
UserCreatedSurKon: req.User,
KodeIcd: kunjunganPasien.DiagnosisPrimerUtama,
Diagnosa: kunjunganPasien.DisplayDiagnosisPrimerUtama,
TipeSurKon: req.TipeSurKon,
TipeRawat: req.TipeRawat,
}
logTimeStart := time.Now().Format("2006-01-02 15:04:05")
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
if err != nil {
log.Println(err)
@@ -649,7 +660,46 @@ func InsertSuratKontrol(c *gin.Context) {
})
return
}
reqJsoninternal, err := json.Marshal(reqInsert)
if err != nil {
log.Println(err)
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
MetaData: sk.MetadataString{
Code: "203",
Message: err.Error(),
},
})
return
}
log.Println("reqJson : ", string(reqJsoninternal))
logTimeEnd := time.Now().Format("2006-01-02 15:04:05")
reqInsertLog := &logapi.DataLogAPI{
ID: uuid,
DateCreated: logTimeEnd,
UserAgent: req.User,
IP: c.ClientIP(),
Parameter: "Surat Kontrol Internal",
Header: headerString,
Method: "POST",
Url: url,
Request: reqJsoninternal,
Respon: reqJsoninternal,
ResponCode: "200",
ResponTimeStart: logTimeStart,
ResponTimeEnd: logTimeEnd,
Comment: "Berhasil Insert SuratKontrol",
}
err = log_api.InsertLogAPI(reqInsertLog)
if err != nil {
log.Println(err)
c.JSON(http.StatusCreated, &sk.MetadataString{
Code: "201",
Message: err.Error(),
})
return
}
err = suratkontrol.UpdateKunjunganPasien(req)
if err != nil {
log.Println(err)
@@ -764,6 +814,7 @@ func InsertSuratKontrol(c *gin.Context) {
KunjunganPasien: kunjunganPasien.ID,
RuanganSurKon: idRuangan,
DPJPSurKon: req.IDDokter,
NomorKartu: res.Response.NoKartu,
StatusSurKon: 1, // First Insert status always set to 1
UserCreatedSurKon: req.User,
TipeSurKon: req.TipeSurKon,
@@ -909,6 +960,29 @@ func UpdateSuratKontrol(c *gin.Context) {
return
}
UserCreated, err := suratkontrol.GetUserCreated(req.IDSurKon)
if err != nil {
log.Println(err)
c.JSON(http.StatusCreated, &sk.MetadataString{
Code: "201",
Message: err.Error(),
})
}
dateRencanaSurkon, _ := time.Parse(time.RFC3339, UserCreated.TanggalKontrol)
dateRencanaSurkonString := dateRencanaSurkon.Format("2006-01-02")
log.Println("tanggal database : ", dateRencanaSurkonString)
log.Println("tanggal req:", req.TglRencanaKontrol)
if req.TglRencanaKontrol == dateRencanaSurkonString {
c.JSON(http.StatusCreated, &sk.MetadataString{
Code: "201",
Message: "Tanggal tidak boleh sama ! silahkan pilih tanggal yang lain",
})
return
}
dateCetakSurkon, _ := time.Parse(time.RFC3339, UserCreated.DataCreate)
dateCetakSurkonString := dateCetakSurkon.Format("2006-01-02")
uuid := uuid.New().String()
if req.TipeSurKon != "1" {
dataSurkon, err := suratkontrol.GetNomorSurKon(kunjunganPasien.ID)
@@ -923,15 +997,19 @@ func UpdateSuratKontrol(c *gin.Context) {
reqInsert := &sk.DataSuratKontrol{
ID: uuid,
DateCreated: timeNow,
DateCreated: dateCetakSurkonString,
DateUpdated: timeNow,
TglCetakSurKon: timeNow,
TglRencanaKontrol: req.TglRencanaKontrol,
NomorSurKon: dataSurkon, //TODO How to get Nomor SurKon
KunjunganPasien: kunjunganPasien.ID,
RuanganSurKon: kunjunganPasien.Ruangan,
DPJPSurKon: req.IDDokter,
KodeIcd: kunjunganPasien.DiagnosisPrimerUtama,
Diagnosa: kunjunganPasien.DisplayDiagnosisPrimerUtama,
StatusSurKon: 1, // First Insert status always set to 1
TipeSurKon: req.TipeSurKon,
UserCreated: UserCreated.UserCreate,
UserUpdatedSurKon: req.User,
TipeRawat: req.TipeRawat,
}
@@ -951,6 +1029,8 @@ func UpdateSuratKontrol(c *gin.Context) {
})
return
}
logTimeStart := time.Now().Format("2006-01-02 15:04:05")
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
if err != nil {
log.Println(err)
@@ -960,6 +1040,46 @@ func UpdateSuratKontrol(c *gin.Context) {
})
return
}
logTimeEnd := time.Now().Format("2006-01-02 15:04:05")
reqJsoninternal, err := json.Marshal(reqInsert)
if err != nil {
log.Println(err)
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
MetaData: sk.MetadataString{
Code: "203",
Message: err.Error(),
},
})
return
}
log.Println("reqJson : ", string(reqJsoninternal))
reqInsertLog := &logapi.DataLogAPI{
ID: uuid,
DateCreated: logTimeEnd,
UserAgent: req.User,
IP: c.ClientIP(),
Parameter: "Surat Kontrol Internal",
Header: "",
Method: "PUT",
Url: url,
Request: reqJsoninternal,
Respon: reqJsoninternal,
ResponCode: "200",
ResponTimeStart: logTimeStart,
ResponTimeEnd: logTimeEnd,
Comment: "Berhasil Update SuratKontrol",
}
err = log_api.InsertLogAPI(reqInsertLog)
if err != nil {
log.Println(err)
c.JSON(http.StatusCreated, &sk.MetadataString{
Code: "201",
Message: err.Error(),
})
return
}
c.JSON(http.StatusOK, &sk.MetadataString{
Code: "200",
Message: "Berhasil Update Surat Kontrol",
@@ -1089,15 +1209,18 @@ func UpdateSuratKontrol(c *gin.Context) {
reqInsert := &sk.DataSuratKontrol{
ID: uuid,
DateCreated: timeNow,
DateCreated: dateCetakSurkonString,
DateUpdated: timeNow,
TglCetakSurKon: timeNow,
TglRencanaKontrol: res.Response.TglRencanaKontrol,
NomorSurKon: res.Response.NoSuratKontrol,
KunjunganPasien: kunjunganPasien.ID,
RuanganSurKon: kunjunganPasien.Ruangan,
NomorKartu: res.Response.NoKartu,
DPJPSurKon: req.IDDokter,
StatusSurKon: 1, // Insert status always set to 1
TipeSurKon: "1",
UserCreated: UserCreated.UserCreate,
UserUpdatedSurKon: req.User,
KodeIcd: kodeICD,
Diagnosa: diagnosa,
@@ -1221,8 +1344,23 @@ func UpdateSuratKontrolnew(c *gin.Context) {
Message: err.Error(),
})
}
dateRencanaSurkon, _ := time.Parse(time.RFC3339, UserCreated.TanggalKontrol)
dateRencanaSurkonString := dateRencanaSurkon.Format("2006-01-02")
log.Println("tanggal database : ", dateRencanaSurkonString)
log.Println("tanggal req:", req.TglRencanaKontrol)
if req.TglRencanaKontrol == dateRencanaSurkonString {
c.JSON(http.StatusCreated, &sk.MetadataString{
Code: "201",
Message: "Tanggal tidak boleh sama !silahkan pilih tanggal yang lain",
})
return
}
dateCetakSurkon, _ := time.Parse(time.RFC3339, UserCreated.DataCreate)
dateCetakSurkonString := dateCetakSurkon.Format("2006-01-02")
dateCetakSurkonString := dateCetakSurkon.Format("2006-01-02 15:04:05")
if strings.HasPrefix(strings.ToUpper(req.NoSuratKontrol), "SI") {
req.TipeSurKon = "1"
}
uuid := uuid.New().String()
if req.TipeSurKon == "2" {
@@ -1502,7 +1640,7 @@ func UpdateSuratKontrolnew(c *gin.Context) {
IP: c.ClientIP(),
Parameter: "Surat Kontrol Internal",
Header: headerString,
Method: "POST",
Method: "PUT",
Url: url,
Request: reqJsoninternal,
Respon: reqJsoninternal,
@@ -1702,13 +1840,14 @@ func DeleteSuratKontrolNew(c *gin.Context) {
}
bpjs.HandleResponse(c, res)
} else {
uuid := uuid.New().String()
reqUpdate := &sk.DataSuratKontrol{
DateUpdated: timeNow,
ID: req.IDDataSurKon,
StatusSurKon: 0,
UserUpdatedSurKon: req.User,
}
logTimeStart := time.Now().Format("2006-01-02 15:04:05")
err = suratkontrol.UpdateDataSuratKontrol(reqUpdate)
if err != nil {
log.Println(err)
@@ -1718,6 +1857,43 @@ func DeleteSuratKontrolNew(c *gin.Context) {
})
return
}
reqJsoninternal, err := json.Marshal(reqUpdate)
if err != nil {
log.Println(err)
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
MetaData: sk.MetadataString{
Code: "203",
Message: err.Error(),
},
})
return
}
logTimeEnd := time.Now().Format("2006-01-02 15:04:05")
reqInsertLog := &logapi.DataLogAPI{
ID: uuid,
DateCreated: logTimeEnd,
UserAgent: req.User,
IP: c.ClientIP(),
Parameter: "Surat Kontrol Internal",
Header: headerString,
Method: "DELETE",
Url: url,
Request: reqJsoninternal,
Respon: reqJsoninternal,
ResponCode: "200",
ResponTimeStart: logTimeStart,
ResponTimeEnd: logTimeEnd,
Comment: "Berhasil Delete Surat Kontrol",
}
err = log_api.InsertLogAPI(reqInsertLog)
if err != nil {
c.JSON(http.StatusCreated, &sk.MetadataString{
Code: "201",
Message: err.Error(),
})
return
}
res := &sk.MetadataString{
Code: "200",
Message: "Berhasil Hapus Data",
+3 -2
View File
@@ -436,8 +436,9 @@ type ResponseDataSPRI struct {
}
type Created struct {
UserCreate string `json:"User_created_surat_kontrol"`
DataCreate string `json:"date_created"`
UserCreate string `gorm:"column:User_created_surat_kontrol" json:"User_created_surat_kontrol"`
DataCreate string `gorm:"column:date_created" json:"date_created"`
TanggalKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"`
}
type Parse struct {