2.0 KiB
2.0 KiB
Summarydashboard Generate -> cpone_dashboard
Tujuan
- Hasil generate dari controller
summarydashboard/Generatedataikut masuk kecpone_dashboard. - Re-generate per
Mgm_McuIDharus idempotent: data lama untukMgm_McuIDterkait dibersihkan lalu diisi ulang. - Simpan jejak generate ke tabel
mcu_generatesetiap kali proses sinkronisasi dijalankan.
Aturan Data
- Tidak ada truncate global pada tabel hasil dashboard.
- Scope selalu per
Mgm_McuID. - Untuk kasus koreksi hasil (kelainan awal ada lalu hilang), data dashboard harus ikut terkoreksi (tanpa residue lama).
Struktur Tabel di cpone_dashboard
mcu_generate- menyimpan riwayat generate:
Mgm_McuID,GenerateDate, metadata project.
- menyimpan riwayat generate:
kelainan_details- tabel baru (versi dashboard) sebagai snapshot detail kelainan.
kelainan_summary- tabel baru (versi dashboard) sebagai ringkasan kelainan.
mcu_result_all- tabel baru (versi dashboard) sebagai gabungan hasil pemeriksaan.
Semua tabel dashboard menyimpan:
Mgm_McuID(untuk scope regenerate)Mcu_GenerateID(relasi ke run generate)Mcu_ProjectID(opsional, diisi jika mapping darimcu_projectditemukan)
Flow Eksekusi Sinkronisasi
- Validasi
Mgm_McuIDdan setupmcu_numberaktif. - Resolve
Mcu_ProjectIDdari tabelmcu_project(dinamis berdasarkan kolom yang tersedia). - Insert row ke
mcu_generate-> dapatMcu_GenerateID. - Delete data lama pada 3 tabel dashboard untuk
Mgm_McuIDtersebut. - Insert ulang dari
cpone_corporate:kelainan_detailsberdasarkanNumberingaktif.kelainan_summaryberdasarkanMcu_KelainanMgm_McuID.mcu_result_allberdasarkanMcu_ResultAllMgm_McuID.
- Commit transaksi.
Catatan Implementasi
- Sinkronisasi dashboard dipanggil setelah generate utama selesai:
generate_kelainan_labgenerate_kelainan_nonlabgenerate_kelainan_fisikgenerate_all_resultssummary_kelainan_sepuluh
- Diproteksi dengan helper agar tidak duplikatif.