Cpone-BUG-00024 - fix sinkronisasi status aktif & total peserta project #1

Merged
fajri merged 8 commits from cpone-bug-00024 into main 2026-08-28 16:22:00 +07:00
Showing only changes of commit a35df69be9 - Show all commits

View File

@@ -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),