db->query($query)->getResult(); return $results; } public function getDataForEnodrsementListinDeletion($group_key){ $query = " SELECT employee_polices.days as old_days, employee_polices.rata_premimum as old_rata, employee_polices.gst as old_gst, employee_polices.policy_end_date as end_date, client_policy.policy_start_date as start_date, MAX(CASE WHEN a.field_name = 'date_of_exit' THEN a.new_value ELSE NULL END) AS date_of_leaving, MAX(CASE WHEN a.field_name = 'reason_for_exit' THEN a.new_value ELSE NULL END) AS exist_reason, DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit) AS no_of_days, ROUND((employee_polices.rata_premimum * DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit)) / 365, 2) AS pro_rata_premium, ROUND(((employee_polices.rata_premimum * DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit)) / 365) * 0.18, 2) AS gst, ROUND(((employee_polices.rata_premimum * DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit)) / 365) + (((employee_polices.rata_premimum * DATEDIFF(employee_polices.policy_end_date, deletiondata.dateofexit)) / 365) * 0.18), 2) AS total FROM emp_endorsement a LEFT JOIN employees ON a.emp_code = employees.emp_code LEFT JOIN employee_polices ON employees.id = employee_polices.employee_id LEFT JOIN client_policy ON client_policy.id = employee_polices.client_policy_id LEFT JOIN ( SELECT aa.emp_code, aa.new_value AS 'empstatus', bb.new_value AS 'changeevent', cc.new_value AS 'dateofexit', dd.new_value AS 'reasonforexit', ee.new_value AS 'status' FROM ( SELECT a1.emp_code, a1.field_name, a1.new_value FROM emp_endorsement AS a1 WHERE a1.field_name = 'emp_status' ) aa LEFT JOIN ( SELECT b1.emp_code, b1.field_name, b1.new_value FROM emp_endorsement AS b1 WHERE b1.field_name = 'change_event' ) bb ON aa.emp_code = bb.emp_code LEFT JOIN ( SELECT c1.emp_code, c1.field_name, c1.new_value FROM emp_endorsement AS c1 WHERE c1.field_name = 'date_of_exit' ) cc ON aa.emp_code = cc.emp_code LEFT JOIN ( SELECT d1.emp_code, d1.field_name, d1.new_value FROM emp_endorsement AS d1 WHERE d1.field_name = 'reason_for_exit' ) dd ON aa.emp_code = dd.emp_code LEFT JOIN ( SELECT e1.emp_code, e1.field_name, e1.new_value FROM emp_endorsement AS e1 WHERE e1.field_name = 'status' ) ee ON aa.emp_code = ee.emp_code ) AS deletiondata ON a.emp_code = deletiondata.emp_code WHERE group_key = '{$group_key}'; "; $results = $this->db->query($query)->getResult(); return $results; } }