penambahan field beds
This commit is contained in:
No files matched your search
+227
-227
File diff suppressed because it is too large
Load diff
@@ -9,7 +9,6 @@ import (
|
|||||||
|
|
||||||
type Ruangan struct {
|
type Ruangan struct {
|
||||||
No int `db:"no"`
|
No int `db:"no"`
|
||||||
Nama string `db:"nama"`
|
|
||||||
JumlahTT int `db:"jumlah_tt"`
|
JumlahTT int `db:"jumlah_tt"`
|
||||||
KodeRuang sql.NullString `db:"kode_aplicare"` // diisi manual, dikirim ke BPJS
|
KodeRuang sql.NullString `db:"kode_aplicare"` // diisi manual, dikirim ke BPJS
|
||||||
NamaRuang sql.NullString `db:"nama_ruang"` // diisi manual, dikirim ke BPJS
|
NamaRuang sql.NullString `db:"nama_ruang"` // diisi manual, dikirim ke BPJS
|
||||||
@@ -44,7 +43,7 @@ func (s *SimrsDB) GetRuangan(ctx context.Context) ([]Ruangan, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
query := `
|
query := `
|
||||||
SELECT no, nama, jumlah_tt,kode_aplicare, nama_ruang, kode_kelas
|
SELECT no, jumlah_tt,kode_aplicare, nama_ruang, kode_kelas
|
||||||
FROM m_ruang
|
FROM m_ruang
|
||||||
where st_aktif = 1 AND kode_aplicare IS NOT NULL
|
where st_aktif = 1 AND kode_aplicare IS NOT NULL
|
||||||
ORDER BY no
|
ORDER BY no
|
||||||
@@ -60,7 +59,7 @@ func (s *SimrsDB) GetRuangan(ctx context.Context) ([]Ruangan, error) {
|
|||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var r Ruangan
|
var r Ruangan
|
||||||
if err := rows.Scan(
|
if err := rows.Scan(
|
||||||
&r.No, &r.Nama, &r.JumlahTT,
|
&r.No, &r.JumlahTT,
|
||||||
&r.KodeRuang, &r.NamaRuang, &r.KelasRuang,
|
&r.KodeRuang, &r.NamaRuang, &r.KelasRuang,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, fmt.Errorf("scan m_ruang gagal: %w", err)
|
return nil, fmt.Errorf("scan m_ruang gagal: %w", err)
|
||||||
@@ -103,6 +102,25 @@ func (s *SimrsDB) GetBedDetails(ctx context.Context) (map[string][]BedDetail, er
|
|||||||
return result, rows.Err()
|
return result, rows.Err()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var NamaKelasMap = map[string]string{
|
||||||
|
"NON": "-",
|
||||||
|
"VVP": "VVIP",
|
||||||
|
"VIP": "VIP",
|
||||||
|
"UTM": "UTAMA",
|
||||||
|
"KL1": "KELAS I",
|
||||||
|
"KL2": "KELAS II",
|
||||||
|
"KL3": "KELAS III",
|
||||||
|
"ICU": "ICU",
|
||||||
|
"ICC": "ICCU",
|
||||||
|
"NIC": "NICU",
|
||||||
|
"PIC": "PICU",
|
||||||
|
"IGD": "IGD",
|
||||||
|
"UGD": "UGD",
|
||||||
|
"SAL": "RUANG BERSALIN",
|
||||||
|
"HCU": "HCU",
|
||||||
|
"ISO": "RUANG ISOLASI",
|
||||||
|
}
|
||||||
|
|
||||||
// =============================================
|
// =============================================
|
||||||
// TRANSFORM
|
// TRANSFORM
|
||||||
// =============================================
|
// =============================================
|
||||||
@@ -111,6 +129,7 @@ func (s *SimrsDB) GetBedDetails(ctx context.Context) (map[string][]BedDetail, er
|
|||||||
type BedData struct {
|
type BedData struct {
|
||||||
No int `json:"no"`
|
No int `json:"no"`
|
||||||
KodeKelas string `json:"kodekelas"`
|
KodeKelas string `json:"kodekelas"`
|
||||||
|
NamaKelas string `json:"namakelas"`
|
||||||
KodeRuang string `json:"koderuang"`
|
KodeRuang string `json:"koderuang"`
|
||||||
NamaRuang string `json:"namaruang"`
|
NamaRuang string `json:"namaruang"`
|
||||||
Kapasitas int `json:"kapasitas"`
|
Kapasitas int `json:"kapasitas"`
|
||||||
@@ -138,10 +157,14 @@ func buildBedData(ruangans []Ruangan, detailMap map[string][]BedDetail) []BedDat
|
|||||||
if r.JumlahTT == 0 {
|
if r.JumlahTT == 0 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
namaKelas := NamaKelasMap[r.KelasRuang.String]
|
||||||
|
if namaKelas == "" {
|
||||||
|
namaKelas = r.KelasRuang.String
|
||||||
|
}
|
||||||
result = append(result, BedData{
|
result = append(result, BedData{
|
||||||
No: r.No,
|
No: r.No,
|
||||||
KodeKelas: r.KelasRuang.String,
|
KodeKelas: r.KelasRuang.String,
|
||||||
|
NamaKelas: namaKelas,
|
||||||
KodeRuang: r.KodeRuang.String,
|
KodeRuang: r.KodeRuang.String,
|
||||||
NamaRuang: r.NamaRuang.String,
|
NamaRuang: r.NamaRuang.String,
|
||||||
Kapasitas: r.JumlahTT,
|
Kapasitas: r.JumlahTT,
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{"action":"batch_sync","changed":49,"dry_run":true,"errors":null,"posted":49,"status":"sukses","timestamp":"2026-06-17T04:06:51Z","total_rooms":57}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{"action":"batch_sync","changed":46,"dry_run":true,"errors":null,"posted":46,"status":"sukses","timestamp":"2026-06-26T04:11:09Z","total_rooms":57}
|
||||||
|
{"action":"batch_sync","changed":2,"dry_run":true,"errors":null,"posted":2,"status":"sukses","timestamp":"2026-06-26T04:16:09Z","total_rooms":57}
|
||||||
|
{"action":"batch_sync","changed":5,"dry_run":true,"errors":null,"posted":5,"status":"sukses","timestamp":"2026-06-26T11:21:13+07:00","total_rooms":57}
|
||||||
|
{"action":"batch_sync","changed":0,"dry_run":true,"errors":null,"posted":0,"status":"sukses","timestamp":"2026-06-26T11:23:51+07:00","total_rooms":57}
|
||||||
Reference in New Issue
Block a user