update get jadwal dokter
This commit is contained in:
No files matched your search
@@ -58,6 +58,16 @@ func GetJadwalDokterByDate(hari string) ([]string, error) {
|
||||
return spesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalSubspesialisByDate(hari string) ([]int, error) {
|
||||
var subspesialis []int
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Sub_spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Sub_spesialis"`, hari).Scan(&subspesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return subspesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySpesialis(hari string, spesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Spesialis" = ? order by "Spesialis"`, hari, spesialis).Scan(&listDokter).Error
|
||||
@@ -68,6 +78,16 @@ func GetJadwalDokterBySpesialis(hari string, spesialis string) ([]string, error)
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySubpesialis(hari string, subspesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Sub_spesialis" = ? order by "Sub_spesialis"`, hari, subspesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokter() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter"`).Error
|
||||
if err != nil {
|
||||
|
||||
@@ -26,13 +26,33 @@ func GetSubspesialis() ([]dokter.DaftarSubspesialis, error) {
|
||||
return daftarSubspesialis, nil
|
||||
}
|
||||
|
||||
func GetSubspesialisByID(idSubspesialis int) ([]dokter.DaftarSubspesialis, error) {
|
||||
var daftarSubspesialis []dokter.DaftarSubspesialis
|
||||
func GetSubspesialisByID(idSubspesialis int) (*dokter.DaftarSubspesialis, error) {
|
||||
var daftarSubspesialis *dokter.DaftarSubspesialis
|
||||
|
||||
result := config.SatuDataDB.Debug().Raw(`select dss.*, ds."Spesialis"
|
||||
from "daftar_subspesialis" dss
|
||||
left join "daftar_spesialis" ds on ds."id" = dss."FK_daftar_spesialis_ID"
|
||||
where dss.id = ?`, idSubspesialis).Find(&daftarSubspesialis)
|
||||
where dss.id = ?`, idSubspesialis).First(&daftarSubspesialis)
|
||||
if result.Error != nil {
|
||||
if !errors.Is(result.Error, gorm.ErrRecordNotFound) {
|
||||
log.Printf("Error get data : %v", result.Error)
|
||||
return nil, result.Error
|
||||
}
|
||||
log.Printf("Data kosong: %v", result.Error)
|
||||
return daftarSubspesialis, nil
|
||||
}
|
||||
|
||||
log.Println(daftarSubspesialis)
|
||||
return daftarSubspesialis, nil
|
||||
}
|
||||
|
||||
func GetSubspesialisByIDBatch(idSubspesialis []int) ([]dokter.DaftarSubspesialis, error) {
|
||||
var daftarSubspesialis []dokter.DaftarSubspesialis
|
||||
result := config.SatuDataDB.Debug().Raw(`select dss.*, ds."Spesialis"
|
||||
from "daftar_subspesialis" dss
|
||||
left join "daftar_spesialis" ds on ds."id" = dss."FK_daftar_spesialis_ID"
|
||||
where dss.id in ?
|
||||
order by dss."id"`, idSubspesialis).Find(&daftarSubspesialis)
|
||||
if result.Error != nil {
|
||||
if !errors.Is(result.Error, gorm.ErrRecordNotFound) {
|
||||
log.Printf("Error get data : %v", result.Error)
|
||||
|
||||
@@ -155,7 +155,8 @@ func GetIDXDaftarBySurKon(idSurKon string) (string, error) {
|
||||
var idxDaftar string
|
||||
err := config.SatuDataDB.Debug().Raw(`select dkp."IDXDAFTAR"
|
||||
from "data_surat_kontrol" dsk
|
||||
left join "data_kunjungan_pasien" dkp on dkp."id" = dsk."Kunjungan_pasien"`).First(&idxDaftar).Error
|
||||
left join "data_kunjungan_pasien" dkp on dkp."id" = dsk."Kunjungan_pasien"
|
||||
where dsk."id" = ?`, idSurKon).First(&idxDaftar).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return "", err
|
||||
|
||||
@@ -175,36 +175,33 @@ func GetDokterByDPJP(c *gin.Context) {
|
||||
|
||||
var res *jadwal_dokter.ResponseListHari
|
||||
|
||||
for _, v := range listSubspesialis {
|
||||
for _, k := range namaDokter {
|
||||
var jadwalDokter []jadwal_dokter.ListJadwalDokter
|
||||
for _, key := range listHari {
|
||||
jadwalDokter = append(jadwalDokter, jadwal_dokter.ListJadwalDokter{
|
||||
NamaHari: key.NamaHari,
|
||||
KodeHari: key.Hari,
|
||||
Waktu: key.Waktu,
|
||||
})
|
||||
}
|
||||
gelarDepan := utils.ReplaceGelar(k.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(k.GelarBelakang)
|
||||
namaLengkap := gelarDepan + " " + k.NamaLengkap + " " + gelarBelakang
|
||||
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
|
||||
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
|
||||
hfisCode := strings.TrimSpace(k.HFISCode)
|
||||
res = &jadwal_dokter.ResponseListHari{
|
||||
IDSpesialis: v.IDSpesialis,
|
||||
Kode: v.Kode,
|
||||
Spesialis: v.Spesialis,
|
||||
Subspesialis: v.Subspesialis,
|
||||
IDSubspesialis: v.Kode,
|
||||
NamaLengkap: namaLengkap,
|
||||
HFISCode: hfisCode,
|
||||
KodeDPJP: dpjp,
|
||||
JadwalDokter: jadwalDokter,
|
||||
}
|
||||
for _, k := range namaDokter {
|
||||
var jadwalDokter []jadwal_dokter.ListJadwalDokter
|
||||
for _, key := range listHari {
|
||||
jadwalDokter = append(jadwalDokter, jadwal_dokter.ListJadwalDokter{
|
||||
NamaHari: key.NamaHari,
|
||||
KodeHari: key.Hari,
|
||||
Waktu: key.Waktu,
|
||||
})
|
||||
}
|
||||
gelarDepan := utils.ReplaceGelar(k.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(k.GelarBelakang)
|
||||
namaLengkap := gelarDepan + " " + k.NamaLengkap + " " + gelarBelakang
|
||||
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
|
||||
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
|
||||
hfisCode := strings.TrimSpace(k.HFISCode)
|
||||
res = &jadwal_dokter.ResponseListHari{
|
||||
IDSpesialis: listSubspesialis.IDSpesialis,
|
||||
Kode: listSubspesialis.Kode,
|
||||
Spesialis: listSubspesialis.Spesialis,
|
||||
Subspesialis: listSubspesialis.Subspesialis,
|
||||
IDSubspesialis: listSubspesialis.Kode,
|
||||
NamaLengkap: namaLengkap,
|
||||
HFISCode: hfisCode,
|
||||
KodeDPJP: dpjp,
|
||||
JadwalDokter: jadwalDokter,
|
||||
}
|
||||
}
|
||||
|
||||
log.Println("Response :", res)
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
@@ -228,6 +225,25 @@ func GetSpesialisByDate(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, listSpesialis)
|
||||
}
|
||||
|
||||
func GetJadwalSubspesialisByDate(c *gin.Context) {
|
||||
tanggal := c.Param("tanggal")
|
||||
date, err := time.Parse("2006-01-02", tanggal)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
hari := date.Local().Weekday().String()
|
||||
hari = utils.ConvertDay(hari)
|
||||
idsubspesialis, err := dokter.GetJadwalSubspesialisByDate(hari)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
listSpesialis, err := dokter.GetSubspesialisByIDBatch(idsubspesialis)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
c.JSON(http.StatusOK, listSpesialis)
|
||||
}
|
||||
|
||||
func GetDokterBySpesialis(c *gin.Context) {
|
||||
spesialis := c.Param("spesialis")
|
||||
tanggal := c.Param("tanggal")
|
||||
@@ -266,3 +282,49 @@ func GetDokterBySpesialis(c *gin.Context) {
|
||||
log.Println("Response :", resDokter)
|
||||
c.JSON(http.StatusOK, resDokter)
|
||||
}
|
||||
|
||||
func GetDokterBySubspesialis(c *gin.Context) {
|
||||
subspesialis := c.Param("subspesialis")
|
||||
tanggal := c.Param("tanggal")
|
||||
date, err := time.Parse("2006-01-02", tanggal)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
hari := date.Local().Weekday().String()
|
||||
hari = utils.ConvertDay(hari)
|
||||
idDokter, err := dokter.GetJadwalDokterBySubpesialis(hari, subspesialis)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
namaDokter, err := dokter.GetNamaLengkapDokter(idDokter)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
var resDokter []dktr.ResponseDokterNew
|
||||
idSubspesialis, err := strconv.Atoi(subspesialis)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
listSubspesialis, err := dokter.GetSubspesialisByID(idSubspesialis)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
for _, v := range namaDokter {
|
||||
gelarDepan := utils.ReplaceGelar(v.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(v.GelarBelakang)
|
||||
namaLengkap := gelarDepan + " " + v.NamaLengkap + " " + gelarBelakang
|
||||
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
|
||||
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
|
||||
resDokter = append(resDokter, dktr.ResponseDokterNew{
|
||||
ID: v.ID,
|
||||
NamaLengkap: namaLengkap,
|
||||
Subspesialis: idSubspesialis,
|
||||
HFISCode: v.HFISCode,
|
||||
KodePoli: listSubspesialis.Kode,
|
||||
})
|
||||
}
|
||||
log.Println("Response :", resDokter)
|
||||
c.JSON(http.StatusOK, resDokter)
|
||||
}
|
||||
@@ -160,6 +160,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("Request: ", req)
|
||||
|
||||
timeNow := time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
@@ -184,6 +186,18 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
UserCreatedSurKon: req.User,
|
||||
TipeSurKon: tipeSurKon,
|
||||
}
|
||||
reqUpdate := &sk.DataSuratKontrol{
|
||||
DateUpdated: timeNow,
|
||||
ID: req.IDSurKon,
|
||||
StatusSurKon: 2,
|
||||
}
|
||||
|
||||
err = suratkontrol.UpdateDataSuratKontrol(reqUpdate)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
|
||||
@@ -43,8 +43,10 @@ func main() {
|
||||
{
|
||||
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.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")
|
||||
@@ -70,8 +72,8 @@ func main() {
|
||||
AllowCredentials: true,
|
||||
}))
|
||||
|
||||
log.Println("JALAN DI PORT : 8080")
|
||||
err = r.Run(":8080")
|
||||
log.Println("JALAN DI PORT : 8082")
|
||||
err = r.Run(":8082")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -24,3 +24,11 @@ type ResponseDokter struct {
|
||||
Spesialis int `json:"spesialis"`
|
||||
HFISCode string `json:"HFIS_code"`
|
||||
}
|
||||
|
||||
type ResponseDokterNew struct {
|
||||
ID string `json:"id"`
|
||||
NamaLengkap string `json:"nama_lengkap"`
|
||||
Subspesialis int `json:"subspesialis"`
|
||||
HFISCode string `json:"HFIS_code"`
|
||||
KodePoli string `json:"kode_poli"`
|
||||
}
|
||||
Reference in New Issue
Block a user