File: /home/cafsindia/.trash/application/views/form_16_report/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";
?>
<script type="text/javascript">
$(document).ready(function (){
//SELECT2
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
$('#process_type').change(function () {
process_type = $("#process_type").val();
$('#process_emp_id,#process_role').parent().hide();
$('#process_emp_id').val("");
$('#process_role').val("");
if(process_type === "1"){
$('#process_emp_id').parent().show();
}else
if(process_type === "2"){
$('#process_role').parent().show();
}else{
$('#process_emp_id,#process_role').parent().hide();
}
});
//AUTO COMPLETE -> EMP CODE
$('#process_emp_id').autocomplete({
source: function(request, response) {
$.getJSON('<?php echo site_url("$controller_name/emp_suggest");?>',{term:request.term},response);
},
minChars:2,
autoFocus: true,
delay:10,
scroll: true,
appendTo: '.append_div',
select: function(e, ui) {
$('#process_emp_id').val(ui.item.value);
return false;
}
});
//FORM SUBMIT
var pdfDataArray = [];
$('#form_generate').validate($.extend({
rules:{
process_type: "required",
process_emp_id: "required",
process_role: "required",
process_mode: "required",
},
submitHandler: function(form){
$("#form_btn").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#form_btn').attr('disabled','disabled');
$('#pdf_tbl').DataTable();
$('#pdf_files').empty();
$(form).ajaxSubmit({
dataType: 'json',
success: function(response){
$("#loader").css("display", "none");
$('#form_btn').attr('disabled',false);
$("#form_btn").html("Submit");
jQuery("body").prepend('<div id="preloader">Loading...</div>');
var get_year = response.get_year;
if(response.success == false){
toastr.error(response.msg);
}else
if(response.sts === 2){
var pdfCounter = 0;
$.when(
$.each(response.pdf_data, function(code, html){
generate_pdf(code, html, get_year)
.then(function(download){
pdfDataArray.push(download);
pdfCounter++;
if(pdfCounter === response.count){
toastr.success("Tax Processed Successfully");
// All PDFs have been generated, append the button
if($("#downloadAll").length){
$("#downloadAll").remove();
}
$("#pdf_tbl_length").append("<button id='downloadAll' class='dt-button buttons-collection' style='margin-left:5px;'><i class='fa fa-download' aria-hidden='true'></i> DOWNLOAD ALL</button>");
}
});
})
)
}else
if(response.sts === 1){
$('#rslt_info').hide();
toastr.success("Form 24QA is generated successfully");
$('#excel_info').show();
trline = "<tr><td>Form 24Q Annexure Report</td><td><a href="+response.excel_rslt+" target='_blank' class='btn btn-primary btn-sm'><span class='fa fa-download'> </span> Download</a></td></tr>";
$('#excel_file').html(trline);
}
jQuery("#preloader").remove();
}
});
}
}));
$('#rslt_info').hide();
$('#excel_info').hide();
//DOWNLOAD ALL BTN
$(document).on('click', '#downloadAll', function(){
$("#downloadAll").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#downloadAll').attr('disabled','disabled');
var path_name = pdfDataArray[0]['folder'];
var emp_codes = pdfDataArray.map(function(item){
return item['file']+'.pdf';
}).join('","');
if(path_name && emp_codes){
$.ajax({
type: "POST",
url : '<?php echo site_url($controller_name . "/download_zip"); ?>',
data: { path_name: path_name, emp_codes: emp_codes },
success: function(data){
$('#downloadAll').attr('disabled',false);
$("#downloadAll").html("<i class='fa fa-download' aria-hidden='true'></i> DOWNLOAD ALL");
var rslt = JSON.parse(data);
if(rslt.success){
window.open(rslt.filename, '_blank');
}else{
toastr.error("File not exists");
}
},
});
}
});
});
//PDF VIEW FUNCTION!!!
function generate_pdf(code,html,get_year){
// Return a promise
return new Promise(function(resolve, reject) {
if(html){
$.ajax({
type: "POST",
url : '<?php echo site_url($controller_name."/generate_pdf"); ?>',
data: {code:code,html:html,get_year:get_year},
success:function(data){
var rslt = JSON.parse(data);
if(rslt){
$('#rslt_info').show();
var encodedData = btoa(rslt.path);
var trline = "<tr><td>" + code + "</td><td><a onclick=pdf_viewer('"+$.trim(rslt['path'])+"')>View</a></td></tr>";
$('#pdf_tbl').DataTable().row.add($(trline)).draw();
resolve(rslt);
}
},
});
$('#pdf_tbl').DataTable().row().remove();
}
});
}
//CALLING PDF OBJECT LIB!!!
function pdf_viewer(url){
var file_path = atob(url);
PDFObject.embed(file_path, "#view_pdf");
$("#myModal").modal("show");
}
</script>
<div class='row title_content'>
<div class='col-md-2 col-xs-4'>
<h1 class='page_txt'>Form 16 and 24Q Report</h1>
</div>
<div class='col-md-10 col-xs-8'>
</div>
</div>
<!-- FORM CONTENT -->
<div id="holder" class="form-inline" style="margin-top:20px;">
<div class='col-md-12'style='margin:15px 0px;border-radius:2px;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);padding:15px 0px;'>
<?php echo form_open("$controller_name/form_generate/",array("id"=>"form_generate","class"=>"form-inline")); ?>
<div class="form-group">
<?php
$process_type = array(""=>"---- Select Process Type ----","1"=>"Process By Employee","2"=>"Process By Role");
echo form_label("Process Type", 'process_type', array('class' => 'required'));
echo form_dropdown(array("name" =>'process_type',"id" =>'process_type',"class" =>'form-control input-sm select2'),$process_type);
?>
</div>
<div class="form-group" style='display:none;max-height: 50px;!important'>
<?php
echo form_label("Search Employee", 'process_emp_id', array('class' => 'required'));
echo form_input(array('name' =>'process_emp_id','id' =>'process_emp_id','class' => 'form-control input-smselect2','value'=>'','placeholder'=>"Search by Employee Code"));
?>
<div class='append_div'></div>
</div>
<div class="form-group" style='display:none;'>
<?php
echo form_label("Process Role", 'process_role', array('class' => 'required'));
echo form_dropdown(array("name" =>'process_role[]',"multiple id" =>'process_role',"class" =>'form-control input-sm select2'),$process_role);
?>
</div>
<div class="form-group">
<?php
$process_mode = array(""=>"---- Select Type ----","1"=>"Form 16B","3"=>"Form 16 With Challan","2"=>"Form 24Q");
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);
?>
</div>
<div class="form-group">
<button class='btn btn-primary btn-sm' id="form_btn">Submit</button>
</div>
<?php echo form_close(); ?>
<!-- MODAL CONTENT -->
<div id="employee_table_view" style="margin-left:15px;margin-right:15px;"></div>
<div class="modal" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">View PDF</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body" id="view_pdf">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!-- TABLE CONTENT -->
<div style="margin:20px !important; padding:15px;background-color: #f2f2f2;" id='rslt_info'>
<table class="table table-hover" id="pdf_tbl">
<thead>
<tr>
<th>Employee Code</th>
<th>Option</th>
</tr>
</thead>
<tbody id="pdf_files">
</tbody>
</table>
</div>
<div style="margin:20px !important; padding:15px;background-color: #f2f2f2;" id='excel_info'>
<table class="table table-hover" id="excel_tbl">
<thead>
<tr>
<th>Report</th>
<th>File</th>
</tr>
</thead>
<tbody id="excel_file">
</tbody>
</table>
</div>
</div>
</div>
<?php $this->load->view("partial/footer"); ?>