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
|
-- 4. Kolom PK di INSERT INTO mcu_checkinout diperbaiki dari Mcu_CheckinoutCheckinoutID
|
||||||
-- (tidak ada) menjadi Mcu_CheckinoutID, sesuai skema cpone_dashboard.mcu_checkinout
|
-- (tidak ada) menjadi Mcu_CheckinoutID, sesuai skema cpone_dashboard.mcu_checkinout
|
||||||
-- yang sebenarnya.
|
-- 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;
|
DROP PROCEDURE IF EXISTS sp_generate_dashboard_data;
|
||||||
|
|
||||||
@@ -33,9 +36,16 @@ BEGIN
|
|||||||
m.Mgm_McuID, m.Mgm_McuCorporateID, c.CorporateName,
|
m.Mgm_McuID, m.Mgm_McuCorporateID, c.CorporateName,
|
||||||
m.Mgm_McuNumber, m.Mgm_McuLabel, m.Mgm_McuM_BranchID,
|
m.Mgm_McuNumber, m.Mgm_McuLabel, m.Mgm_McuM_BranchID,
|
||||||
m.Mgm_McuStartDate, m.Mgm_McuEndDate, m.Mgm_McuIsActive,
|
m.Mgm_McuStartDate, m.Mgm_McuEndDate, m.Mgm_McuIsActive,
|
||||||
m.Mgm_McuTotalParticipant, NOW()
|
COALESCE(pp.total, 0), NOW()
|
||||||
FROM cpone.mgm_mcu m
|
FROM cpone.mgm_mcu m
|
||||||
LEFT JOIN cpone.corporate c ON c.CorporateID = m.Mgm_McuCorporateID
|
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
|
WHERE m.Mgm_McuID = p_mcu_id
|
||||||
ON DUPLICATE KEY UPDATE
|
ON DUPLICATE KEY UPDATE
|
||||||
Mcu_ProjectCorporateName = VALUES(Mcu_ProjectCorporateName),
|
Mcu_ProjectCorporateName = VALUES(Mcu_ProjectCorporateName),
|
||||||
|
|||||||
Reference in New Issue
Block a user