update insert and get surat kontrol
This commit is contained in:
No files matched your search
Generated
+8
@@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
Generated
+13
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="Go" enabled="true">
|
||||
<buildTags>
|
||||
<option name="os" value="linux" />
|
||||
</buildTags>
|
||||
</component>
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/api-bpjs-surkon.iml" filepath="$PROJECT_DIR$/.idea/api-bpjs-surkon.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
+3
-27
@@ -1,46 +1,22 @@
|
||||
FROM golang:1.23-alpine AS builder
|
||||
|
||||
# Install tzdata dan dependencies build
|
||||
#RUN apk add --no-cache tzdata build-base
|
||||
|
||||
# Set timezone ke Asia/Jakarta
|
||||
#ENV TZ=Asia/Jakarta
|
||||
|
||||
# Install tzdata package for timezone data
|
||||
RUN apk add --no-cache tzdata
|
||||
|
||||
# Set the timezone to Asia/Jakarta
|
||||
RUN cp /usr/share/zoneinfo/Asia/Jakarta /etc/localtime && echo "Asia/Jakarta" > /etc/timezone
|
||||
|
||||
# Verify the timezone is set
|
||||
RUN date
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
RUN go mod tidy
|
||||
|
||||
# Set timezone ke Asia/Jakarta
|
||||
#ENV TZ="Asia/Jakarta"
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
|
||||
# RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .
|
||||
|
||||
FROM alpine:latest
|
||||
RUN apk --no-cache add ca-certificates
|
||||
|
||||
# Install tzdata package for timezone data
|
||||
RUN apk add --no-cache tzdata
|
||||
|
||||
# Set the timezone to Asia/Jakarta
|
||||
RUN cp /usr/share/zoneinfo/Asia/Jakarta /etc/localtime && echo "Asia/Jakarta" > /etc/timezone
|
||||
|
||||
# Verify the timezone is set
|
||||
RUN date
|
||||
# Set timezone ke Asia/Jakarta
|
||||
ENV TZ=Asia/Jakarta
|
||||
|
||||
RUN apk --no-cache add ca-certificates tzdata
|
||||
|
||||
WORKDIR /root/
|
||||
|
||||
|
||||
@@ -56,8 +56,8 @@ 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",
|
||||
"User_created_surat_kontrol", "Tipe_surat_kontrol", "User_updated_surat_kontrol")
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
"User_created_surat_kontrol", "Tipe_surat_kontrol", "User_updated_surat_kontrol", "Tipe_rawat")
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
err := config.SatuDataDB.Exec(insertQuery,
|
||||
reqInsert.ID,
|
||||
reqInsert.DateCreated,
|
||||
@@ -71,6 +71,7 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.DataSuratKontrol) error {
|
||||
reqInsert.UserCreatedSurKon,
|
||||
reqInsert.TipeSurKon,
|
||||
reqInsert.UserUpdatedSurKon,
|
||||
reqInsert.TipeRawat,
|
||||
).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -126,7 +127,7 @@ func GetDataSuratKontrol(offset, limit string) ([]*suratkontrol.GetDataSuratKont
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontrol, error) {
|
||||
func GetDataSuratKontrolByID(idxdaftar string, tipe string) (*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon *suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
@@ -163,7 +164,7 @@ func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontro
|
||||
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 dkp2."IDXDAFTAR" = ?`, idxdaftar).First(&dataSurKon).Error
|
||||
where dsk."Status_surat_kontrol" = '1' and dkp2."IDXDAFTAR" = ? and dsk."Tipe_rawat" = ?`, idxdaftar, tipe).First(&dataSurKon).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("DPJP anda belum ada subspesialis")
|
||||
|
||||
@@ -169,6 +169,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
TipeSurKon: req.TipeSurKon,
|
||||
TipeRawat: req.TipeRawat,
|
||||
}
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
if err != nil {
|
||||
@@ -285,6 +286,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
TipeSurKon: "1",
|
||||
TipeRawat: req.TipeRawat,
|
||||
}
|
||||
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
@@ -946,7 +948,8 @@ func GetDataSurKon(c *gin.Context) {
|
||||
|
||||
func GetDataSurKonByID(c *gin.Context) {
|
||||
id := c.Param("idxdaftar")
|
||||
data, err := suratkontrol.GetDataSuratKontrolByID(id)
|
||||
tipe := c.Param("tiperawat")
|
||||
data, err := suratkontrol.GetDataSuratKontrolByID(id, tipe)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
@@ -994,7 +997,8 @@ func GetDataSurKonByID(c *gin.Context) {
|
||||
|
||||
func PrintSurKon(c *gin.Context) {
|
||||
id := c.Param("idxdaftar")
|
||||
data, err := suratkontrol.GetDataSuratKontrolByID(id)
|
||||
tipe := c.Param("tiperawat")
|
||||
data, err := suratkontrol.GetDataSuratKontrolByID(id, tipe)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
|
||||
@@ -1,105 +1,105 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/handlers/bpjs"
|
||||
icare "bridging-rssa/handlers/bpjs/i_care"
|
||||
"bridging-rssa/handlers/bpjs/jadwal_dokter"
|
||||
suratkontrol "bridging-rssa/handlers/bpjs/surat_kontrol"
|
||||
"log"
|
||||
|
||||
_ "bridging-rssa/docs"
|
||||
|
||||
"github.com/gin-contrib/cors"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/joho/godotenv"
|
||||
cron "github.com/robfig/cron/v3"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
)
|
||||
|
||||
// @title Crud User
|
||||
// @version 1
|
||||
// @Description Rest API CRUD User
|
||||
|
||||
// @host localhost:8080
|
||||
|
||||
func main() {
|
||||
err := godotenv.Load()
|
||||
if err != nil {
|
||||
log.Fatal("Error loading .env file")
|
||||
}
|
||||
|
||||
config.ConnectDB()
|
||||
|
||||
r := gin.Default()
|
||||
|
||||
scheduler := cron.New()
|
||||
|
||||
defer scheduler.Stop()
|
||||
|
||||
scheduler.AddFunc("0 2 * * *", func() {
|
||||
log.Println("=== RUNNING SCHEDULE GET JADWAL DOKTER ===")
|
||||
for {
|
||||
success := jadwal_dokter.GetJadwalDokter()
|
||||
if success {
|
||||
log.Println("=== SCHEDULE GET JADWAL DOKTER DONE ===")
|
||||
break
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
go scheduler.Start()
|
||||
|
||||
v1 := r.Group("/api")
|
||||
|
||||
subspesialis := v1.Group("/subspesialis")
|
||||
{
|
||||
subspesialis.GET("/", bpjs.GetAllSubspesialis)
|
||||
}
|
||||
|
||||
jadwalDokter := v1.Group("/jadwaldokter")
|
||||
{
|
||||
// jadwalDokter.GET("/", jadwal_dokter.GetJadwalDokter)
|
||||
jadwalDokter.GET("/dpjp/:dpjp", jadwal_dokter.GetDokterByDPJP)
|
||||
// jadwalDokter.GET("/tanggal/:tanggal", jadwal_dokter.GetSpesialisByDate)
|
||||
jadwalDokter.GET("/tanggal/:tanggal", jadwal_dokter.GetJadwalSubspesialisByDate)
|
||||
jadwalDokter.GET("/tanggal/:tanggal/spesialis/:spesialis", jadwal_dokter.GetDokterBySpesialis)
|
||||
jadwalDokter.GET("/tanggal/:tanggal/subspesialis/:subspesialis", jadwal_dokter.GetDokterBySubspesialis)
|
||||
}
|
||||
|
||||
suratKontrol := v1.Group("/suratkontrol")
|
||||
{
|
||||
suratKontrol.GET("/offset/:offset/limit/:limit", suratkontrol.GetDataSurKon)
|
||||
suratKontrol.GET("/idxdaftar/:idxdaftar", suratkontrol.GetDataSurKonByID)
|
||||
suratKontrol.GET("/noSuratKontrol/:noSuratKontrol", suratkontrol.GetNomorSuratKontrol)
|
||||
suratKontrol.GET("/noSEP/:noSEP", suratkontrol.GetSuratKontrolBySEP)
|
||||
suratKontrol.GET("/printSurKon/:idxdaftar", suratkontrol.PrintSurKon)
|
||||
suratKontrol.POST("/cari", suratkontrol.CariPasienTPP)
|
||||
suratKontrol.POST("/insert", suratkontrol.InsertSuratKontrol)
|
||||
suratKontrol.PUT("/update", suratkontrol.UpdateSuratKontrol)
|
||||
suratKontrol.POST("/delete", suratkontrol.DeleteSuratKontrol)
|
||||
}
|
||||
|
||||
iCare := v1.Group("/icare")
|
||||
{
|
||||
iCare.POST("/rs/validate", icare.GetFKRTL)
|
||||
iCare.POST("/pcare/validate", icare.GetFKTP)
|
||||
}
|
||||
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.POST("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.PUT("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.DELETE("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.Use(cors.New(cors.Config{
|
||||
AllowOrigins: []string{"*"}, // or specific domains like "http://example.com"
|
||||
AllowMethods: []string{"GET", "POST", "PUT", "DELETE"},
|
||||
AllowHeaders: []string{"Origin", "Content-Type"},
|
||||
AllowCredentials: true,
|
||||
}))
|
||||
|
||||
log.Println("JALAN DI PORT : 8080")
|
||||
err = r.Run(":8080")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
package main
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/handlers/bpjs"
|
||||
icare "bridging-rssa/handlers/bpjs/i_care"
|
||||
"bridging-rssa/handlers/bpjs/jadwal_dokter"
|
||||
suratkontrol "bridging-rssa/handlers/bpjs/surat_kontrol"
|
||||
"log"
|
||||
|
||||
_ "bridging-rssa/docs"
|
||||
|
||||
"github.com/gin-contrib/cors"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/joho/godotenv"
|
||||
cron "github.com/robfig/cron/v3"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
)
|
||||
|
||||
// @title Crud User
|
||||
// @version 1
|
||||
// @Description Rest API CRUD User
|
||||
|
||||
// @host localhost:8080
|
||||
|
||||
func main() {
|
||||
err := godotenv.Load()
|
||||
if err != nil {
|
||||
log.Fatal("Error loading .env file")
|
||||
}
|
||||
|
||||
config.ConnectDB()
|
||||
|
||||
r := gin.Default()
|
||||
|
||||
scheduler := cron.New()
|
||||
|
||||
defer scheduler.Stop()
|
||||
|
||||
//scheduler.AddFunc("0 2 * * *", func() {
|
||||
// log.Println("=== RUNNING SCHEDULE GET JADWAL DOKTER ===")
|
||||
// for {
|
||||
// success := jadwal_dokter.GetJadwalDokter()
|
||||
// if success {
|
||||
// log.Println("=== SCHEDULE GET JADWAL DOKTER DONE ===")
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
//})
|
||||
|
||||
go scheduler.Start()
|
||||
|
||||
v1 := r.Group("/api")
|
||||
|
||||
subspesialis := v1.Group("/subspesialis")
|
||||
{
|
||||
subspesialis.GET("/", bpjs.GetAllSubspesialis)
|
||||
}
|
||||
|
||||
jadwalDokter := v1.Group("/jadwaldokter")
|
||||
{
|
||||
// jadwalDokter.GET("/", jadwal_dokter.GetJadwalDokter)
|
||||
jadwalDokter.GET("/dpjp/:dpjp", jadwal_dokter.GetDokterByDPJP)
|
||||
// jadwalDokter.GET("/tanggal/:tanggal", jadwal_dokter.GetSpesialisByDate)
|
||||
jadwalDokter.GET("/tanggal/:tanggal", jadwal_dokter.GetJadwalSubspesialisByDate)
|
||||
jadwalDokter.GET("/tanggal/:tanggal/spesialis/:spesialis", jadwal_dokter.GetDokterBySpesialis)
|
||||
jadwalDokter.GET("/tanggal/:tanggal/subspesialis/:subspesialis", jadwal_dokter.GetDokterBySubspesialis)
|
||||
}
|
||||
|
||||
suratKontrol := v1.Group("/suratkontrol")
|
||||
{
|
||||
suratKontrol.GET("/offset/:offset/limit/:limit", suratkontrol.GetDataSurKon)
|
||||
suratKontrol.GET("/idxdaftar/:idxdaftar/tiperawat/:tiperawat", suratkontrol.GetDataSurKonByID)
|
||||
suratKontrol.GET("/noSuratKontrol/:noSuratKontrol", suratkontrol.GetNomorSuratKontrol)
|
||||
suratKontrol.GET("/noSEP/:noSEP", suratkontrol.GetSuratKontrolBySEP)
|
||||
suratKontrol.GET("/printSurKon/:idxdaftar/tiperawat/:tiperawat", suratkontrol.PrintSurKon)
|
||||
suratKontrol.POST("/cari", suratkontrol.CariPasienTPP)
|
||||
suratKontrol.POST("/insert", suratkontrol.InsertSuratKontrol)
|
||||
suratKontrol.PUT("/update", suratkontrol.UpdateSuratKontrol)
|
||||
suratKontrol.POST("/delete", suratkontrol.DeleteSuratKontrol)
|
||||
}
|
||||
|
||||
iCare := v1.Group("/icare")
|
||||
{
|
||||
iCare.POST("/rs/validate", icare.GetFKRTL)
|
||||
iCare.POST("/pcare/validate", icare.GetFKTP)
|
||||
}
|
||||
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.POST("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.PUT("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.DELETE("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.Use(cors.New(cors.Config{
|
||||
AllowOrigins: []string{"*"}, // or specific domains like "http://example.com"
|
||||
AllowMethods: []string{"GET", "POST", "PUT", "DELETE"},
|
||||
AllowHeaders: []string{"Origin", "Content-Type"},
|
||||
AllowCredentials: true,
|
||||
}))
|
||||
|
||||
log.Println("JALAN DI PORT : 8081")
|
||||
err = r.Run(":8081")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
@@ -217,6 +217,7 @@ type DataSuratKontrol struct {
|
||||
UserCreatedSurKon string `gorm:"column:User_created_surat_kontrol" json:"User_created_surat_kontrol"`
|
||||
TipeSurKon string `gorm:"column:Tipe_surat_kontrol" json:"Tipe_surat_kontrol"`
|
||||
UserUpdatedSurKon string `gorm:"column:User_updated_surat_kontrol" json:"User_updated_surat_kontrol"`
|
||||
TipeRawat string `gorm:"column:Tipe_rawat" json:"Tipe_rawat"`
|
||||
}
|
||||
|
||||
type ResponseSuratKontrolBySEP struct {
|
||||
|
||||
Reference in New Issue
Block a user