From 6d9cd145cf4927f954c550640d1b6feaf69f1760 Mon Sep 17 00:00:00 2001 From: Venkatesh Date: Sat, 16 May 2026 09:09:28 +0530 Subject: [PATCH] CHANGE_SHOW_THE_CREATED_DATE_AND_TIME_IN_THE_EMP_HISTORY --- app/Models/EmployeePolicyModel.php | 35 ++++++++++++++++++++++++++++++ app/Views/employee_data_list.php | 30 ++++++++++++++++++++----- 2 files changed, 60 insertions(+), 5 deletions(-) diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php index 9ee48ef..1753172 100755 --- a/app/Models/EmployeePolicyModel.php +++ b/app/Models/EmployeePolicyModel.php @@ -131,14 +131,17 @@ class EmployeePolicyModel extends Model // Name audit trail '(SELECT old_value FROM auditing_history WHERE pk = emp.id AND field_name = "name" AND table_name = "employees" ORDER BY id ASC LIMIT 1) AS name_first_old', '(SELECT new_value FROM auditing_history WHERE pk = emp.id AND field_name = "name" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS name_last_new', + '(SELECT DATE_FORMAT(COALESCE(created_at, emp.updated_at), "%d/%m/%Y %h:%i %p") FROM auditing_history WHERE pk = emp.id AND field_name = "name" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS name_created_at', // DOB audit trail '(SELECT old_value FROM auditing_history WHERE pk = emp.id AND field_name = "dob" AND table_name = "employees" ORDER BY id ASC LIMIT 1) AS dob_first_old', '(SELECT new_value FROM auditing_history WHERE pk = emp.id AND field_name = "dob" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS dob_last_new', + '(SELECT DATE_FORMAT(COALESCE(created_at, emp.updated_at), "%d/%m/%Y %h:%i %p") FROM auditing_history WHERE pk = emp.id AND field_name = "dob" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS dob_created_at', // Gender audit trail '(SELECT old_value FROM auditing_history WHERE pk = emp.id AND field_name = "gender" AND table_name = "employees" ORDER BY id ASC LIMIT 1) AS gender_first_old', '(SELECT new_value FROM auditing_history WHERE pk = emp.id AND field_name = "gender" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS gender_last_new', + '(SELECT DATE_FORMAT(COALESCE(created_at, emp.updated_at), "%d/%m/%Y %h:%i %p") FROM auditing_history WHERE pk = emp.id AND field_name = "gender" AND table_name = "employees" ORDER BY id DESC LIMIT 1) AS gender_created_at', "(CASE WHEN emp.relationship = 'Self' @@ -160,6 +163,19 @@ class EmployeePolicyModel extends Model ELSE NULL END) AS removed_summary", + "(CASE + WHEN emp.relationship = 'Self' + THEN ( + SELECT DATE_FORMAT(MAX(e.updated_at), '%d/%m/%Y %h:%i %p') + FROM employees e + JOIN employee_polices ep ON e.id = ep.employee_id + WHERE e.emp_code = emp.emp_code + AND (e.is_dependent_modified = 0 OR (e.is_active = 0 AND e.emp_status != 'truncated')) + AND ep.client_policy_id = employee_polices.client_policy_id + ) + ELSE NULL + END) AS removed_summary_updated_at", + "(IF(COALESCE(emp.is_dependent_modified, 0) = 1, 'Newly Added, ', CASE WHEN emp.relationship != 'Self' @@ -180,6 +196,25 @@ class EmployeePolicyModel extends Model END )) AS newly_added", + "(IF(COALESCE(emp.is_dependent_modified, 0) = 1, DATE_FORMAT(emp.updated_at, '%d/%m/%Y %h:%i %p'), + CASE + WHEN emp.relationship != 'Self' + AND emp.file_id IS NULL + AND emp.created_by = ( + SELECT e_sub.id + FROM employees e_sub + JOIN employee_polices ep_sub ON e_sub.id = ep_sub.employee_id + WHERE e_sub.emp_code = emp.emp_code + AND e_sub.relationship = 'Self' + AND e_sub.is_active = 1 + AND ep_sub.client_policy_id = employee_polices.client_policy_id + LIMIT 1 + ) + THEN DATE_FORMAT(emp.updated_at, '%d/%m/%Y %h:%i %p') + ELSE NULL + END + )) AS newly_added_updated_at", + $status_query ], false) ->join('employees emp', 'employee_polices.employee_id = emp.id') diff --git a/app/Views/employee_data_list.php b/app/Views/employee_data_list.php index 7659250..2041652 100755 --- a/app/Views/employee_data_list.php +++ b/app/Views/employee_data_list.php @@ -201,22 +201,42 @@ " . $employee['newly_added'] . "

"; + echo "

" . $employee['newly_added']; + if (!empty($employee['newly_added_updated_at'])) { + echo ' (' . $employee['newly_added_updated_at'] . ')'; + } + echo "

"; } if(!empty($employee['name_first_old']) ){ - echo "

Name : " . $employee['name_first_old'] . ' => ' . $employee['name_last_new'] . "

"; + echo "

Name : " . $employee['name_first_old'] . ' => ' . $employee['name_last_new']; + if (!empty($employee['name_created_at'])) { + echo ' (' . $employee['name_created_at'] . ')'; + } + echo "

"; } if(!empty($employee['dob_first_old'])){ - echo "

DOB : " . change_date_format($employee['dob_first_old'], null, 'd/m/Y') . ' => ' . change_date_format($employee['dob_last_new'], null, 'd/m/Y') . "

"; + echo "

DOB : " . change_date_format($employee['dob_first_old'], null, 'd/m/Y') . ' => ' . change_date_format($employee['dob_last_new'], null, 'd/m/Y'); + if (!empty($employee['dob_created_at'])) { + echo ' (' . $employee['dob_created_at'] . ')'; + } + echo "

"; } if(!empty($employee['gender_first_old'])){ - echo "

Gender : " . $employee['gender_first_old'] . ' => ' . $employee['gender_last_new'] . "

"; + echo "

Gender : " . $employee['gender_first_old'] . ' => ' . $employee['gender_last_new']; + if (!empty($employee['gender_created_at'])) { + echo ' (' . $employee['gender_created_at'] . ')'; + } + echo "

"; } // if(!empty($employee['removed_count'])){ // echo "

" . $employee['removed_count'] . " People removed

"; // } if(!empty($employee['removed_summary'])){ - echo "

" . $employee['removed_summary'] . "

"; + echo "

" . $employee['removed_summary']; + if (!empty($employee['removed_summary_updated_at'])) { + echo ' (' . $employee['removed_summary_updated_at'] . ')'; + } + echo "

"; } if(empty($employee['name_first_old']) && empty($employee['dob_first_old']) && empty($employee['gender_first_old']) && empty($employee['removed_summary'] ) && empty($employee['newly_added'] )){ echo " - ";