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/application_bk14FEB2026/views/declartion_entry/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";
	$start_date     =  $financial_info[0]->start_date;
	$end_date       =  $financial_info[0]->end_date;
	$category       = $this->session->userdata('logged_role');
	$employee_code  = $this->session->userdata('logged_emp_code');
	$user_role      = $this->session->userdata('logged_user_role');	
	//house rent entry link
	$url = site_url("house_rent_entry");
?>
<script type="text/javascript">
    $(document).ready(function (){
        <?php $this->load->view('partial/bootstrap_tables_locale'); ?>
		$(function(){
			$(".datepicker").datetimepicker({
				format: 'MM-YYYY'
			});
		});
		$('#section_details').hide();
		
		//Date validation of change this updates
		<?php if(!empty($start_date)){ ?>
			$("#effective_month").datetimepicker({
				format: 'MM-YYYY',
				minDate: moment('<?php echo $start_date; ?>'),
				maxDate: moment('<?php echo $end_date; ?>')
			});
			$("#imp_effective_month").datetimepicker({
				format: 'MM-YYYY',
				minDate: moment('<?php echo $start_date; ?>'),
				maxDate: moment('<?php echo $end_date; ?>')
			});
		<?php } ?>

		var user_role    = '<?php echo $user_role; ?>';
		var tax_type     = '<?php echo $income_tax_type; ?>';
    	if(parseInt(user_role) !== 1 && parseInt(user_role) !== 4 && parseInt(user_role) !== 12){
			$('#category,#emp_code').attr('readonly','readonly');
			$('#income_tax_type').val(tax_type);
		}
		if(parseInt(user_role) === 1 || parseInt(user_role) === 4 || parseInt(user_role) === 12){
			var category = $('#category').val();
			if(category){
				get_employee_list(category);
				$('#category').val(category);
				select_call();
			}
		}
	    
		// if(emp_code){
		// 	var category = $("#category").val();
		// 	if(category === ""){
		// 		toastr.error("Category Column Should not Empty!");
		// 	}else{
		// 		get_sec_sub_list(emp_code);
		// 	}		
		// 	select_call();
		// }
		$(function(){
			$('.select2').select2({
				placeholder: '---- Select ----',
			});
			$('.select2-tags').select2({
				tags: true,
				tokenSeparators: [',']
			});
		});
		$("#category").on('change', function(e){
			var category = $("#category").val();
			get_employee_list(category);
		});		

		$("#emp_code").on('change', function(e){
			var emp_code = $("#emp_code").val();
			get_income_tax_type(emp_code);
		});					
		$(document).on("click","#save_declaration",function(){	
			var tds_type           = $("#income_tax_type").val();
			var emp_code           = $("#emp_code").val();
			var category           = $("#category").val();
			var effective_month    = $('#effective_month').val();
			var tax_senior_citizen = $('#tax_senior_citizen').val();	
			var house_rent_val     = $('#tax_house_rent').val();
			var pan_card_no        = $('#pan_card_no').val();
			var lendor_pan_card_no = $('#lendor_pan_card_no').val();
			var housing_loan       = $('#taxsubsec_21').val();
			var regex              = /[A-Z]{5}[0-9]{4}[A-Z]{1}$/;
			var pan_amt            = '<?php echo $financial_info[0]->landlord_pan_amt; ?>';
			//VALIDATIONS
			if(pan_card_no && !regex.test(pan_card_no)){ //LANDLORD PAN
				$("#pan_card_no").val('');
				toastr.error("Please Enter Valid Landlord Pan No");
				return regex.test(landlord_pan_card_no);
			}
			if(lendor_pan_card_no && !regex.test(lendor_pan_card_no)){ //LENDOR PAN
				$("#lendor_pan_card_no").val('');
				toastr.error("Please Enter Valid Lendor Pan No");
				return regex.test(lendor_pan_card_no);
			}
			if(parseInt(house_rent_val) >= parseInt(pan_amt) && !pan_card_no){
				toastr.error("Please Enter Landlord PAN Card No");
				return false;
			}	
			if(parseInt(housing_loan) && !lendor_pan_card_no){
				toastr.error("Please Enter Lendor PAN Card No");
				return false;
			}	
			//var declaration_data = JSON.stringify($("#declaration_form").serializeArray());
			let formData           = new FormData($('#declaration_form')[0]);
			// Convert FormData to JSON object
			let jsonData           = Object.fromEntries(formData.entries());
			if(tds_type){
				$("#save_declaration").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
				$('#save_declaration').attr('disabled','disabled');
				var encKey     = '<?php echo $encKey; ?>';
				var encData = encrypt(encKey,jsonData);
				$.ajax({
					type: "POST",
					url: '<?php echo site_url($controller_name . "/save_section"); ?>',
					data:encData,
					contentType: 'text/plain',
					success: function (data) {
						var rslt = JSON.parse(data);
						if(rslt.success){
							toastr.success(rslt.message);						
						}else{
							toastr.error(rslt.message);
						}
						$('#save_declaration').attr('disabled',false);
						$("#save_declaration").html("Submit Declaration");
						$(function(){
							$('.select2').select2({
								placeholder: '---- Select ----',
							});
							$('.select2-tags').select2({
								tags: true,
								tokenSeparators: [',']
							});
						});
					}
				});
			}else{
				toastr.error('Please select Income tax Type..');
			}			
		});		
		
		$("#declaration_form").validate({
			rules: {
				category         : "required",
				emp_code         : "required",
				effective_month  : "required",
				income_tax_type  : "required",
			},
			submitHandler: function(form) {
				$("#view").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
				$('#view').attr('disabled','disabled');
				var tds_type     = $("#income_tax_type").val();
				var user_role    = '<?php echo $user_role; ?>';
				if((parseInt(user_role) === 1) || parseInt(user_role) === 4 || parseInt(user_role) === 12){
					var emp_code =  $("#emp_code").val();
				}else{
					var emp_code ='<?php echo $employee_code; ?>';
				}
				var category           = $("#category").val();
				var effective_month    = $('#effective_month').val();
				var tax_senior_citizen = $('#tax_senior_citizen').val();
				// Encryption
				var encKey  = '<?php echo $encKey; ?>';
				var encData = encrypt(encKey,{emp_code:emp_code,tds_type:tds_type,effective_month:effective_month,tax_senior_citizen:tax_senior_citizen,category:category});
				$.ajax({
					type: "POST",
					url: '<?php echo site_url($controller_name . "/get_sec_sub_list"); ?>',
					data: encData,
					contentType: 'text/plain',
					success: function(data){
						var rslt = JSON.parse(data);
						if(rslt.success){
							toastr.success(rslt.message);
							$('#section_details').show();
							if(parseInt(rslt.income_tax_type) === 1){
								$('#hra_btn').show();
							}							
							$('#section_details').html(rslt.table_info);
						}else{
							toastr.error(rslt.message);
						}
						$('#view').attr('disabled',false);
						$("#view").html("Submit");				
					},
				});
			}
		});
		$('#imp_effective_month').on("dp.hide",function (e) {
		var process_month = $('#imp_effective_month').val();
		var category      = $('#category_name').val();
		if(process_month && category){
			// Encryption
			var encKey  = '<?php echo $encKey; ?>';
			var encData = encrypt(encKey,{process_month:process_month,category:category});
			$.ajax({
				type: 'POST',
				url: '<?php echo site_url("$this->control_name/process_month_check");?>',
				data: encData,
				contentType: 'text/plain',
				success: function(data){
					var rslt = JSON.parse(data);
					if(rslt.success){
					}else{
						toastr.error(rslt.message);
						$('#imp_effective_month').val('');
					}
				}
			})
			}
		});	
		
		$("#delete").click(function(){
			var effective_month = $('#effective_month').val();
			var category        = $('#category').val();
			var emp_code        = $('#emp_code').val();
			if(confirm("Are you sure to delete?")){
				if(emp_code && effective_month){
					// Encryption
				var encKey  = '<?php echo $encKey; ?>';
				var encData = encrypt(encKey,{category:category,emp_code:emp_code,effective_month:effective_month});
					$.ajax({
						type: "POST",
						url: '<?php echo site_url($controller_name . "/delete_section"); ?>',
						data:encData,
						contentType: 'text/plain',
						success: function (data) {
							var rslt = JSON.parse(data);
							if(rslt.success == false){
								toastr.error(rslt.message);
							}else{
								toastr.success(rslt.message);
								location.reload(true);
							}
						}
					});
				}else{
					location.reload(true);
				}
			}
		});
		
		
		$("#excel_btn").click(function(){
			$('#excel_import').modal('show');
			$("#save_dec_import").trigger("reset");	
			$("#table_info").html('');
		});
		
		$('#category_name').change(function() {
			var category_name = $('#category_name').val();
			var encKey  = '<?php echo $encKey; ?>';
			var encData = encrypt(encKey,{category_name:category_name});
			$.ajax({
				url: '<?php echo site_url("$controller_name/check_template_details");?>',
				type: 'post',
				data:encData,
				contentType: 'text/plain',
				success: function(data){
					var rslt   = JSON.parse(data);
					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);
				}
			});
		});
		
		//excel file upload
		var send_url = '<?php echo site_url("$controller_name/import_file");?>';
		
		$('#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);
			}
		});
		
		$('#save_dec_import').validate($.extend({
			submitHandler: function (form){
				$("#dec_submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
				$('#dec_submit').attr('disabled','disabled');
				//Encrypted
				let formData   = new FormData(form);
				// Convert FormData to JSON object
				let jsonData   = Object.fromEntries(formData.entries());
				var key        = '<?php echo $encKey; ?>';
				var encData    = encrypt(key,jsonData);
				$.ajax({
					url         : $(form).attr('action'), 
					type        : 'POST',
					contentType : 'text/plain', 
					data        : encData,
					success: function (response){
						$('#dec_submit').attr('disabled',false);
						$("#dec_submit").html("Submit");
						if(response.success){
							toastr.success(response.message);
							$("#table_info").html(response.table_info);							
							// $("#save_dec_import").trigger("reset");
						}else{
							toastr.error(response.message);
							$("#table_info").html(response.table_info);
							// $("#save_dec_import").trigger("reset");
						}	
					},
					dataType: 'json'
				});
			},
			rules:{
				template_name    : "required",
				category_name    : "required",
				effective_month  : "required",
				excel_select_file: "required",
				excel_sheet_name: "required",
				excel_start_row:{
					required: true,
					min:1,
					number:true,
				},
			}
		}));
		$('#template_name').change(function(){
			var module_id       = $('#module_id').val();
			var excel_format    = $('#template_name').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(excel_format){
				$('#link').show();
				$('#link').attr("href","index.php/<?php echo $controller_name; ?>/dec_excel/"+Payload);
			}else{
				$('#link').hide();
			}	
		});
	});
