Cpone-BUG-00024 - hitung Mcu_ProjectTotalParticipant dari mcu_preregister_patients
Sebelumnya ikut m.Mgm_McuTotalParticipant (field target manual di source yang bisa 0/belum diisi admin MGM), sekarang dihitung dari COUNT baris aktif di cpone.mcu_preregister_patients per project supaya selalu sesuai jumlah peserta yang benar-benar terdaftar. Sudah diverifikasi di devcpone: mcu_id 1589 sekarang menampilkan 5 (sebelumnya 0/17). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,9 @@
|
||||
-- 4. Kolom PK di INSERT INTO mcu_checkinout diperbaiki dari Mcu_CheckinoutCheckinoutID
|
||||
-- (tidak ada) menjadi Mcu_CheckinoutID, sesuai skema cpone_dashboard.mcu_checkinout
|
||||
-- yang sebenarnya.
|
||||
-- 5. Mcu_ProjectTotalParticipant tidak lagi ikut m.Mgm_McuTotalParticipant (field target
|
||||
-- manual di source yang bisa 0/belum diisi), melainkan dihitung langsung dari COUNT
|
||||
-- baris aktif di cpone.mcu_preregister_patients untuk project tsb.
|
||||
|
||||
DROP PROCEDURE IF EXISTS sp_generate_dashboard_data;
|
||||
|
||||
@@ -33,9 +36,16 @@ BEGIN
|
||||
m.Mgm_McuID, m.Mgm_McuCorporateID, c.CorporateName,
|
||||
m.Mgm_McuNumber, m.Mgm_McuLabel, m.Mgm_McuM_BranchID,
|
||||
m.Mgm_McuStartDate, m.Mgm_McuEndDate, m.Mgm_McuIsActive,
|
||||
m.Mgm_McuTotalParticipant, NOW()
|
||||
COALESCE(pp.total, 0), NOW()
|
||||
FROM cpone.mgm_mcu m
|
||||
LEFT JOIN cpone.corporate c ON c.CorporateID = m.Mgm_McuCorporateID
|
||||
LEFT JOIN (
|
||||
SELECT Mcu_PreregisterPatientsMgm_McuID AS mcu_id, COUNT(*) AS total
|
||||
FROM cpone.mcu_preregister_patients
|
||||
WHERE Mcu_PreregisterPatientsMgm_McuID = p_mcu_id
|
||||
AND Mcu_PreregisterPatientsIsActive = 'Y'
|
||||
GROUP BY Mcu_PreregisterPatientsMgm_McuID
|
||||
) pp ON pp.mcu_id = m.Mgm_McuID
|
||||
WHERE m.Mgm_McuID = p_mcu_id
|
||||
ON DUPLICATE KEY UPDATE
|
||||
Mcu_ProjectCorporateName = VALUES(Mcu_ProjectCorporateName),
|
||||
|
||||
Reference in New Issue
Block a user