Add dashboard sync for generatedata
This commit is contained in:
@@ -163,6 +163,28 @@ $db['cpone_corporate'] = array(
|
||||
'save_queries' => TRUE
|
||||
);
|
||||
|
||||
$db['cpone_dashboard'] = array(
|
||||
'dsn' => '',
|
||||
'hostname' => 'localhost',
|
||||
'username' => 'admin',
|
||||
'password' => 'Sasone!102938',
|
||||
'database' => 'cpone_dashboard',
|
||||
'dbdriver' => 'mysqli',
|
||||
'dbprefix' => '',
|
||||
'pconnect' => FALSE,
|
||||
'db_debug' => FALSE,
|
||||
'cache_on' => FALSE,
|
||||
'cachedir' => '',
|
||||
'char_set' => 'utf8',
|
||||
'dbcollat' => 'utf8_general_ci',
|
||||
'swap_pre' => '',
|
||||
'encrypt' => FALSE,
|
||||
'compress' => FALSE,
|
||||
'stricton' => FALSE,
|
||||
'failover' => array(),
|
||||
'save_queries' => TRUE
|
||||
);
|
||||
|
||||
$db['cpone_log'] = array(
|
||||
'dsn' => '',
|
||||
'hostname' => 'localhost',
|
||||
|
||||
2456
application/controllers/summarydashboard/Generatedata.php
Normal file
2456
application/controllers/summarydashboard/Generatedata.php
Normal file
File diff suppressed because it is too large
Load Diff
46
docs_summarydashboard_generate_dashboard.md
Normal file
46
docs_summarydashboard_generate_dashboard.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Summarydashboard Generate -> cpone_dashboard
|
||||
|
||||
## Tujuan
|
||||
- Hasil generate dari controller `summarydashboard/Generatedata` ikut masuk ke `cpone_dashboard`.
|
||||
- Re-generate per `Mgm_McuID` harus idempotent: data lama untuk `Mgm_McuID` terkait dibersihkan lalu diisi ulang.
|
||||
- Simpan jejak generate ke tabel `mcu_generate` setiap kali proses sinkronisasi dijalankan.
|
||||
|
||||
## Aturan Data
|
||||
1. Tidak ada truncate global pada tabel hasil dashboard.
|
||||
2. Scope selalu per `Mgm_McuID`.
|
||||
3. 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.
|
||||
- `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 dari `mcu_project` ditemukan)
|
||||
|
||||
## Flow Eksekusi Sinkronisasi
|
||||
1. Validasi `Mgm_McuID` dan setup `mcu_number` aktif.
|
||||
2. Resolve `Mcu_ProjectID` dari tabel `mcu_project` (dinamis berdasarkan kolom yang tersedia).
|
||||
3. Insert row ke `mcu_generate` -> dapat `Mcu_GenerateID`.
|
||||
4. Delete data lama pada 3 tabel dashboard untuk `Mgm_McuID` tersebut.
|
||||
5. Insert ulang dari `cpone_corporate`:
|
||||
- `kelainan_details` berdasarkan `Numbering` aktif.
|
||||
- `kelainan_summary` berdasarkan `Mcu_KelainanMgm_McuID`.
|
||||
- `mcu_result_all` berdasarkan `Mcu_ResultAllMgm_McuID`.
|
||||
6. Commit transaksi.
|
||||
|
||||
## Catatan Implementasi
|
||||
- Sinkronisasi dashboard dipanggil setelah generate utama selesai:
|
||||
- `generate_kelainan_lab`
|
||||
- `generate_kelainan_nonlab`
|
||||
- `generate_kelainan_fisik`
|
||||
- `generate_all_results`
|
||||
- `summary_kelainan_sepuluh`
|
||||
- Diproteksi dengan helper agar tidak duplikatif.
|
||||
Reference in New Issue
Block a user