function get_employee_list(category){
	if(category){
		$("#emp_code").next('span').attr('id', 'emp_code_span');
		$('#emp_code_span').html('<span style="color:#CC3366;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</span>');  
		if(category){
			var encKey  = '<?php echo $encKey; ?>';
			var encData = encrypt(encKey,{category:category});
			$.ajax({
				type: "POST",
				url: '<?php echo site_url($controller_name . "/get_employee_list"); ?>',
				data:encData,
				contentType: 'text/plain',
				success: function(data){
					var user_role    = '<?php echo $user_role; ?>';
					if(parseInt(user_role) === 1 || parseInt(user_role) === 4 || parseInt(user_role) === 12){
						$('#emp_code').html(data);
					}else{
						$('#emp_code').val("");
					}
					$('#emp_code_span').empty(); 
					var emp_code = '<?php echo $employee_code; ?>';
					var user_role    = '<?php echo $user_role; ?>';
					if(emp_code){
						$('#emp_code').val(emp_code);
					}
				
						
					select_call();
				},
			});
		}			
	}
}
function get_income_tax_type(emp_code){
	if(emp_code){
		var encKey  = '<?php echo $encKey; ?>';
		var encData = encrypt(encKey,{emp_code:emp_code});
		$.ajax({
			type: "POST",
			url: '<?php echo site_url($controller_name . "/get_income_tax_type"); ?>',
			data:encData,
			contentType: 'text/plain',
			success: function(data){
				var rslt = JSON.parse(data);
				if(rslt.success){
					if(rslt.income_tax_type){
						$('#income_tax_type').val(rslt.income_tax_type);			
					}
					select_call();					
				}
			},
		});
	}
}

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,
			contentType: 'text/plain',
			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);
			}
		});
	}
}

