MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/hrms_cafsinfotech_in/OLD/application_bk/views/increment/import.php
<?php  echo form_open("$controller_name/save_inc_import/",array("id"=>'save_inc_import',"class"=>"form-inline")); ?>
	<fieldset id='FundBasicInfo' style='margin:0px;padding:8px;'>
		<div class="form-group">
			<?php
				echo form_input( array('name'=>'module_id', 'id'=>'module_id', 'type'=>'Hidden','value'=>$module_id));
				echo form_label($this->lang->line('category'), 'import_category', array('class' => 'required'));
				echo form_dropdown(array( 'name' => 'import_category', 'id' => 'import_category', 'class' => 'form-control input-sm'), $category_list);
			?>
		</div>
		<div class="form-group">
			<?php
				echo form_label("Template Name", 'template_name', array('class' => 'required'));
				echo form_dropdown(array( 'name' => 'template_name', 'id' => 'template_name', 'class' => 'form-control input-sm'), $temp_format_drop);
			?>
		</div>
		<div class="form-group">
			<?php
				echo form_label($this->lang->line('apply_month'), 'imp_apply_month', array('class' => 'required'));
				echo form_input(array('name' => 'imp_apply_month', 'id' => 'imp_apply_month', 'class' => 'form-control input-sm datepicker',  '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($this->lang->line('excel_select_file'), 'excel_select_file', array('class' => 'required')); 
				echo form_upload(array('name' => 'excel_select_file','id' => 'excel_select_file','class' => 'form-control input-sm','value' =>'','accept' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,text/comma-separated-values, text/csv, application/csv' ));
			?>
			<a id="link" style="display: none;" href="#" title='Export All Data'><span class="fa fa-user-exit">&nbsp</span> Export Mapping Format </a>
			<input type='hidden' id='excel_file_path' name='excel_file_path' value=''>
			<span id='loader' style='color:#CC3366'></span>
		</div>
		<div class="form-group">
			<?php
				echo form_label("Excel Sheet Name", 'excel_sheet_name', array('class' => 'required')); 
				echo form_dropdown(array( 'name' => 'excel_sheet_name', 'id' => 'excel_sheet_name', 'class' => 'form-control input-sm'), $excel_sheet_name);
			?>
		</div>
		<div class="form-group">
			<?php
				echo form_label("Excel Start Row", 'excel_start_row', array('class' => 'required')); 
				echo form_input(array( 'name' => 'excel_start_row', 'id' => 'excel_start_row', 'class' => 'form-control input-sm number', 'value' => '1'));
			?>
		</div>
		<div class="form-group">
			<?php
				echo form_label("Excel End Row", 'excel_end_row', array('class' => '')); 
				echo form_input(array( 'name' => 'excel_end_row', 'id' => 'excel_end_row', 'class' => 'form-control input-sm number', 'value' => ''));
			?>
		</div>
	</fieldset>
	<div id="view_status"></div>
<?php echo form_close();?>
<hr class="left"/>
<p style="color:blue;margin-left:10px;">Please map the date format like this (DD-MM-YYYY) only...</p>
<div id='table_info' style='padding:8px;overflow: auto;'>
</div>
<script type="text/javascript">
$(document).ready(function(){

	//path redirect to increment controller
	var url = "<?php echo site_url('/increment/'); ?>";
	//Datepicker
	$(function(){
		$(".datepicker").datetimepicker({
			format: 'MM-YYYY'
		});
		$("#effective_date").datetimepicker({
			format: 'DD-MM-YYYY'
		});
	});
	
	var send_url = '<?php echo base_url("$controller_name/import_file");?>';
	$('#save_inc_import').validate($.extend({
		submitHandler: function (form){
			//Encrypted
			let formData   = new FormData(form);
			// Convert FormData to JSON object
			let jsonData   = Object.fromEntries(formData.entries());
			var key        = '<?php echo $encKey; ?>';
			<?php echo $json_multi; ?>;
			var encData    = encrypt(key,jsonData);
			$("#submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
			$('#submit').attr('disabled','disabled');
			$.ajax({
				url         : $(form).attr('action'), 
				type        : 'POST',
				contentType : 'text/plain', 
				data        : encData,
				success: function (response){
					$('#submit').attr('disabled',false);
					$("#submit").html("Submit");
					$("#excel_select_file").val("");
					$("#excel_sheet_name").html("");
					if(response.success){
						toastr.success(response.message);
						$('#view_status').html(response.table_data);
						//window.location.assign(url);
						//$('.modal').modal('toggle');
					}else{
						toastr.error(response.message);
						$('#view_status').html(response.table_data);
						//window.location.assign(url);
						//$('.modal').modal('toggle');
					}					
				},
				dataType: 'json'
			});
		},
		rules:{
			apply_month  : "required",
			template_name  : "required",
			import_category: "required",
			process_by: "required",
			excel_select_file: "required",
			excel_sheet_name: "required",
			excel_start_row:{
				required: true,
				min:1,
				number:true,
			},
		}
	}));
	
//Excel file Onchange
	$('#excel_select_file').change(function() {
		$("#loader").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
		$('#submit').attr('disabled','disabled');
			var file_data     = $('#excel_select_file').prop('files')[0];
		if(file_data){
			var fileName  = file_data.name;
			var size      = file_data.size;
			var key       = '<?php echo $encKey; ?>';
			var encData   = encrypt(key,{send_from:'<?php echo $controller_name; ?>',send_for:'import',fileName:fileName,size:size});
			var form_data = new FormData();
			form_data.append('excel_select_file', file_data);			
			form_data.append('Payload', encData);
			$.ajax({
				url: send_url,
				cache: false,
				contentType: false,
				processData: false,
				data: form_data,
				type: 'post',
				success: function(result_data){
					$("#loader").html("");
					$('#submit').attr('disabled',false);
					var rslt = JSON.parse(result_data);
					if(rslt['success']){
						$('#excel_file_path').val(rslt['path']);
						get_excel(rslt['path']);
					}else{
						toastr.error(rslt['msg']);
					}
				}
			});
		}else{
			toastr.error('Please select file to upload');
			$("#loader").html("");
			$('#submit').attr('disabled',false);
		}
	});
	
	$('#import_category').change(function() {
		$("#imp_apply_month").val('');
		$("#imp_apply_month").datetimepicker();
		$("#imp_apply_month").datetimepicker("destroy");
		var category = $('#import_category').val();
		$.ajax({
			url: '<?php echo site_url("$controller_name/check_template_details");?>',
			type: 'post',
			data: {category:category},
			success: function(data){
				var rslt = JSON.parse(data);
				console.log(rslt);
				var option = "<option value=''>-- Select Template --</option>";
				for(i = 0; i < rslt.sel_result.length; i++) {
					template_id   = rslt.sel_result[i].prime_inc_temp_setting_id;
					temp_name     = rslt.sel_result[i].template_name;
					option += "<option value='"+template_id+"'>"+temp_name+"</option>";
				}
				$("#template_name").html(option);
				var start_date = moment(rslt.start_month,'MM-YYYY');
				if(start_date){
					$("#imp_apply_month").datetimepicker({
						format: 'MM-YYYY',
						minDate: start_date,
						//debug: true
					});	
				}
			}
		});
	});
	
	$('#imp_apply_month').on("dp.hide",function (e) {
		var apply_month    = $('#imp_apply_month').val();
		if(apply_month){
			$.ajax({
				type: "POST",
				url: '<?php echo site_url($controller_name . "/check_payroll_process"); ?>',
				data: {apply_month:apply_month},
				success: function(data){
					var rslt = JSON.parse(data);	
					if(rslt.success){
						toastr.warning(rslt.message);
						$('#imp_apply_month').val('');
					}	
				},
			});
		}						
	});

	$("#template_name").change(function(){
		var module_id       = $('#module_id').val();
		var excel_format    = $('#template_name').val();
		var category        = $('#import_category').val();
		var controller_name = '<?php echo $controller_name; ?>';
		var key             = '<?php echo $encKey; ?>'; 
		var Payload         = encodeURIComponent(window.btoa(encrypt(key,{module_id:module_id,excel_format:excel_format})));
		if(template_name){
			$('#link').show();
			$('#link').attr("href","index.php/<?php echo $controller_name; ?>/inc_excel/"+Payload);
		}else{
			$('#link').hide();
		}	
	
	});
});

function get_excel(file_path){	
	if(file_path){
		var key        = '<?php echo $encKey; ?>';
		var encData    = encrypt(key,{file_path:file_path});
		var import_url = '<?php echo site_url("$controller_name/sheet_name");?>'
		$.ajax({
			type: 'POST',
			url: import_url,
			contentType : 'text/plain',
			data:encData,
			success: function(data) {
				var rslt = JSON.parse(data);
				var option = "<option value=''>-- Select Sheet Name --</option>";
				for(i = 0; i < rslt.sheet_name.length; i++) {
					sheet_name = rslt.sheet_name[i];
					option += "<option value='"+i+"'>"+sheet_name+"</option>";
				}
				$("#excel_sheet_name").html(option);
			}
		});
	}
}

/* CHECK CELL VALUES ALREADY EXIT START */
function map_check(sel_val){
	var mapped_vals = $("select[id='excel_line_value[]']").map(function(){return $(this).val();}).get();
	var count = 0;
	$.each(mapped_vals,function(i){
		if(sel_val.value === mapped_vals[i]){
			count ++;
		}
	});
	if(count > 1){
		toastr.error("Cell value Already Exist");
		$(sel_val).val('');
	}
}
/* CHECK CELL VALUES ALREADY EXIT END */
</script>
<style>
hr.left {
	text-align: left;
	margin-left:10px;
	width: 5%;
	border: 0.5px solid blue;
	margin-bottom: 5px;
}
</style>