File: /home/cafsindia/uds.cafsinfotech.in/application/views/process_payroll_fms/manage_18mar23.php
<?php
$this->load->view("partial/header");
$page_name = ucwords(str_replace("_"," ",$controller_name));
$prime_id = "prime_".$controller_name."_id";
$breadcrumb .="<li><a href='$site_url#Home'>Home</a></li>
<li><a href='".site_url($controller_name)."#$controller_name'>$page_name</a></li>
<li class='active'>List</li>";
?>
<style type="text/css">
.form-inline .form-group {
display: inline-block;
vertical-align: middle;
margin-left: 30px;
margin-bottom: 10px;
width: 16.5%;
}
div#table_filter{
display: inline-table !important;
}
div.dt-buttons {
position: relative;
float: right;
}
.display th, .display td {
white-space: nowrap !important;
max-width: 500px !important;
}
table.dataTable tr th:nth-child(1),table.dataTable tr td:nth-child(1){
position: sticky !important;
left: 0px;
width: 0px;
min-width: 0px;
}
table.dataTable tr th:nth-child(2),table.dataTable tr td:nth-child(2){
position: sticky !important;
left: 111px;
width: 80px;
min-width: 80px;
}
table.dataTable tr td:nth-child(1),table.dataTable tr td:nth-child(2) {
background-color: #f2f2f2;
}
</style>
<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">
<?php echo $breadcrumb; ?>
</ol>
</div>
</div>
<div id="toolbar" class="form-inline">
<?php
$error_info = "";
if($payroll_filter_setting[0]) {
?>
<div class="col-md-12">
<?php echo form_open("$controller_name/process_payroll_fms/",array("id"=>"process_payroll_fms","class"=>"form-inline")); ?>
<div class="form-group">
<?php
echo form_label('Select Month', 'process_month', array('class' => 'required'));
echo form_input(array('name' => 'process_month', 'id' => 'process_month', 'class' => 'form-control input-sm datepicker','placeholder' => 'Process Month', 'value'=>''));
$validation_rule .= "process_month:{required: true },";
?>
</div>
<?php
foreach($payroll_filter_setting as $setting){
$prime_module_id = "employees";
$prime_form_id = (int)$setting->prime_form_id;
$label_id = $setting->label_name;
$label_name = ucwords($setting->view_name);
$field_type = (int)$setting->field_type;
$pick_list_type = (int)$setting->pick_list_type;
$pick_list = $setting->pick_list;
$pick_table = $setting->pick_table;
$pick_display = $setting->pick_display_value;
$pick_list_import = (int)$setting->pick_list_import;
$mandatory_col = (int)$setting->mandatory_column;
$auto_prime_id = $setting->auto_prime_id;
$auto_dispaly_value = $setting->auto_dispaly_value;
$depen_pick_list = (int)$setting->dependent_pick_list;
$depen_pick_input = $setting->dependent_pick_input;
$table_column1 = $setting->table_column1;
$table_column2 = $setting->table_column2;
$required = "";
// $readonly = "";
//VALIDATION checking to added for mandatory fields only
if($label_id && $mandatory_col === 1){
$validation_rule .= "$label_id:{required: true },";
$required = " required";
}
$form_label_ids .= "#$label_id,";
//FOR FORM LABEL
$form_label = form_label($label_name, $label_id, array('class' => "control-label$required"));
//PICKLIST
if((int)$field_type === 5){
//PICKLIST FORM INPUT
$drop_down_array = array("name" => $label_id,"id" => $label_id,"class" =>'form-control input-sm select2', $readonly => true);
$form_dropdown = form_dropdown($drop_down_array,$payroll_filter_pick_column[$label_id]);
echo $input_box = "<div class='form-group'>$form_label $form_dropdown</div>";
}else
//AUTOCOMPLETE
if((int)$field_type === 9){
//AUTO COMPLETE FORM INPUT
$hidden_id = $label_id."_hidden_".$prime_form_id;
$form_input = form_input(array("name"=>$hidden_id, "id"=>$hidden_id,"value"=>'',"placeholder"=>"Search ".$label_name, "class"=>"form-control input-sm"));
$hidden_input = form_input( array("name"=>$label_id, "id"=>$label_id,"value"=>"","type"=>"hidden"));
echo $input_box = "<div class='form-group'>$form_label $name_append $hidden_input $form_input <div class='append_div'></div></div>";
}
//depend picklist
if((int)$field_type === 5){
$get_depend = json_encode($get_depend_prime_id);
if($depen_pick_list === 1){
$new_span = $label_id.'_span';
$dep_url = site_url("$employees/dependent_data_set");
//DR CODE FOR EDIT BUTTON CLICK AFTER DEPENDENT DROPDOWN FETCH(UPDATE)
$document_load_script .= "var depen_select_val = $('#$depen_pick_input').val();
if(depen_select_val){
$.ajax({
url: '$dep_url',
type: 'post',
data: {prime_module_id:'$prime_module_id',depen_select:depen_select_val,depen_pick_input:'$depen_pick_input',table_column1:'$table_column1',table_column2:'$table_column2',label_id:'$label_id',pick_table:'$pick_table',pick_list:'$pick_list',pick_display_val:'$pick_display_val'},
beforeSend: function () {
$('#$label_id').next('span').attr('id', '$new_span');
$('#$new_span').html('<span style=\"color:#CC3366\";><i class=\"fa fa-spinner fa-spin fa-2x fa-fw\"></i><br/>Loading...</span>');
},
success: function(result_data){
$('#$new_span').empty();
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
//dropdownParent: $('.modal-dialog')
});
var select_data = $('#$label_id').val();
$('#$label_id').html(result_data);
$('#$label_id').val(select_data);
}
});
}\n";
//DR CODE FOR DEPENDENT ON CHANGE CONDITION
$document_load_script .= "$('#$depen_pick_input').change(function(e) {
var depen_select_val = $('#$depen_pick_input').val();
$.ajax({
url: '$dep_url',
type: 'post',
data: {prime_module_id:'$prime_module_id',depen_select:depen_select_val,depen_pick_input:'$depen_pick_input',table_column1:'$table_column1',table_column2:'$table_column2',label_id:'$label_id',pick_table:'$pick_table',pick_list:'$pick_list',pick_display_val:'$pick_display_val'},
beforeSend: function () {
$('#$label_id').next('span').attr('id', '$new_span');
$('#$new_span').html('<span style=\"color:#CC3366\";><i class=\"fa fa-spinner fa-spin fa-2x fa-fw\"></i><br/>Loading...</span>');
},
success: function(result_data){
$('#$new_span').empty();
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
//dropdownParent: $('.modal-dialog')
});
var get_depend = JSON.parse('$get_depend');
$.each(get_depend, function(key, value) {
var label_id = '$label_id';
var depand_val = value['dependent_pick_input'];
var depand_prime= value['prime_form_id'];
if((depand_val) && ('$depen_pick_input' !== key)){
var depand_prime_id = key+'_hidden_'+depand_prime;
$('#'+key).html('');
$('#'+key).val('');
$('#'+depand_prime_id).val('');
}
});
$('#$label_id').val('');
$('#$label_id').html(result_data);
}
});
});\n";
}else
if($depen_pick_list === 2){
$depen_pick_inputs = '#'.$label_id;
$document_load_script .= "$(document).on('change', '$depen_pick_inputs',function(){
var get_depend = JSON.parse('$get_depend');
$.each(get_depend, function(key, value) {
var label_id = '$label_id';
var depand_val = value['dependent_pick_input'];
var depand_prime= value['prime_form_id'];
if((depand_val) && ('$depen_pick_input' !== key)){
var depand_prime_id = key+'_hidden_'+depand_prime;
var depen_key_val = '';
if('$label_id' === depand_val){
$('#'+key).val('');
$('#'+depand_prime_id).val('');
var depen_key_val = key;
}
$.each(get_depend, function(keys, values) {
var depand_vals = values['dependent_pick_input'];
if((depen_key_val === depand_vals) && depen_key_val !== ''){
var depand_labels = get_depend[keys]['prime_form_id'];
var depand_keys = keys+'_hidden_'+depand_labels;
$('#'+depand_keys).val('');
$('#'+keys).val('');
}
});
select_option();
}
});
});\n";
}
}else//ON-LOAD SCRIPT FOR SINGLE AUTOCOMPLET BOX
if((int)$field_type === 9){
$hidden_id = $label_id."_hidden_".$prime_form_id;
$auto_id = "#$label_id";
$auto_url = site_url("$controller_name/suggest?prime_form_id=$prime_form_id");
$get_depend = json_encode($get_depend_prime_id);
$hidden_id = $label_id."_hidden_".$prime_form_id;
$depend_hidden_id = $depen_pick_input."_hidden_";
$auto_id = "#$label_id";
$auto_url = site_url("employees/suggest");
$fetch_picklist = site_url("employees/fetch_picklist");
if($label_id !== "wbs_element"){
$document_load_script .= "$('#$hidden_id').autocomplete({
minChars:2,
autoFocus: true,
delay:10,
appendTo: '.append_div',
source: function (request, response) {
var get_depend = JSON.parse('$get_depend');
$.each(get_depend, function(key, value) {
var label_id = '$label_id';
var depand_val = value['dependent_pick_input'];
if(depand_val){
if(label_id === depand_val){
var depand_label = get_depend[key]['prime_form_id'];
var depand_key = key+'_hidden_'+depand_label;
$('#'+depand_key).val('');
$('#'+key).val('');
select_option();
$.each(get_depend, function(keys, values) {
var depand_vals = values['dependent_pick_input'];
if(depand_vals){
if(key === depand_vals){
var depand_labels = get_depend[keys]['prime_form_id'];
var depand_keys = keys+'_hidden_'+depand_labels;
$('#'+depand_keys).val('');
$('#'+keys).val('');
}
}
});
}
}
});
var depen_pick_input = '$depen_pick_input';
if(depen_pick_input){
var depend_hidden_id = get_depend['$depen_pick_input']['prime_form_id'];
if(depend_hidden_id){
// var depend_id = '$depend_hidden_id'+depend_hidden_id;
var depend_id = '$depen_pick_input';
}
}
$.ajax({
url : '$auto_url',
type: 'get',
data: {term:request.term,prime_module_id:'$prime_module_id',depen_select:$('#'+depend_id).val(),depen_pick_input:'$depen_pick_input',table_column1:'$table_column1',table_column2:'$table_column2',label_id:'$label_id',pick_table:'$pick_table',pick_list:'$pick_list',pick_display_val:'$pick_display_val',prime_form_id:'$prime_form_id',depen_pick_list:'$depen_pick_list',depend_hidden_id:depend_hidden_id},
success: function (data) {
var rslt = JSON.parse(data);
response($.map(rslt, function (el) {
if(el.value === '0'){
$('#$hidden_id').val('');
}else{
return {
value: el.value,
label: el.label,
display_name:el.display_name
};
}
}));
}
});
},
select: function(e, ui) {
e.preventDefault();
$('$auto_id').val(ui.item.value);
$('#$hidden_id').val(ui.item.display_name);
var get_depend = JSON.parse('$get_depend');
var depand_lab_val = [];
$.each(get_depend, function(key, value) {
var depand_val = value['dependent_pick_input'];
if('$label_id' === depand_val){
var depand_lab= get_depend[key]['prime_form_id'];
depand_lab_val.push(depand_lab);
}
});
if(parseInt(depand_lab_val.length) >0){
var label_value = $('#$label_id').val();
$.ajax({
url : '$fetch_picklist',
type: 'post',
data: {depand_lab_val:depand_lab_val,label_id:'$label_id',label_value:label_value,prime_form_id:'$prime_form_id'},
success: function (data) {
var rslt = JSON.parse(data);
var dropdown_list = rslt['dropdown_list'];
$.each(dropdown_list, function(key, value) {
$('#'+key).empty();
var option = '<option value>--- Select'+key+'---</option>';
$.each(value, function(keys, values) {
option += '<option value='+keys+'>' + values + '</option>';
});
$('#'+key).append(option);
});
//this input only for uds by dhinesh 25jul22
if(rslt.project_id || rslt.network_id){
if(rslt.project_id){
$('#project_id').val(rslt.project_id);
}
if(rslt.network_id){
$('#network_id').val(rslt.network_id);
}
select_option();
}
}
});
}
},
change: function(event, ui) {
if (ui.item === null || ui.item === '' || ui.item === 'null') {
$('$auto_id').val('');
$('#$hidden_id').val('');
}
}
});\n";
}
}
}
if($validation_rule){
$validation_rule .= "search_month:{required: true },";
// $validation_rule = rtrim($validation_rule,',');
}
?>
<div class="form-group">
<?php
echo form_label("Employee Code", 'process_emp_code', array('class' => ''));
echo form_input( array("name"=>"process_emp_code", "id"=>"process_emp_code","value"=>"","type"=>"hidden"));
echo form_input(array("name"=>"process_emp_code_auto", "id"=>"process_emp_code_auto","value"=>'',"placeholder"=>"Search Employee Code", "class"=>"form-control input-sm ui-autocomplete-input"));
echo "<div class='emp_append_div'></div>";
?>
</div>
<div class="form-group">
<?php //,"1"=>"Process Payroll"
if((int)$this->logged_role === 1){
$process_mode = array(""=>"---- Select Type ----","3"=>"View Payroll","2"=>"Delete Payroll");
// "1"=>"Process Payroll",
}else{
$process_mode = array(""=>"---- Select Type ----","3"=>"View Payroll","2"=>"Delete Payroll");
}
echo form_label("Process Mode", 'process_mode', array('class' => 'required'));
echo form_dropdown(array("name" =>'process_mode',"id" =>'process_mode',"class" =>'form-control input-sm select2'),$process_mode);
$validation_rule .= "process_mode:{required: true }";
?>
</div>
<div class="form-group">
<button class='btn btn-primary btn-sm' id="process_payroll_btn">Submit</button>
</div>
<?php
echo form_close();
}else{
$error_info = "toastr.error('To First Map a Filter Column in Payroll FMS Settings Module');";
}
$form_label_ids = rtrim($form_label_ids,",");
?>
</div>
</fieldset>
</div>
<div style='padding:10px;overflow: auto !important; margin:15px; margin-bottom:0px;' id='rslt_info'>
</div>
<script type="text/javascript">
$(document).ready(function (){
//error through for payroll fms filter not mapping
<?php echo $error_info; ?>
<?php
echo "$document_load_script";
?>
toastr.options.fadeOut = 3000;
select_option();
$(function (){$(".datepicker").datetimepicker({format: 'MM-YYYY',});});
var form_label_ids = <?php echo '"'.$form_label_ids.'"';?>;
$("#process_month").on('dp.hide',function(){
var process_month = $("#process_month").val();
var fetch_input = "personal_code";
if(process_month){
pro_mon_payroll_data(process_month,fetch_input);
}else{
toastr.error("Porcess Month should not Empty.!");
return false;
}
});
//DR CODE FOR PROJECT ID FETCH BASED ON SEARCH MONTH AND PERSONAL CODE
$('#personal_code').on("change",function(e){
let personal_code = $('#personal_code').val();
let process_month = $('#process_month').val();
project_id_fetch(process_month,personal_code);
});
$('#project_id').on("change",function(e){
$('#wbs_element,#wbs_element_hidden_1944,#process_emp_code,#process_emp_code_auto').val('');
});
//WBS autocomplete box
$('#wbs_element_hidden_1944').autocomplete({
minChars:3,
autoFocus: true,
delay:5,
appendTo: '.append_div',
source: function (request,response) {
var process_month = $('#process_month').val();
var personal_code = $('#personal_code').val();
var project_id = $('#project_id').val();
if(request.term.length >= 2){
$.ajax({
url: '<?php echo site_url("$controller_name/get_wbs"); ?>',
type: 'get',
data: {term:request.term,process_month:process_month,personal_code:personal_code,project_id:project_id},
success: function (data) {
var rslt = JSON.parse(data);
response($.map(rslt, function (el) {
if(el.value === '0'){
$('#wbs_element_hidden_1944,#process_emp_code_auto').val('');
}else{
return {
value: el.value,
label: el.label,
display_name:el.display_name,
};
}
}));
if($('#wbs_element_hidden_1944').val() === ''){
$('#process_emp_code_auto').val('');
}
}
});
}
},
select: function(e, ui) {
e.preventDefault();
$('#wbs_element').val(ui.item.value);
$('#wbs_element_hidden_1944').val(ui.item.display_name);
},
change: function(event, ui) {
if (ui.item === null || ui.item === '' || ui.item === 'null') {
$('#wbs_element,#wbs_element_hidden_1944,#process_emp_code,#process_emp_code_auto').val('');
}
}
});
//EMPLOYEE CODE autocomplete box
$('#process_emp_code_auto').autocomplete({
minChars:3,
autoFocus: true,
delay:5,
appendTo: '.emp_append_div',
source: function (request, response) {
var process_month = $('#process_month').val();
var personal_code = $('#personal_code').val();
var project_id = $('#project_id').val();
var wbs_element = $('#wbs_element').val();
if(request.term.length >= 2){
$.ajax({
url: '<?php echo site_url("$controller_name/get_emp_code"); ?>',
type: 'get',
data: {term:request.term,process_month:process_month,project_id:project_id,wbs_element:wbs_element,personal_code:personal_code},
success: function (data) {
var rslt = JSON.parse(data);
// if(rslt.success){
response($.map(rslt, function (el) {
if(el.value === '0'){
$('#process_emp_code_auto').val('');
}else{
return {
value: el.value,
label: el.label,
display_name:el.display_name,
};
}
}));
// }
// else{
// $('#process_emp_code_auto').val('');
// }
}
});
}
},
select: function(e, ui) {
e.preventDefault();
$('#process_emp_code').val(ui.item.value);
$('#process_emp_code_auto').val(ui.item.display_name);
},
change: function(event, ui) {
if (ui.item === null || ui.item === '' || ui.item === 'null') {
$('#process_emp_code,#process_emp_code_auto').val('');
}
}
});
$('#process_payroll_fms').validate($.extend({
ignore: ".ignore",
rules:{
<?php echo $validation_rule; ?>
},
submitHandler: function (form){
$("#process_payroll_btn").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('.myProgress').show();
$('#process_payroll_btn').attr('disabled','disabled');
$(form).ajaxSubmit({
cache: false,
success: function (response){
$('.myProgress').hide();
$("#loader").css("display", "none");
$('#process_payroll_btn').attr('disabled',false);
$("#process_payroll_btn").html("Submit");
if(response.table_content){
$("#rslt_info").css("display", "block");
$("#rslt_info").html(response.table_content);
$('#detail_list').DataTable({
destroy: true,
ordering: false,
processing: true,
lengthMenu: [[10,25,50,100,500,-1],[10,25,50,100,500,"All"]],
language:{
searchPlaceholder: "Search",
search: "",
},
dom: 'Blfrtip',
scrollX:true,
scrollY:'300px',
buttons: [{
// float:none;
text:'left',
title: 'Payroll Report_'+ moment(new Date()).format('DD-MM-YYYY'),
extend: 'collection',
text: 'Export',
buttons: [
{extend:'excel',exportOptions:{modifier:{order :'index',page: 'All',search:'none'},columns: ':not(:first-child)'}},
]
}],
});
}else{
$("#rslt_info").css("display", "none");
}
$('input[type=search]').addClass('form-control input-sm');
if(response.success){
toastr.success(response.message);
}else{
toastr.error(response.message);
}
},
dataType: 'json'
});
}
}));
});
function select_option(){
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
// dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
}
//PROCESS MONTH BASED PERSONAL AREA OR EMPLOYEE CODE GET
function pro_mon_payroll_data(process_month,fetch_input){
$("#"+fetch_input).html('');
//PROCESS BY ALL NOT EMPLOYEE WISE
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name ."/pro_mon_payroll_data"); ?>',
data: {process_month:process_month},
beforeSend: function () {
$('#'+fetch_input).next('span').attr('id', fetch_input+'_span');
$('#'+fetch_input+'_span').html('<span style=\"color:#CC3366\";><i class=\"fa fa-spinner fa-spin fa-2x fa-fw\"></i><br/>Loading...</span>');
},
success: function(data) {
let rslt = JSON.parse(data);
let option = '<option value>--- Select ---</option>';
$.each(rslt, function(key, value) {
if(fetch_input === 'personal_code'){
if(value.personal_code){
option += '<option value = '+value.personal_code+'>'+value.personal_code+' - '+value.personal_name+'</option>';
}
}
});
$('#'+fetch_input+'_span').empty();
$('#'+fetch_input).html(option);
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
//dropdownParent: $('.modal-dialog')
});
},
});
}
//PROJECT ID FETCH DEPENDES ON PERSONAL CODE
function project_id_fetch(process_month,personal_code){
$('#project_id').html('');
$('#project_id,#wbs_element,#wbs_element_hidden_1944,#process_emp_code_auto').val('');
if(process_month && personal_code){
$.ajax({
type: 'POST',
url: '<?php echo site_url("$this->control_name/project_id_fetch");?>',
data:{personal_code:personal_code,process_month:process_month},
beforeSend: function () {
$('#project_id').next('span').attr('id', 'project_id_span');
$('#project_id_span').html('<span style=\"color:#CC3366\";><i class=\"fa fa-spinner fa-spin fa-2x fa-fw\"></i><br/>Loading...</span>');
},
success: function(data){
let rslt = JSON.parse(data);
let option = '<option value>--- Select Project---</option>';
$.each(rslt, function(key, value) {
option += '<option value='+value.pro_id+'>'+value.pro_id+' - '+value.pro_desc+'</option>';
});
$('#project_id_span').empty();
$('#project_id').html(option);
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
//dropdownParent: $('.modal-dialog')
});
}
});
}
}
</script>
<?php $this->load->view("partial/footer"); ?>