function select_call(){
	$(function(){
		$('.select2').select2({
			placeholder: '---- Select ----',
		});
		$('.select2-tags').select2({
			tags: true,
			tokenSeparators: [',']
		});
	});
}

function change_fun(house_rent){
	if(house_rent >= 100000){
		$('#pan_card_no').addClass("required");
	}
}

</script>
<div class='row title_content'>
	<div class='col-md-2 col-xs-4'>
		<h1 class='page_txt'><?php echo $page_name;?></h1>
	</div>
	<!-- <ul class="house_rent_entry"><div class="floatright"><li>
		<a href='<?php echo $url ?>' class='btn btn-xs btn-primary'> House Rent Entry
		</a></li></div>
	</ul> -->
	<div class='col-md-10 col-xs-8'>
		<ol class="breadcrumb">
			<?php 
				echo "<li id='hra_btn' style='display:none;'>
						<a href='$url' class='btn btn-xs btn-primary'> House Rent Entry</a>
					</li>"; 
			 	if($access_import === 1 && ((int)$user_role === 1 || (int)$user_role === 4 || (int)$user_role === 12)){
					$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='#excel_import'
					title='Import $page_name' id='excel_btn'> <span class='fa fa-cloud-upload'>&nbsp</span> Import $page_name
					</button>
					</li>";
				} 
			?>
			
		</ol>
	</div>
