File: /home/cafsindia/uds.cafsinfotech.in/application/controllers/Employee_log_report.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Action_controller.php");
class Employee_log_report extends Action_controller{
public function __construct(){
parent::__construct('employee_log_report');
// $this->collect_base_info();
}
// LOAD PAGE QUICK LINK,FILTERS AND TABLE HEADERS
public function index(){
$data['encKey'] = $this->generateKey();
$this->load->view("$this->control_name/manage",$data);
}
//AUTO COMPLETE FUNCTION
public function emp_suggest(){
$encString = file_get_contents('php://input');
$_POST = $this->cryptoDecrypt($encString);
if(!$_POST){
echo json_encode(array('success' => false,'message' => 'Invalid Request..','table_data' => ""));
exit(0);
}
$search_term = $this->input->post_get('term');
$final_qry = 'select employee_code,emp_name from cw_employees where trans_status = 1 and prime_employees_id !=1 and employee_code like "'.$search_term.'%" OR emp_name LIKE "'.$search_term.'%"' ;
$final_data = $this->db->query("CALL sp_a_run ('SELECT','$final_qry')");
$final_result = $final_data->result();
$final_data->next_result();
foreach($final_result as $rslt){
$employee_code = $rslt->employee_code;
$emp_name = $rslt->emp_name;
$suggestions[] = array('value' => "$employee_code", 'label' => "$employee_code - $emp_name");
}
if(empty($suggestions)){
$suggestions[] = array('value' => "0", 'label' => "No data found for this search");
}
echo json_encode($suggestions);
}
public function check_log_details(){
$encString = file_get_contents('php://input');
$_POST = $this->cryptoDecrypt($encString);
if(!$_POST){
echo json_encode(array('success' => false,'message' => 'Invalid Request..','table_data' => ""));
exit(0);
}
//VIEW INFO FUNCTION CALL
$this->view_info("");
//GET EMPLOYEE MASTER PICKLIST
$master_pick = $this->pick_list;//all pick result
$process_by = $this->input->post('process_by');
$employee_code = $this->input->post('employee_code');
$start_date = str_replace("/","-",$this->input->post('start_date'));
$end_date = str_replace("/","-",$this->input->post('end_date'));
$from_date = date('Y-m-d',strtotime($start_date));
$to_date = date('Y-m-d',strtotime($end_date));
//changed by employee details
$emp_name_qry = 'select prime_employees_id,emp_name,employee_code from cw_employees where trans_status = 1 and termination_status=0';
$emp_name_data = $this->db->query("CALL sp_a_run ('SELECT','$emp_name_qry')");
$emp_name_result = $emp_name_data->result_array();
$emp_name_data->next_result();
$result = array();
foreach ($emp_name_result as $arr) {
$result[$arr['prime_employees_id']] = $arr['employee_code']." - ".$arr['emp_name'];
}
$emp_name_rslt = $result;
//form setting for view name details
$form_view_qry = 'select label_name,view_name,field_type from cw_form_setting where prime_module_id="employees" and trans_status=1';
$form_view_data = $this->db->query("CALL sp_a_run ('SELECT','$form_view_qry')");
$form_view_result = $form_view_data->result_array();
$form_view_data->next_result();
$result = array();
foreach ($form_view_result as $arr) {
$result[$arr['label_name']] = $arr;
}
$form_view_rslt = $result;
$qry ="";
if((int)$process_by === 1){
$qry = ' and employee_code="'.$employee_code.'"';
}else
if((int)$process_by === 2){
$qry = ' and DATE_FORMAT(trans_created_date, "%Y-%m-%d") between "'.$from_date.'" and "'.$to_date.'"';
}
$emp_log_qry = 'select emp_name,employee_code,label_name,old_value,new_value,trans_created_by,trans_created_date from cw_employees_log where trans_status=1' .$qry;
$emp_log_data = $this->db->query("CALL sp_a_run ('SELECT','$emp_log_qry')");
$emp_log_result = $emp_log_data->result();
$emp_log_data->next_result();
if($emp_log_result){
$tr_line = "";
$i =1;
foreach($emp_log_result as $emp_log_rslt){
$employee_code = $emp_log_rslt->employee_code;
$emp_name = $emp_log_rslt->emp_name;
$label_name = $emp_log_rslt->label_name;
$old_value = $emp_log_rslt->old_value;
$new_value = $emp_log_rslt->new_value;
$change_date = date('d-m-Y h:m:s',strtotime($emp_log_rslt->trans_created_date));
$change_by = $emp_log_rslt->trans_created_by;
$change_name = $emp_name_rslt[$change_by];
$view_name = $form_view_rslt[$label_name]['view_name'];
$field_type = (int)$form_view_rslt[$label_name]['field_type'];
if($field_type === 4){
if($old_value){
$old_value = date('d-m-Y',strtotime($old_value));
}
if($new_value){
$new_value = date('d-m-Y',strtotime($new_value));
}
}else
if($field_type === 13){
if($old_value){
$old_value = date('d-m-Y H:i:s',strtotime($old_value));
}
if($new_value){
$new_value = date('d-m-Y H:i:s',strtotime($new_value));
}
}else
if($field_type === 5 || $field_type === 9){
if($old_value){
$old_value = $master_pick[$label_name]['array_list'][$old_value];
}
if($new_value){
$new_value = $master_pick[$label_name]['array_list'][$new_value];
}
}else
if ($field_type === 7) {
if ($old_value) {
$old_values = explode(",", $old_value ?? "");
$old_value = '';
foreach ($old_values as $value) {
$old_value .= $master_pick[$label_name]['array_list'][$value] . ', ';
}
$old_value = rtrim($old_value, ', ');
}
if ($new_value) {
$new_values = explode(",", $new_value ?? "");
$new_value = '';
foreach ($new_values as $value) {
$new_value .= $master_pick[$label_name]['array_list'][$value] . ', ';
}
$new_value = rtrim($new_value, ', '); // Remove the trailing comma and space
}
}
$tr_line .="<tr><td>$i</td><td>$employee_code</td><td>$emp_name</td><td>$view_name</td><td>$old_value</td><td>$new_value</td><td style='white-space:nowrap;'>$change_date</td><td>$change_name</td></tr>";
$i++;
}
$table_content = "<div class='col-md-12' style='margin:10px;padding:10px;' id='rslt_info'>
<div id='details_list_wrapper' class='dataTables_wrapper no-footer'>
<div style='background-color: #f2f2f2;'>
<div class='col-md-12'>
<table class='table table-hover' id='details_list'>
<thead>
<tr>
<th>Si.No</th>
<th>Employee Code</th>
<th>Employee Name</th>
<th>Field Name</th>
<th>Old Value</th>
<th>New Value</th>
<th>Changed On</th>
<th>Changed By</th>
</tr>
</thead>
<tbody>
$tr_line
</tbody>
</table>
</div>
</div>
</div>
</div>";
echo json_encode(array('success' => TRUE, 'message' => "See employee log list details",'table_content'=>$table_content));
}else{
echo json_encode(array('success' => FALSE, 'message' => "No data is available"));
}
}
}
?>