File: /home/cafsindia/.trash/application.1/views/increment/manage.php
<?php
$this->load->view("partial/header");
$access_data = $this->session->userdata('access_data');
$access_add = (int)$access_data[$controller_name]['access_add'];
$access_update = (int)$access_data[$controller_name]['access_update'];
$access_delete = (int)$access_data[$controller_name]['access_delete'];
$access_search = (int)$access_data[$controller_name]['access_search'];
$access_export = (int)$access_data[$controller_name]['access_export'];
$access_import = (int)$access_data[$controller_name]['access_import'];
$page_name = ucwords(str_replace("_"," ",$controller_name));
$uniqueId = "prime_".$controller_name."_id";
if($valid_array){
echo $valid_array;
exit(0);
}
?>
<!-- <style type="text/css">
.form-inline .form-control{
width: auto !important;
}
</style> -->
<script type="text/javascript">
$(document).ready(function(){
<?php $this->load->view('partial/bootstrap_tables_locale'); ?>
table_support.init({
resource: '<?php echo site_url($controller_name); ?>'
});
//Datepicker
$(function(){
$(".datepicker").datetimepicker({
format: 'MM-YYYY'
});
/*var start_date = moment("<?php echo $start_date;?>",'YYYY-MM-DD').format('DD-MM-YYYY');
$("#effective_date").datetimepicker({
format: 'DD-MM-YYYY',
minDate: moment(start_date,'DD-MM-YYYY'),
//debug: true
});*/
});
$(function(){
$('.select2').select2({
placeholder: '---- Select ----'
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
$('#increment_form').submit(function(event){ event.preventDefault(); }).validate({
rules:{
category:"required",
apply_month:"required",
effective_date:"required",
employees:"required",
total_lop:"required",
before:"required",
after:"required",
process_by : "required"
},
submitHandler: function (form){
$("#search").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#search').attr('disabled','disabled');
var apply_month = $("#apply_month").val();
var employee_code = $("#employees").val();
var effective_date = $("#effective_date").val();
var category = $("#category").val();
var before = $("#before").val();
var after = $("#after").val();
var process_by = $("#process_by").val();
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {apply_month:apply_month,employee_code:employee_code,effective_date:effective_date,category:category,before:before,after:after,process_by:process_by};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/search_increment_data"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#search').attr('disabled',false);
$("#search").html("<i class='fa fa-eye'></i> View");
$('#table_data').html(rslt.table_data);
$('#inc_table').DataTable({
language:{
lengthMenu:"<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
searchPlaceholder: "Search records",
search: "",
processing: '<div style="text-align: center; padding: 50px;color:#4b6fa2;z-index:999999999;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</div>',
},
"lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ]
});
$('input[type=search]').addClass('form-control input-sm select2');
$("select[name='table_length']" ).addClass('form-control input-sm');
$('#increment_form')[0].reset();
$('#employees').val('0');// => [MS 26-07-2024]
$('#employees').trigger('change');// => [MS 26-07-2024]
$('#effective_date').prop('readonly', false);
}else{
toastr.error(rslt.message);
$('#search').attr('disabled',false);
$("#search").html("<i class='fa fa-eye'></i> View");
}
},
});
}
});
$("#category").on('change', function(e){
$("#apply_month").val('');
$("#apply_month").datetimepicker();
$("#apply_month").datetimepicker("destroy");
var category = $("#category").val();
if(category){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {category:category};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/get_employee_list"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#employees').html(rslt.emp_list);
}else{
$('#employees').empty();
toastr.error('Please process payroll atleast one month for this category...');
}
},
});
}
});
$("#process_by").on('change', function(e){
$('#before').val('');
$('#after').val('');
var employee = $('#employees').val();
var effective_date = $('#effective_date').val();
var category = $('#category').val();
var process_by = $('#process_by').val();
var apply_month = $('#apply_month').val();
process_by_based(employee,effective_date,category,process_by,apply_month,0);
});
$("#before,#after").on('change', function(e){
var attr = $(this).attr('id');
var before = $('#before').val();
var after = $('#after').val();
var total_lop = $('#total_lop').val();
if(attr === 'before'){
var after = total_lop - before;
before = 0;
$('#after').val(after);
}
if(attr === 'after'){
var before = total_lop - after;
after = 0;
$('#before').val(before);
}
var tot = before + after;
if(parseFloat(tot) !== parseFloat(total_lop)){
toastr.warning('Days Must be Equal to Total Days');
$('#before').val('');
$('#after').val('');
}
});
$('#apply_month').on("dp.hide",function(e){
var category = $('#category').val();
var apply_month = $('#apply_month').val();
var employee = $('#employees').val();
var from = "apply_month";
$("#effective_date").datetimepicker();
$("#effective_date").datetimepicker("destroy");
$('#process_by').val('');
$('#effective_date').prop('readonly', false);
if(apply_month){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {apply_month:apply_month,from:from,category:category,employee:employee};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/check_payroll_process"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
toastr.warning(rslt.message);
$('#apply_month').val('');
$('#effective_date').prop('readonly', false);
}else{
if(rslt.process_by){
process_by_based(employee,rslt.effective_date,category,rslt.process_by,apply_month,0);
}
if(rslt.salary_end_date){
var start_date = moment("<?php echo $start_date;?>",'YYYY-MM-DD').format('DD-MM-YYYY');
//var end_date = moment(rslt.salary_end_date,'YYYY-MM-DD').format('DD-MM-YYYY');
$("#effective_date").datetimepicker({
format: 'DD-MM-YYYY',
minDate: moment(start_date,'DD-MM-YYYY'),
maxDate: moment(rslt.salary_end_date,'DD-MM-YYYY'),
//debug: true
});
}
$('#effective_date').val(rslt.effective_date);
if(rslt.effective_date){
$('#effective_date').prop('readonly', true);
}
$('#before').val(rslt.before_day);
$('#after').val(rslt.after_day);
$("#process_by").find("option[value='"+rslt.process_by+"']").prop("selected", "selected");
$('#table_data').html(rslt.table_data);
$('#inc_table').DataTable({
language:{
lengthMenu:"<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
searchPlaceholder: "Search records",
search: "",
processing: '<div style="text-align: center; padding: 50px;color:#4b6fa2;z-index:999999999;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</div>',
},
"lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ]
});
$('input[type=search]').addClass('form-control input-sm select2');
$("select[name='table_length']" ).addClass('form-control input-sm');
}
},
});
}
});
$('#effective_date').on("dp.hide",function(e){
var effective_date = $('#effective_date').val();
var category = $('#category').val();
var apply_month = $('#apply_month').val();
var employee = $('#employees').val();
var from = "effective_date";
if(effective_date){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {effective_date:effective_date,from:from,category:category,employee:employee,apply_month:apply_month};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name."/check_payroll_process"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
toastr.warning(rslt.message);
$('#effective_date').val('');
}else{
if(rslt.readonly){
$('#before').prop('readonly', true);
}else{
$('#before').prop('readonly', false);
}
}
},
});
}
});
/* $('#apply_month_del').on("dp.hide",function(e){
var apply_month_del = $('#apply_month_del').val();
var category_del = $('#category_del').val();
if(apply_month_del){
$.ajax({
type: "POST",
url: '<?php //echo site_url($controller_name."/check_payroll_exist"); ?>',
data: {apply_month_del:apply_month_del,category_del:category_del},
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
toastr.error(rslt.message);
$('#apply_month_del').val('');
}
},
});
}
});*/
$("#delete_all_btn").on('click', function(e){
$('#increment_process').hide();
$('#delete_all').show();
});
$("#back_to_inc").on('click', function(e){
$('#increment_process').show();
$('#delete_all').hide();
});
$("#search_for_delete").on('click', function(e){
$("#search_for_delete").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
var category = $('#category_del').val();
var apply_month = $('#apply_month_del').val();
if(!category){
toastr.warning('Category Required');
return false;
}
if(apply_month){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {category:category,apply_month:apply_month};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name."/get_employees_delete"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#table_holder_del').html(rslt.table_data);
$('#inc_table').DataTable({
language:{
lengthMenu:"<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
searchPlaceholder: "Search records",
search: "",
processing: '<div style="text-align: center; padding: 50px;color:#4b6fa2;z-index:999999999;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</div>',
},
"lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ]
});
$('input[type=search]').addClass('form-control input-sm select2');
$("select[name='table_length']" ).addClass('form-control input-sm');
$("#search_for_delete").html("Search");
}else{
toastr.error(rslt.message);
}
},
});
}
});
$(document).on("click","#select_all",function() {
alert("welcome");
if($("#select_all").prop('checked') == true){
$('input:checkbox').prop('checked', true);
$("#delete_increment").removeAttr("disabled");
}else{
$('input:checkbox').prop('checked', false);
$("#delete_increment").attr('disabled','disabled');
}
});
$(document).on("click","#employees",function() {
// alert("welcome");
var del_id = [];
$.each($("input[name='employees[]']:checked"), function(){
if($(this).val()){
del_id.push($(this).val());
}
});
if(del_id.length > 0){
$("#delete_increment").removeAttr("disabled");
}else{
$("#delete_increment").attr('disabled','disabled');
}
});
$("#employees").change(function(){
var employee_code = $("#employees").val();
if(employee_code != 0){
$("#apply_month").val('');
$('#table_data').html('');
if(employee_code){
$("#apply_month").val('');
$("#apply_month").datetimepicker();
$("#apply_month").datetimepicker("destroy");
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {employee_code:employee_code};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name."/emp_last_transaction"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
if(rslt.start_month){
var start_date = moment(rslt.start_month,'MM-YYYY');
$("#apply_month").datetimepicker({
format: 'MM-YYYY',
minDate: start_date,
//debug: true
});
}else{
$("#apply_month").datetimepicker({
format: 'MM-YYYY',
//debug: true
});
}
}
},
});
}
}
});
});
function process_by_based(employee,effective_date,category,process_by,apply_month,ids){
if(employee){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {employee:employee,effective_date:effective_date,category:category,process_by:process_by,apply_month:apply_month};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/get_lop_days"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#total_lop').val(rslt.lop_days);
}else{
toastr.error(rslt.message);
$('#effective_date').val('');
$("#process_by").val('');
$('#employees').val(null).trigger('change');
}
},
});
}else{
toastr.warning('Please Select the Employee');
$("#process_by").val('');
}
}
function update_table(category,prime_id,value,employee_code,apply_month,column_name){
var new_value = $('#'+column_name).val();
new_value = new_value.replace(/[^0-9_.]/g,'');
var diff_value = new_value - value;
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {prime_id:prime_id,new_value:new_value,diff_value:diff_value,employee_code:employee_code,apply_month:apply_month,category:category};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/update_table"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#table_data').html(rslt.table_data);
$('#inc_table').DataTable({
language:{
lengthMenu:"<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
searchPlaceholder: "Search records",
search: "",
processing: '<div style="text-align: center; padding: 50px;color:#4b6fa2;z-index:999999999;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</div>',
},
"lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ]
});
$('input[type=search]').addClass('form-control input-sm select2');
$("select[name='table_length']" ).addClass('form-control input-sm');
}else{ // [MS 30-08-2024]
toastr.error(rslt.message);
$('#'+column_name).val(value);
}
},
});
}
function save_increment(category,prime_id,employee_code,apply_on,effective_date,after_day,arrear_basic,arrear_gross,process_by){
$("#save_increment").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#save_increment').attr('disabled','disabled');
var column_name = $("input[name='column_name[]']")
.map(function(){return $(this).val();}).get();
var diff_value = $("input[name='diff_value[]']")
.map(function(){return $(this).val();}).get();
var new_value = $("input[name='new_value[]']")
.map(function(){return $(this).val();}).get();
var current_value = $("input[name='current_value[]']")
.map(function(){return $(this).val();}).get();
var arr_for = {};
var key = "";
var val = "";
$('.increment_cal').each(function(){
var key = $(this).attr('id');
var val = $(this).val();
arr_for[key] = val;
});
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {prime_id:prime_id,new_value:new_value,diff_value:diff_value,employee_code:employee_code,apply_on:apply_on,column_name:column_name,effective_date:effective_date,after_day:after_day,arrear_gross:arrear_gross,arrear_basic:arrear_basic,category:category,current_value:current_value,arr_for:arr_for,process_by:process_by};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/save_increment"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
//$('#increment_form')[0].reset();
//location.reload();
toastr.success(rslt.message);
}else{
toastr.error(rslt.message);
}
$('#save_increment').attr('disabled',false);
$("#save_increment").html(" <i class='fa fa-floppy-o' aria-hidden='true'></i> Save Increment");
},
});
}
function delete_increment(category,apply_month){
$("#delete_increment").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
var employees = $("input[name='employees[]']")
.map(function(){return $(this).val();}).get();
var del_id = [];
$.each($("input[name='employees[]']:checked"), function(){
if($(this).val()){
del_id.push($(this).val());
}
});
$('#table_data').html("");
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {category:category,apply_month:apply_month,employees:del_id};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/delete_increment"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
toastr.success(rslt.message);
$("#delete_increment").html("Delete");
$('#table_holder_del').html(rslt.table_data);
$('#inc_table').DataTable({
language:{
lengthMenu:"<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
searchPlaceholder: "Search records",
search: "",
processing: '<div style="text-align: center; padding: 50px;color:#4b6fa2;z-index:999999999;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</div>',
},
"lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ]
});
$('input[type=search]').addClass('form-control input-sm select2');
$("select[name='table_length']" ).addClass('form-control input-sm');
}else{
toastr.error(rslt.message);
$("#delete_increment").html("Delete");
}
},
});
}
</script>
<div class='row title_content'>
<div class='col-md-2 col-xs-4'>
<h1 class='page_txt'><?php echo $page_name;?></h1>
</div>
<div class='col-md-10 col-xs-8'>
<ol class="breadcrumb">
<li><button class="btn btn-xs btn-primary" id='delete_all_btn' title="Delete All"> <span class="fa fa-trash-o"> </span> Delete Increment </button></li>
<!-- <li>
<a class="btn btn-xs btn-primary modal-dlg" data-btn-submit="Submit" data-href="http://localhost/colmanhrms/index.php/increment_import/import" title="Increment Import"> <span class="fa fa-cloud-upload"> </span> Increment Import
</a>
</li> -->
<?php
if($access_import === 1){
$import_url = site_url($controller_name."/import");
$submit = $this->lang->line('common_submit');
echo "<li>
<button class='btn btn-xs btn-primary modal-dlg' data-btn-submit='Submit' data-href='$import_url' title='Import $page_name'> <span class='fa fa-cloud-upload'> </span> Import $page_name</button>
</li>";
}
?>
<li><a href="<?php echo site_url()?>#Home">Home</a></li>
<li><a href="<?php echo site_url($controller_name)?>#<?php echo "$controller_name";?>"><?php echo "$page_name";?></a></li>
<li class="active">List</li>
</ol>
</div>
</div>
<table id="table"></table>
<div id='increment_process'>
<div id="holder" class="form-inline" style="margin-top:20px;">
<div class="row" style='margin-bottom:0px;'>
<div class="col-md-12">
<?php
echo form_open('increment/search_increment_data',array('id'=>'increment_form')); ?>
<div class="form-group">
<?php
echo form_label($this->lang->line('category'), 'category', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'category', 'id' => 'category', 'class' => 'form-control input-sm'), $category_list);
?>
</div>
<div class="form-group">
<?php
echo form_label($this->lang->line('employees'), 'employees', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'employees', 'id' => 'employees', 'class' => 'form-control input-sm select2'), '');
?>
</div>
<div class="form-group">
<?php
echo form_label($this->lang->line('apply_month'), 'apply_month', array('class' => 'required'));
echo form_input(array('name' => 'apply_month', 'id' => 'apply_month', 'class' => 'form-control input-sm datepicker', 'value'=> ''));
?>
</div>
<div class="form-group">
<?php
echo form_label($this->lang->line('effective_date'), 'effective_date', array('class' => 'required'));
echo form_input(array('name' => 'effective_date', 'id' => 'effective_date', 'class' => 'form-control input-sm', 'value'=> ''));
?>
</div>
<div class="form-group">
<?php
$process_by = array(''=> 'Select Process','1'=> 'LOP Days','2'=> 'Paid Days');
echo form_label('Process By', 'process_by', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'process_by', 'id' => 'process_by', 'class' => 'form-control input-sm'), $process_by);
?>
</div>
<div class="form-group">
<?php
echo form_label('Total Days', 'total_lop', array('class' => 'required'));
echo form_input(array('name' => 'total_lop', 'id' => 'total_lop', 'class' => 'form-control input-sm','readonly' => true, 'value'=> ''));
?>
</div>
<div class="form-group">
<?php
echo form_label($this->lang->line('before'), 'before', array('class' => 'required'));
echo form_input(array('name' => 'before', 'id' => 'before', 'class' => 'form-control input-sm number', 'value'=> ''));
?>
</div>
<div class="form-group">
<?php
echo form_label($this->lang->line('after'), 'after', array('class' => 'required'));
echo form_input(array('name' => 'after', 'id' => 'after', 'class' => 'form-control input-sm number', 'value'=> ''));
?>
</div>
<div class="form-group">
<button class='btn btn-primary btn-xs' id="search"><i class='fa fa-eye'></i> View</button>
</div>
<?php echo form_close(); ?>
</div>
</div>
</div>
<div id="table_data">
</div>
</div>
<div id='delete_all' style="display: none;">
<div id="holder" class="form-inline">
<div class="row" style='margin: 8px;'>
<button style="margin: 8px;" class="btn btn-xs btn-primary" id='back_to_inc' title="Back to Increment"> <span class="fa fa-arrow-left"> </span> Back to Increment
</button>
<div class="col-md-12">
<div class="form-group">
<?php
echo form_label($this->lang->line('category'), 'category', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'category_del', 'id' => 'category_del', 'class' => 'form-control input-sm'), $category_list);
?>
</div>
<div class="form-group">
<?php
echo form_label($this->lang->line('apply_month'), 'apply_month', array('class' => 'required'));
echo form_input(array('name' => 'apply_month_del', 'id' => 'apply_month_del', 'class' => 'form-control input-sm datepicker', 'value'=> ''));
?>
</div>
<div class="form-group">
<button class='btn btn-primary btn-sm' id="search_for_delete">Search</button>
</div>
</div>
</div>
</div>
<div id="table_holder_del">
</div>
</div>
<?php $this->load->view("partial/footer"); ?>
<style>
.bootstrap-table{
display:none;
}
body{
overflow-x: hidden !important;
}
</style>