</div>
<div  id="holder" class="form-inline" style="margin-top:20px;">
	<div class="row" style='margin-bottom:0px;'>
		<div class="col-md-12">
			<form id='declaration_form'>
				<?php if((int)$user_role === 1 || (int)$user_role === 4 || (int)$user_role === 12){ ?>
				<div class="form-group" id="category_div">
					<?php
						echo form_label('Category', 'category', array('class' => 'required'));
						echo form_dropdown(array( 'name' => 'category', 'id' => 'category', 'class' => 'form-control input-sm select2'), $category_list);
					?>
				</div>
				<div class="form-group" id="emp_code_div">
					<?php
						echo form_label('Employee Code', 'emp_code', array('class' => 'required'));
						echo form_dropdown(array( 'name' => 'emp_code', 'id' => 'emp_code', 'class' => 'form-control input-sm select2'));
					?>
				</div>
				<?php } ?>
				<div class="form-group">
		            <?php
		                $process_mode = array(""=>"---- Select Tax Type ----","1"=>"OLD REGIME","2"=>"NEW REGIME");
		                echo form_label("IncomeTax Type", 'income_tax_type', array('class' => 'required'));
		                echo form_dropdown(array("name" =>'income_tax_type',"id" =>'income_tax_type',"class" =>'form-control input-sm select2'),$process_mode);
		            ?>
		        </div>
				<div class="form-group">
					<?php
						echo form_label('Effective Month', 'effective_month', array('class' => 'required'));
						echo form_input(array('name' => 'effective_month', 'id' => 'effective_month', 'class' => 'form-control input-sm datepicker',  'value'=> '', 'placeholder' => 'Select Month')); 
					?>
				</div>
				<div class="form-group">
					<label>
						<input name='tax_senior_citizen' id='tax_senior_citizen' type="checkbox"> Senior Citizen
					</label>
				</div>
				<div class="form-group">
					<button class='btn btn-primary btn-sm' id="view">View</button>
					<!-- <a class='btn btn-danger btn-sm' id="delete">Delete</a> -->
				</div>				
			
			<div id="section_details" style="margin:20px !important; padding:15px;background-color: #f2f2f2;" style="display: none;"></div>
			</form>
		</div>
	</div>
</div>

<div id="excel_import" class="modal fade" role="dialog">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<button type="button" class="close" data-dismiss="modal">&times;</button>
				<h4 class="modal-title">Declaration Import</h4>
			</div>
			<div class="modal-body">
				<?php  echo form_open("$controller_name/save_dec_import/",array("id"=>'save_dec_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("Select Category", 'category_name', array('class' => 'required'));
							echo form_dropdown(array( 'name' => 'category_name', 'id' => 'category_name', 'class' => 'form-control input-sm select2'), $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 select2'), $temp_format_drop);
						?>
					</div>
					<div class="form-group">
						<?php
							echo form_label("Effective Month", 'imp_effective_month', array('class' => 'required'));
							echo form_input(array('name' => 'imp_effective_month', 'id' => 'imp_effective_month', 'class' => 'form-control input-sm datepicker',  'value'=> '', 'placeholder' => 'Select Month')); 
						?>
					</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 select2'), $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>
					<div class="form-group">
						<button class='btn btn-primary btn-sm' id="dec_submit">Submit</button>
					</div>
				</fieldset>
				<?php echo form_close();?>
				<div id='table_info' style='padding:8px;overflow: auto;'>
				</div>
			</div>
		</div>
	</div>
</div>
<style>
	.pull-right.search {
		display: none !important;
	}
	.columns.columns-right.btn-group.pull-right {
		display: none !important;
	}
	<?php 
		if($access_search === 1){
			echo ".pull-right.search { display: block !important; }";
		}
		if($access_export === 1){
			echo ".columns.columns-right.btn-group.pull-right{display: block !important;}";
		}
	?>
</style>
<?php $this->load->view("partial/footer"); ?>