IUNHI0 - fix duplicate listing preregister dengan subquery MAX FormRiwayatPasienID di v5 dan v8

This commit is contained in:
sas.fajri
2026-06-30 14:17:23 +07:00
parent f1fdd09517
commit d544736fda
2 changed files with 24 additions and 2 deletions

View File

@@ -240,7 +240,18 @@ class Preregisterappcponev5 extends MY_Controller
LEFT join terminology on attribute_path = 'Address.country' AND code = M_PatientAddressCountry
LEFT JOIN m_title ON Mcu_PreregisterPatientsM_TitleID = M_TitleID
LEFT JOIN t_orderheader ON Mcu_PreregisterPatientsT_OrderHeaderID = T_OrderHeaderID
LEFT JOIN form_riwayat_pasien ON Mcu_PreregisterPatientsID = FormRiwayatPasienPreregisterID AND FormRiwayatPasienIsActive = 'Y'
LEFT JOIN (
SELECT frp.*
FROM form_riwayat_pasien frp
JOIN (
SELECT FormRiwayatPasienPreregisterID, MAX(FormRiwayatPasienID) AS max_id
FROM form_riwayat_pasien
WHERE FormRiwayatPasienIsActive = 'Y'
GROUP BY FormRiwayatPasienPreregisterID
) latest_frp
ON latest_frp.FormRiwayatPasienPreregisterID = frp.FormRiwayatPasienPreregisterID
AND latest_frp.max_id = frp.FormRiwayatPasienID
) form_riwayat_pasien ON Mcu_PreregisterPatientsID = form_riwayat_pasien.FormRiwayatPasienPreregisterID
LEFT JOIN mcu_preregister_date ON Mcu_PreregisterDateMcu_PreregisterPatientsID = Mcu_PreregisterPatientsID
WHERE
Mcu_PreregisterPatientsIsActive = 'Y' AND Mcu_PreregisterPatientsMgm_McuID = {$setup['Mgm_McuID']}

View File

@@ -257,7 +257,18 @@ class Preregisterappcponev8 extends MY_Controller
LEFT join terminology on attribute_path = 'Address.country' AND code = M_PatientAddressCountry
LEFT JOIN m_title ON Mcu_PreregisterPatientsM_TitleID = M_TitleID
LEFT JOIN t_orderheader ON Mcu_PreregisterPatientsT_OrderHeaderID = T_OrderHeaderID
LEFT JOIN form_riwayat_pasien ON Mcu_PreregisterPatientsID = FormRiwayatPasienPreregisterID AND FormRiwayatPasienIsActive = 'Y'
LEFT JOIN (
SELECT frp.*
FROM form_riwayat_pasien frp
JOIN (
SELECT FormRiwayatPasienPreregisterID, MAX(FormRiwayatPasienID) AS max_id
FROM form_riwayat_pasien
WHERE FormRiwayatPasienIsActive = 'Y'
GROUP BY FormRiwayatPasienPreregisterID
) latest_frp
ON latest_frp.FormRiwayatPasienPreregisterID = frp.FormRiwayatPasienPreregisterID
AND latest_frp.max_id = frp.FormRiwayatPasienID
) form_riwayat_pasien ON Mcu_PreregisterPatientsID = form_riwayat_pasien.FormRiwayatPasienPreregisterID
LEFT JOIN mcu_preregister_date ON Mcu_PreregisterDateMcu_PreregisterPatientsID = Mcu_PreregisterPatientsID
LEFT JOIN (
SELECT c.*