HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
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">&nbsp;</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">&nbsp;</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>