diff --git a/application/controllers/mockup/resumeindividufacelift/Resume.php b/application/controllers/mockup/resumeindividufacelift/Resume.php index 235abc0d..1e7ec7a5 100644 --- a/application/controllers/mockup/resumeindividufacelift/Resume.php +++ b/application/controllers/mockup/resumeindividufacelift/Resume.php @@ -370,11 +370,135 @@ class Resume extends MY_Controller } } } - - $sql = "SELECT Mcu_FitnessCategoryID as id, - Mcu_FitnessCategoryName as name, - Mcu_FitnessCategoryEng as nameEng, - Mcu_FitnessCategoryLevel as level + + $sql = "SELECT + MIN(kelainans.id) AS id, + kelainans.type, + IFNULL(GROUP_CONCAT(DISTINCT NULLIF(kelainans.Nat_TestName, '') ORDER BY kelainans.Nat_TestName SEPARATOR ', '), '') AS Nat_TestName, + kelainans.Mcu_KelainanName, + kelainans.Mcu_KelainanClasification, + kelainans.Mcu_KelainanGroupName, + IFNULL(SUBSTRING_INDEX( + GROUP_CONCAT( + IFNULL(kelainans.Mcu_FitnessCategoryName, '') + ORDER BY IFNULL(kelainans.Mcu_FitnessCategoryLevel, -1) DESC + SEPARATOR '||' + ), + '||', + 1 + ), '') AS Mcu_FitnessCategoryName + FROM ( + SELECT + kl.T_KelainanLabID AS id, + mk.Mcu_KelainanID, + 'lab' AS type, + IFNULL(nt.Nat_TestName, '') AS Nat_TestName, + mk.Mcu_KelainanName, + mk.Mcu_KelainanClasification, + mkg.Mcu_KelainanGroupName, + mfc.Mcu_FitnessCategoryName, + mfc.Mcu_FitnessCategoryLevel + FROM t_kelainan_lab kl + JOIN mcu_summarylab ms + ON kl.T_KelainanLabMcu_SummaryLabID = ms.Mcu_SummaryLabID + AND ms.Mcu_SummaryLabIsActive = 'Y' + JOIN mcu_kelainan mk + ON ms.Mcu_SummaryLabMcu_KelainanID = mk.Mcu_KelainanID + AND mk.Mcu_KelainanIsActive = 'Y' + JOIN mcu_kelainangroup mkg + ON mk.Mcu_KelainanMcu_KelainanGroupID = mkg.Mcu_KelainanGroupID + AND mkg.Mcu_KelainanGroupIsActive = 'Y' + LEFT JOIN mcu_fitness_category mfc + ON ms.Mcu_SummaryLabMcu_FitnessCategoryID = mfc.Mcu_FitnessCategoryID + AND mfc.Mcu_FitnessCategoryIsActive = 'Y' + LEFT JOIN nat_test nt + ON kl.T_KelainanLabNat_TestID = nt.Nat_TestID + AND nt.Nat_TestIsActive = 'Y' + WHERE + kl.T_KelainanLabT_OrderHeaderID = ? AND + kl.T_KelainanLabIsActive = 'Y' + + UNION ALL + + SELECT + kn.T_KelainanNonLabID AS id, + mk.Mcu_KelainanID, + 'fisik' AS type, + IFNULL(nt.Nat_TestName, '') AS Nat_TestName, + mk.Mcu_KelainanName, + mk.Mcu_KelainanClasification, + mkg.Mcu_KelainanGroupName, + mfc.Mcu_FitnessCategoryName, + mfc.Mcu_FitnessCategoryLevel + FROM t_kelainan_nonlab kn + JOIN mcu_summarynonlab msn + ON kn.T_KelainanNonLabMcu_SummaryNonlabID = msn.Mcu_SummaryNonlabID + AND msn.Mcu_SummaryNonlabIsActive = 'Y' + JOIN mcu_kelainan mk + ON msn.Mcu_SummaryNonlabMcu_KelainanID = mk.Mcu_KelainanID + AND mk.Mcu_KelainanIsActive = 'Y' + JOIN mcu_kelainangroup mkg + ON mk.Mcu_KelainanMcu_KelainanGroupID = mkg.Mcu_KelainanGroupID + AND mkg.Mcu_KelainanGroupIsActive = 'Y' + LEFT JOIN mcu_fitness_category mfc + ON msn.Mcu_SummaryNonlabMcu_FitnessCategoryID = mfc.Mcu_FitnessCategoryID + AND mfc.Mcu_FitnessCategoryIsActive = 'Y' + LEFT JOIN nat_test nt + ON kn.T_KelainanNonLabNat_TestID = nt.Nat_TestID + AND nt.Nat_TestIsActive = 'Y' + WHERE + kn.T_KelainanNonLabT_OrderHeaderID = ? AND + kn.T_KelainanNonLabIsActive = 'Y' + + UNION ALL + + SELECT + kf.T_KelainanFiskID AS id, + mk.Mcu_KelainanID, + 'fisik' AS type, + '' AS Nat_TestName, + mk.Mcu_KelainanName, + mk.Mcu_KelainanClasification, + mkg.Mcu_KelainanGroupName, + mfc.Mcu_FitnessCategoryName, + mfc.Mcu_FitnessCategoryLevel + FROM t_kelainan_fisik kf + JOIN mcu_fisiksummary mf + ON kf.T_KelainanFiskMcu_FisikSummaryID = mf.Mcu_FisikSummaryID + AND mf.Mcu_FisikSummaryIsActive = 'Y' + JOIN mcu_kelainan mk + ON mf.Mcu_FisikSummaryMcu_KelainanID = mk.Mcu_KelainanID + AND mk.Mcu_KelainanIsActive = 'Y' + JOIN mcu_kelainangroup mkg + ON mk.Mcu_KelainanMcu_KelainanGroupID = mkg.Mcu_KelainanGroupID + AND mkg.Mcu_KelainanGroupIsActive = 'Y' + LEFT JOIN mcu_fitness_category mfc + ON mf.Mcu_FisikSummaryMcu_FitnessCategoryID = mfc.Mcu_FitnessCategoryID + AND mfc.Mcu_FitnessCategoryIsActive = 'Y' + WHERE + kf.T_KelainanFiskT_OrderHeaderID = ? AND + kf.T_KelainanFiskIsActive = 'Y' + ) kelainans + GROUP BY + kelainans.type, + kelainans.Mcu_KelainanID, + kelainans.Mcu_KelainanName, + kelainans.Mcu_KelainanClasification, + kelainans.Mcu_KelainanGroupName + ORDER BY kelainans.type, Nat_TestName, kelainans.Mcu_KelainanName"; + $query = $this->db_onedev->query($sql, [$orderid, $orderid, $orderid]); + if (!$query) { + $message = $this->db_onedev->error(); + $message['qry'] = $this->db_onedev->last_query(); + $this->sys_error($message); + exit; + } + $dataKelainans = $query->result_array(); + + $sql = "SELECT Mcu_FitnessCategoryID as id, + Mcu_FitnessCategoryName as name, + Mcu_FitnessCategoryEng as nameEng, + Mcu_FitnessCategoryLevel as level FROM mcu_fitness_category WHERE Mcu_FitnessCategoryIsActive = 'Y'"; $query = $this->db_onedev->query($sql); @@ -388,13 +512,14 @@ class Resume extends MY_Controller - $result = [ - "header" => $dataHeader, - "records" => $data, - "results" => $dataResults, - "fitnessCategory" => $dataFitnessCategory - // 'kesimpulan' => $kesimpulanFisik - ]; + $result = [ + "header" => $dataHeader, + "records" => $data, + "results" => $dataResults, + "kelainans" => $dataKelainans, + "fitnessCategory" => $dataFitnessCategory + // 'kesimpulan' => $kesimpulanFisik + ]; $this->sys_ok($result); }