From d544736fda3a70a8435edb9a2eb4aa437a5c7a64 Mon Sep 17 00:00:00 2001 From: "sas.fajri" Date: Tue, 30 Jun 2026 14:17:23 +0700 Subject: [PATCH] IUNHI0 - fix duplicate listing preregister dengan subquery MAX FormRiwayatPasienID di v5 dan v8 --- .../mockup/mcuoffline/Preregisterappcponev5.php | 13 ++++++++++++- .../mockup/mcuoffline/Preregisterappcponev8.php | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/application/controllers/mockup/mcuoffline/Preregisterappcponev5.php b/application/controllers/mockup/mcuoffline/Preregisterappcponev5.php index cdc29ee..c9a0940 100644 --- a/application/controllers/mockup/mcuoffline/Preregisterappcponev5.php +++ b/application/controllers/mockup/mcuoffline/Preregisterappcponev5.php @@ -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']} diff --git a/application/controllers/mockup/mcuoffline/Preregisterappcponev8.php b/application/controllers/mockup/mcuoffline/Preregisterappcponev8.php index 383fb02..7a59a65 100644 --- a/application/controllers/mockup/mcuoffline/Preregisterappcponev8.php +++ b/application/controllers/mockup/mcuoffline/Preregisterappcponev8.php @@ -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.*