File: /var/www/html/taxicamera/applicationold/views/admin/report/customer_statement/list.php
<div class="main-content">
<div class="content-wrapper">
<div class="container-fluid">
<!-- Basic form layout section start -->
<section id="basic-form-layouts">
<!--<div class="row">
<div class="col-sm-12">
<h2 class="content-header">Driver Master</h2>
</div>
</div>-->
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<div class="page-title-wrap">
<h4 class="card-title">Customer Statement Report</h4>
</div>
<!--<p class="mb-0">This is the most basic and cost estimation form is the default position.</p>-->
</div>
<div class="card-body">
<div class="px-3">
<form class="form custom_form_style">
<div class="form-body">
<div class="user_permission_top">
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label>Select Customer</label>
<select class="js-select2" data-show-subtext="true" data-live-search="true" id="customer_id" name="customer_id">
<option value="">Select Customer</option>
<?php if(!empty($customer_list)){ ?>
<?php foreach($customer_list as $customer){ ?>
<option value="<?=$customer['customer_id']?>"><?=$customer['first_name'].' '.$customer['middle_name'].' '.$customer['last_name']?></option>
<?php } }?>
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label>From Date</label>
<div class="input-group">
<input type="text" id="from_date" class="form-control pickadate" placeholder="" />
<div class="input-group-append">
<span class="input-group-text">
<span class="fa fa-calendar-o"></span>
</span>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label>To Date</label>
<div class="input-group">
<input type="text" id="to_date" class="form-control pickadate" placeholder="" />
<div class="input-group-append">
<span class="input-group-text">
<span class="fa fa-calendar-o"></span>
</span>
</div>
</div>
</div>
</div>
<div class="col-md-1">
<div class="form-group">
<label class="blank_lbl"> </label>
<button type="button" class="btn btn-success" onclick="populate_customer_statement_list();">
<i class="fa fa-search" aria-hidden="true"></i> Search
</button>
</div>
</div>
<div class="col-md-1" style="margin-left: 20px;">
<div class="form-group">
<label class="blank_lbl"> </label>
<button id="download_pdf" type="button" class="btn btn-success">
<i class="fa fa-download" aria-hidden="true"></i>PDF
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<div class="row ">
<div class="table-responsive custom_table_area export_table_area">
<table id="income_table" class="table table-striped table-bordered export_btn_dt c_table_style file-export">
<thead>
<tr>
<th>SL No.</th>
<th>Transaction Date</th>
<th>Transaction Type</th>
<th>Transaction Desc</th>
<th>Total Amount</th>
</tr>
</thead>
<tbody id="tbody_income_table">
</tbody>
<tfoot id="tfoot_income_table">
</tfoot>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- // Basic form layout section end -->
</div>
</div>
</div>
<script>
$(document).ready(function() {
populate_datepicker();
populate_customer_statement_list();
});
function populate_datepicker(){
var from_$input = $('#from_date').pickadate({
format: 'dd/mm/yyyy',
autoclose: true
}),
from_picker = from_$input.pickadate('picker')
var to_$input = $('#to_date').pickadate({
format: 'dd/mm/yyyy',
autoclose: true
}),
to_picker = to_$input.pickadate('picker')
// Check if there’s a “from” or “to” date to start with.
if (from_picker.get('value')) {
to_picker.set('min', from_picker.get('select'))
}
if (to_picker.get('value')) {
from_picker.set('max', to_picker.get('select'))
}
// When something is selected, update the “from” and “to” limits.
from_picker.on('set', function(event) {
if (event.select) {
to_picker.set('min', from_picker.get('select'));
} else if ('clear' in event) {
to_picker.set('min', false);
}
})
to_picker.on('set', function(event) {
if (event.select) {
from_picker.set('max', to_picker.get('select'));
} else if ('clear' in event) {
from_picker.set('max', false);
}
})
}
function populate_customer_statement_list() {
var start_date = $("#from_date").val();
var end_date = $("#to_date").val();
var customer_id = $("#customer_id").val();
var i = 0;
var resulthtml = footerhtml='';
$.ajax({
url: "<?php echo base_url('admin/report/get_customer_statement_report'); ?>",
type: "POST",
data: {
'customer_id': customer_id,
'start_date': start_date,
'end_date': end_date,
},
dataType: "json",
encode: true,
//async: false
})
.done(function(data) {
if (data.status) {
if (data.customer_statement_list) {
var available_balance = 0 * 1;
$.each(data.customer_statement_list, function(key, value) {i++;
var transaction_type=(value.transaction_type == 1)?'Received ':'Paid';
resulthtml += '<tr>';
resulthtml += '<td>' + i + '</td>';
resulthtml += '<td>' + value.transaction_date + '</td>';
resulthtml += '<td>' + transaction_type + '</td>';
resulthtml += '<td>' + value.transaction_desc + '</td>';
resulthtml += '<td>' + value.total_amount + '</td>';
resulthtml += '</tr>';
available_balance +=(value.transaction_type == 1)?(Number(value.total_amount)):(- Number(value.total_amount));
})
footerhtml +='<tr style="background: #1db5bd;color: #fff;"><td colspan="4"><strong>Available Balance</strong></td>';
footerhtml +='<td><strong>'+parseFloat(available_balance).toFixed(2)+'<strong></td>';
footerhtml+='</tr>';
var now = new Date();
var date = now.getFullYear() + ":" + now.getMonth() + ":" + now.getDate();
$("#income_table").dataTable().fnDestroy();
$("#tbody_income_table").html(resulthtml);
$("#tfoot_income_table").html(footerhtml);
$('#income_table').DataTable({
pageLength: 100,
dom: 'Bfrtip',
buttons: [{
extend: 'excel',
text: 'Download Excel',
className: 'btn btn-outline-primary mr-1',
filename: 'cus_statement_report' + date
}
//'copy', 'csv', 'excel', 'pdf', 'print'
]
});
}
} else {
$.alert({
type: 'red',
title: 'Alert!',
content: 'Oops!Something went wrong...',
});
}
})
.fail(function(result) {
$.alert({
type: 'red',
title: 'Alert!',
content: 'Oops!Something went wrong...',
});
})
}
$(document).on('click','#download_pdf',function(){
var start_date = $("#from_date").val();
var end_date = $("#to_date").val();
var customer_id = $("#customer_id").val();
var format_start_date=start_date.split("/").reverse().join("-");
var format_end_date=end_date.split("/").reverse().join("-");
window.location.href = "<?=base_url()?>admin/report/download_pdf_customer_statement_report?customer_id="+customer_id+"&start_date="+format_start_date+"&end_date="+format_end_date;
})
</script>