FEAT_TRUNCATE_FILE_DATA
This commit is contained in:
parent
b5b3deee94
commit
68d217c6f9
@ -114,6 +114,7 @@ $routes->group("/employee", ["filter" => "authMVC"], function($routes){
|
||||
$routes->post("upload", "EmployeeController::employeesUplodWithEvents");
|
||||
$routes->get("excel_error/(:any)", "EmployeeController::getExcelFileErrors/$1");
|
||||
$routes->get("endorsement-list", "EmployeeController::endorsementList");
|
||||
$routes->get("truncate/(:any)", "EmployeeController::truncateFileData/$1");
|
||||
});
|
||||
|
||||
|
||||
|
||||
@ -129,9 +129,9 @@ class EmployeeController extends AdminController
|
||||
// print_r($this->request->getPost('policies'));
|
||||
// print_r($this->request->getPost('upload-action-type'));
|
||||
// die();
|
||||
$empServiceController = new EmployeeServiceController();
|
||||
$res = $empServiceController->excelFileFormatValidation(['file_id' => '42']);
|
||||
dd($res);
|
||||
// $empServiceController = new EmployeeServiceController();
|
||||
// $res = $empServiceController->excelFileFormatValidation(['file_id' => '42']);
|
||||
// dd($res);
|
||||
|
||||
// $empServiceController = new EmployeeServiceController();
|
||||
// $res = $empServiceController->excelFileDataValidation(['file_id' => '38']);
|
||||
@ -827,6 +827,68 @@ class EmployeeController extends AdminController
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function truncateFileData() //truncateFileDataIn DB (de activate rows)
|
||||
{
|
||||
$file_id = $this->request->uri->getSegment(3);
|
||||
// $file_id = 112;
|
||||
$file = $this->fileModel->find($file_id);
|
||||
// $file['action'] = 'si_enhancement';
|
||||
// $result = [];
|
||||
// !dd($file);
|
||||
if($file['action'] == 'inception' || $file['action'] == 'dependent_addition' || $file['action'] == 'addition')
|
||||
{
|
||||
$result = $this->employeeModel->getEmpListByFileId(file_id: $file_id,emp_status: ['active'],policy_status:['active']);
|
||||
// ~dd($result);
|
||||
if(count($result))
|
||||
{
|
||||
return $this->respond(['dataStatus' => false,'code' => 404,'message' => 'File data already processed'], 200);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//update emp and emp plocies
|
||||
$db = db_connect();
|
||||
$query = "UPDATE employees JOIN employee_polices ON employees.id = employee_polices.employee_id and employees.file_id = $file_id SET employees.emp_status = 'truncated', employee_polices.status = 'truncated', employees.is_active = 0,employee_polices.is_active = 0 WHERE employees.file_id = $file_id";
|
||||
$db->query($query);
|
||||
$affectedRows = $db->affectedRows();
|
||||
// $affectedRows = 10;
|
||||
|
||||
//update file status
|
||||
$this->fileModel->where('id', $file_id)->set(['status' => 'truncated'])->update();
|
||||
|
||||
return $this->respond(['dataStatus' => true,'code' => 200,'data' => round($affectedRows/2)], 200);
|
||||
}
|
||||
}
|
||||
else if($file['action'] == 'si_enhancement' || $file['action'] == 'correction' || $file['action'] == 'deletion')
|
||||
{
|
||||
$res = $this->empEndorsementModel->select(['count(id) as count'])
|
||||
->where('emp_endorsement.file_id',$file_id)
|
||||
->groupStart()
|
||||
->where('emp_endorsement.endorsement_id is not null')
|
||||
->orwhereIn('emp_endorsement.status',['complete'])
|
||||
->groupEnd()
|
||||
->get()
|
||||
->getResult();
|
||||
// print_r($this->empEndorsementModel->getLastQuery());
|
||||
// echo $res[0]->count;die();
|
||||
if($res[0]->count == 0)
|
||||
{
|
||||
//update truncated status to db
|
||||
$this->empEndorsementModel->where('file_id',$file_id)
|
||||
->set(['status' => 'truncated'])
|
||||
->update();
|
||||
//update file status
|
||||
$this->fileModel->where('id', $file_id)->set(['status' => 'truncated'])->update();
|
||||
return $this->respond(['dataStatus' => true,'code' => 200,'data' => 'success'], 200);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->respond(['dataStatus' => false,'code' => 404,'message' => 'File data already processed'], 200);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -145,7 +145,7 @@ class EmployeeServiceController extends AdminController
|
||||
$policy_terms = json_decode($policy_terms[0]->policy_terms);
|
||||
$policy_terms = (array) $policy_terms;// convert obj to array
|
||||
//
|
||||
dd($policy_terms);
|
||||
// dd($policy_terms);
|
||||
|
||||
//get policy slab rates
|
||||
$slab_details = $this->policiesModel->getPolicySlabRatesForEmpOnboard($file['policy_id'],$file['client_id']);
|
||||
@ -621,14 +621,14 @@ class EmployeeServiceController extends AdminController
|
||||
|
||||
$group_key = rand(100000, 999999);
|
||||
//for emp table
|
||||
$this->empEndorsementModel->save(['pk' => (int)$data['emp_id'],'emp_code' => $data['emp_code'],'table_name' => 'employees','actions' => 'd','name' => $data['name'],'field_name' => 'emp_status','old_value' => $data['emp_status'],'new_value' => 'deactivate','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$data['emp_id'],'emp_code' => $data['emp_code'],'table_name' => 'employees','actions' => 'd','name' => $data['name'],'field_name' => 'emp_status','old_value' => $data['emp_status'],'new_value' => 'deactivate','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id']]);
|
||||
// dd( $this->empEndorsementModel->getLastQuery());
|
||||
// $this->empEndorsementModel->save(['pk' => (int)$data['emp_id'],'emp_code' => $data['emp_code'],'table_name' => 'employees','actions' => 'd','name' => $data['name'],'field_name' => 'change_event','old_value' => $data['change_event'],'new_value' => 'deletion','created_by' => $file['created_by'],'remarks' => 'general deletion']);
|
||||
|
||||
// for employee policy table
|
||||
$this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'date_of_exit','old_value' => $data['date_of_exit'],'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'reason_for_exit','old_value' => $data['reason_for_exit'],'new_value' => $row[5],'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'status','old_value' => $data['status'],'new_value' => 'deactivate','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'date_of_exit','old_value' => $data['date_of_exit'],'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id']]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'reason_for_exit','old_value' => $data['reason_for_exit'],'new_value' => $row[5],'created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id']]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$data['emp_policy_id'],'emp_code' => $data['emp_code'],'table_name' => 'employee_polices','actions' => 'd','name' => $data['name'],'field_name' => 'status','old_value' => $data['status'],'new_value' => 'deactivate','created_by' => $file['created_by'],'remarks' => 'general deletion','group_key' => $group_key,'file_id' => $file['id']]);
|
||||
};
|
||||
//iterate each row
|
||||
foreach ($excel_data as $col_key => $row)
|
||||
@ -738,7 +738,7 @@ class EmployeeServiceController extends AdminController
|
||||
if(!count($existing_endorsements))
|
||||
{
|
||||
$group_key = rand(100000, 999999);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employees','actions' => 'c','name' => $employee['name'],'field_name' => $field_name,'old_value' => $employee[ $field_name ],'new_value' => $field_value,'created_by' => $file['created_by'],'remarks' => $row[7],'date_of_correction' => change_date_format($row[5],'d-M-Y','Y-m-d'),'group_key' => $group_key]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employees','actions' => 'c','name' => $employee['name'],'field_name' => $field_name,'old_value' => $employee[ $field_name ],'new_value' => $field_value,'created_by' => $file['created_by'],'remarks' => $row[7],'date_of_correction' => change_date_format($row[5],'d-M-Y','Y-m-d'),'group_key' => $group_key,'file_id' => $file['id']]);
|
||||
}
|
||||
|
||||
|
||||
@ -803,9 +803,9 @@ class EmployeeServiceController extends AdminController
|
||||
if($slab_value['si'] == $row[3])
|
||||
{
|
||||
$group_key = rand(100000, 999999);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'basic_cover_si','old_value' => $employee_policy['basic_cover_si'],'new_value' => $row[3],'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'premium','old_value' => $employee_policy['premium'],'new_value' => $slab_value['premium'],'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'si_enhancement_date','old_value' => null,'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'basic_cover_si','old_value' => $employee_policy['basic_cover_si'],'new_value' => $row[3],'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id']]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'premium','old_value' => $employee_policy['premium'],'new_value' => $slab_value['premium'],'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id']]);
|
||||
$this->empEndorsementModel->save(['pk' => (int)$employee['id'],'emp_code' => $employee['emp_code'],'table_name' => 'employee_polices','actions' => 'si','name' => $employee['name'],'field_name' => 'si_enhancement_date','old_value' => null,'new_value' => change_date_format($row[4],'d-M-Y','Y-m-d'),'created_by' => $file['created_by'],'remarks' => 'general si enhancement','group_key' => $group_key,'file_id' => $file['id']]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -844,7 +844,7 @@ if (!function_exists('premium_calculation_manager'))
|
||||
$emp_data['policy_details']['policy_end_date'] = $policy_terms['policy_end_date'];
|
||||
$emp_data['policy_details']['days'] = calculate_days_bw_dates($policy_terms['policy_start_date'],$policy_terms['policy_end_date'])->days;
|
||||
$emp_data['policy_details']['premium'] = $slab_value['premium'];
|
||||
$emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($slab_value['premium'],$emp_data['policy_details']['days'];
|
||||
$emp_data['policy_details']['rata_premimum'] = calculate_pro_rata_premimum($slab_value['premium'],$emp_data['policy_details']['days']);
|
||||
$emp_data['policy_details']['gst'] = ((float) number_format(($emp_data['policy_details']['rata_premimum'] * (18/100)),2,'.',''));
|
||||
|
||||
break;
|
||||
|
||||
@ -25,7 +25,8 @@ class EmpEndorsementModel extends Model
|
||||
"created_by",
|
||||
"updated_by",
|
||||
"is_active",
|
||||
"remarks"
|
||||
"remarks",
|
||||
"file_id"
|
||||
];
|
||||
|
||||
// Callbacks
|
||||
|
||||
@ -139,4 +139,30 @@ class EmployeeModel extends Model
|
||||
return $this->where('emp_code',$arr['emp_code'])->where('name',$arr['name'])->where('client_id', $arr['client_id'])->first();
|
||||
}
|
||||
|
||||
|
||||
public function getEmpListByFileId(int $file_id,array $emp_status = [],array $policy_status = [])
|
||||
{
|
||||
$result = $this->select(['employees.id as emp_id', 'employees.client_id', 'employees.relationship', 'employees.relationship_code', 'employees.change_event', 'employees.emp_code', 'employees.name', 'employees.email_personal', 'employees.email_corporate', 'employees.mobile', 'employees.gender', 'employees.dob', 'employees.doj', 'employees.basic_pay', 'employees.band', 'employees.designation', 'employees.emp_status','employee_polices.id as emp_policy_id', 'employee_polices.employee_id', 'employee_polices.client_policy_id', 'employee_polices.tpa_id', 'employee_polices.uhid', 'employee_polices.batch_code', 'employee_polices.status', 'employee_polices.pre_existing_alignments', 'employee_polices.basic_cover_si', 'employee_polices.date_coverage', 'employee_polices.policy_end_date', 'employee_polices.days', 'employee_polices.premium', 'employee_polices.rata_premimum', 'employee_polices.gst', 'employee_polices.date_of_exit', 'employee_polices.reason_for_exit'])
|
||||
->join('employee_polices', 'employee_polices.employee_id = employees.id')
|
||||
->where('employees.is_active',1)
|
||||
->where('employees.file_id',$file_id)
|
||||
->where('employee_polices.is_active',1)
|
||||
// ->where('employee_polices.uhid is not null')
|
||||
// ->where('employee_polices.tpa_id is not null')
|
||||
->groupStart()
|
||||
->orWhere('employee_polices.uhid is not null')
|
||||
->orWhere('employee_polices.tpa_id is not null')
|
||||
->groupEnd()
|
||||
->when(count($emp_status), function($query) use ($emp_status){
|
||||
return $query->whereIn('employees.emp_status', $emp_status);
|
||||
})
|
||||
->when(count($policy_status), function($query) use ($policy_status){
|
||||
return $query->whereIn('employee_polices.status', $policy_status);
|
||||
})
|
||||
->findAll();
|
||||
// ~dd($this->db->getLastQuery());
|
||||
|
||||
return ($result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -86,6 +86,11 @@
|
||||
data-target="#full-width-modal-emp-list" class="dropdown-item view_emp_list"
|
||||
href="#"><i
|
||||
class="mdi mdi-eye mr-2 text-muted font-18 vertical-middle"></i>View</a>
|
||||
<?php if($file['status'] == 'success'){?>
|
||||
<a data-id="<?php echo $file['id']?>" class="dropdown-item truncate"
|
||||
href="#"><i
|
||||
class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Truncate</a>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -225,6 +230,80 @@ $('body').on('click', '.upload_button', function() {
|
||||
$('#file_upload_actions').val(fileId.action)
|
||||
})
|
||||
|
||||
$('body').on('click', '.truncate', function() {
|
||||
event.preventDefault();
|
||||
// console.log(event);
|
||||
var fileId = JSON.parse(this.getAttribute('data-id'));
|
||||
// alert('Hi' + fileId);
|
||||
|
||||
Swal.fire({
|
||||
title: "Do you want to truncate data from uploaded file?",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "Delete",
|
||||
confirmButtonColor: "#ff3333",
|
||||
}).then((result) => {
|
||||
|
||||
console.log(result);
|
||||
if (result.isConfirmed) {
|
||||
$('.loader').fadeIn();
|
||||
$('.loader-mask').fadeIn();
|
||||
var apiURL = '<?php echo base_url();?>' + 'employee/truncate/' + fileId;
|
||||
$.ajax({
|
||||
url: apiURL,
|
||||
method: 'GET',
|
||||
headers: {
|
||||
// "Content-Type": "application/json",
|
||||
"X-Requested-With": "XMLHttpRequest"
|
||||
},
|
||||
success: function(response) {
|
||||
// console.log(response.code);
|
||||
// console.log(response.dataStatus);
|
||||
// console.log(response.data);
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
}, 1000);
|
||||
|
||||
|
||||
if (response.code === 200 && response.dataStatus === true && response.data !== "") {
|
||||
Swal.fire({
|
||||
title: "Deleted!",
|
||||
// text: "Data from truncated",
|
||||
icon: "success"
|
||||
});
|
||||
} else if (response.code === 404 && response.dataStatus === false) {
|
||||
console.error('no data found', response);
|
||||
Swal.fire({
|
||||
title: "Failed!",
|
||||
text: response.message,
|
||||
icon: "error"
|
||||
});
|
||||
} else {
|
||||
|
||||
Swal.fire({
|
||||
title: "Failed!",
|
||||
text: 'Something went wrong! Try later',
|
||||
icon: "error"
|
||||
});
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
}, 1000);
|
||||
|
||||
console.error('Error fetching data from API:', error);
|
||||
toastr.error('Something went wrong! Try later', 'Error');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
$('#uploadForm').submit(function() {
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user