415 lines
13 KiB
PHP
415 lines
13 KiB
PHP
|
|
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.4.2/css/buttons.dataTables.min.css">
|
|
<style>
|
|
.dataTables_filter input {padding: 4px;}
|
|
.dataTables_filter {
|
|
width: 50%;
|
|
float: right;
|
|
text-align: right;
|
|
}
|
|
.dataTables_paginate {
|
|
width: 50%;
|
|
float: right;
|
|
text-align: right;
|
|
}
|
|
div.dt-buttons {
|
|
position: relative;
|
|
float: right;
|
|
|
|
}
|
|
.btn-success {
|
|
background-color: #3c8dbc;
|
|
border-color: #3c8dbc;
|
|
}
|
|
|
|
|
|
</style>
|
|
<div class="content-wrapper">
|
|
<section class="content">
|
|
|
|
<div class="row"style="min-height: 600px;">
|
|
<!-- Left col -->
|
|
<div class="col-md-12" style="
|
|
font-size: 12px;
|
|
">
|
|
<!-- TABLE: LATEST ORDERS -->
|
|
<div class="box box-info">
|
|
<div class="box-header with-border">
|
|
<center><h3 class="box-title"><p style="color:#3c8dbc"><b>Order Value - Released</b>
|
|
<br><br>
|
|
<?php
|
|
|
|
if($this->input->post('financialyear')){
|
|
$ab=$this->input->post('financialyear');
|
|
echo '('.$ab.')';
|
|
echo ' ';
|
|
|
|
}
|
|
if($this->input->post('month')){
|
|
$m=$this->input->post('month');
|
|
echo '('.$m.')';
|
|
echo ' ';
|
|
}
|
|
if($this->input->post('from_date') && $this->input->post('to_date')){
|
|
$frm = $this->input->post('from_date');
|
|
$t = $this->input->post('to_date');
|
|
echo $frm.'-to-'.$t;
|
|
}
|
|
if($this->input->post('total_order_value_From') && $this->input->post('total_order_value_To')){
|
|
$tfrm = $this->input->post('total_order_value_From');
|
|
$tt = $this->input->post('total_order_value_To');
|
|
echo 'Total Order Value between'.' '.'RS.'.$tfrm.'-to-'.'RS.'.$tt;
|
|
}
|
|
?>
|
|
</p></h3></center>
|
|
</div>
|
|
<!-- /.box-header -->
|
|
<div class="panel-body">
|
|
|
|
<form method="post" action="<?php echo base_url($this->uri->uri_string()); ?>">
|
|
|
|
<div class="form-group has-feedback">
|
|
|
|
|
|
|
|
<div class="col-md-2">
|
|
<label for="to_date">
|
|
<?php echo 'Year'; ?>
|
|
</label>
|
|
<div class="input-group">
|
|
<select class="form-control" id="financialyear" name="financialyear">
|
|
<option value="">Select Year</option>
|
|
<?php
|
|
|
|
|
|
foreach($finyear as $item):
|
|
|
|
{?>
|
|
|
|
<option value="<?php echo $item->financial_year;?>"><?php echo $item->financial_year ; ?></option>
|
|
|
|
|
|
<?php } endforeach; ?>
|
|
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-2">
|
|
<label for="to_date">
|
|
<?php echo 'Month'; ?>
|
|
</label>
|
|
<div class="input-group">
|
|
<select class="form-control" id="month" name="month">
|
|
<option value="">Select Month</option>
|
|
<option value="January">January</option>
|
|
<option value="February">February</option>
|
|
<option value="March">March</option>
|
|
<option value="April">April</option>
|
|
<option value="May">May</option>
|
|
<option value="June">June</option>
|
|
<option value="July">July</option>
|
|
<option value="August">August</option>
|
|
<option value="September">September</option>
|
|
<option value="October">October</option>
|
|
<option value="November">November</option>
|
|
<option value="December">December</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-2">
|
|
<label for="total_order_value_From">
|
|
<?php echo 'Total Order Value From'; ?>
|
|
</label>
|
|
<div class="input-group">
|
|
<input name="total_order_value_From" id="total_order_value_From" style="padding:4px;">
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-md-2">
|
|
<label for="total_order_value_To">
|
|
<?php echo 'Total Order Value To'; ?>
|
|
</label>
|
|
<div class="input-group">
|
|
<input name="total_order_value_To" id="total_order_value_To" style="padding:4px;">
|
|
</span>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="col-md-2">
|
|
<label for="from_date">
|
|
<?php echo 'From Date'; ?>
|
|
</label>
|
|
<div class="input-group">
|
|
<input name="from_date" id="max-date" class="form-control datepicker">
|
|
<span class="input-group-addon">
|
|
<i class="fa fa-calendar fa-fw"></i>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-md-2">
|
|
<label for="to_date">
|
|
<?php echo 'To Date'; ?>
|
|
</label>
|
|
<div class="input-group">
|
|
<input name="to_date" id="min-date" class="form-control datepicker">
|
|
<span class="input-group-addon">
|
|
<i class="fa fa-calendar fa-fw"></i>
|
|
</span>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="col-md-2 col-md-offset-10"><br>
|
|
<input type="submit" class="btn btn-success" name="btn_submit"
|
|
value="View Report">
|
|
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="box-body">
|
|
<div>
|
|
<table class="table table-bordered table-hover" id="req" style="font-size:13px!important;">
|
|
<thead>
|
|
<tr>
|
|
<th>PO No</th>
|
|
<th>PO Type</th>
|
|
<th>PO Date</th>
|
|
<th>Released Date</th>
|
|
<th>Requested Department</th>
|
|
<th>Total Order Value (₹)</th>
|
|
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
$tot=0.00;
|
|
if(!empty($rel_po)){
|
|
foreach($rel_po as $rel)
|
|
{
|
|
?>
|
|
<tr>
|
|
<td><span><?php echo $rel->PONO?></span></td>
|
|
<td><span><?php echo $rel->POType?></span></td>
|
|
<td><span><?php $date = new DateTime($rel->PODate);echo $date->format('d-m-Y'); ?></span></td>
|
|
<td><span><?php $date = new DateTime($rel->ReleasedDate);echo $date->format('d-m-Y'); ?></span></td>
|
|
<td><span><?php echo $rel->Dept_Name?></span></td>
|
|
<td align="right"><span><?php
|
|
$tot= $tot + number_format($rel->TotalOrderValue,2,'.','');
|
|
echo number_format($rel->TotalOrderValue,2,'.','')?></span></td>
|
|
|
|
|
|
</tr>
|
|
<?php
|
|
}
|
|
|
|
}
|
|
?>
|
|
</tbody>
|
|
<tfoot>
|
|
<td style="text-align:center"><?php
|
|
$t='Total';
|
|
echo $t;?></td>
|
|
<td><?php echo '';?></td>
|
|
<td><?php echo '';?></td>
|
|
<td><?php echo '';?></td>
|
|
<td><?php echo '';?></td>
|
|
<td style="text-align:right"><?php echo number_format($tot,2,'.','');?></td>
|
|
</tfoot>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /.box -->
|
|
</div>
|
|
<!-- /.col -->
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<script src="https://cdn.datatables.net/buttons/1.4.2/js/dataTables.buttons.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
|
|
<script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.html5.min.js"></script>
|
|
<script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.colVis.min.js"></script>
|
|
<script src="https://cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script>
|
|
<script>
|
|
|
|
|
|
// Bootstrap datepicker
|
|
// Set up your table
|
|
$(document).ready(function() {
|
|
$.fn.dataTable.moment( 'DD-MM-YYYY' );
|
|
table = $('#req').DataTable( {
|
|
"language": {
|
|
"emptyTable": "<center> Data Not Found ! </center>"
|
|
},
|
|
"aaSorting": [[ 2, "desc" ]],
|
|
"autoWidth": false,
|
|
orderCellsTop: true,
|
|
"dom": "<'row'<'col-md-6'l><'col-md-6'Bf>>" +
|
|
"<'row'<'col-md-6'><'col-md-6'>>" +
|
|
"<'row'<'col-md-12't>><'row'<'col-md-4'i><'col-md-8'p>>",
|
|
buttons: [
|
|
|
|
{
|
|
extend: 'excelHtml5',
|
|
footer: 'true',
|
|
//messageTop: $('h3').text(),
|
|
title: $('h3').text(),
|
|
exportOptions: {
|
|
columns: ':visible'
|
|
|
|
}
|
|
},
|
|
|
|
'colvis'
|
|
],
|
|
"footerCallback": function ( row, data, start, end, display ) {
|
|
var api = this.api(), data;
|
|
|
|
// Remove the formatting to get integer data for summation
|
|
var intVal = function ( i ) {
|
|
return typeof i === 'string' ?
|
|
parseFloat(i.replace(/[^0.00-9.00]+/g,"")*1) :
|
|
typeof i === 'number' ?
|
|
parseFloat(i) : 0;
|
|
};
|
|
|
|
TotalOrderValue = api
|
|
.column( 5, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 5 ).footer() ).html( TotalOrderValue.toFixed(2) );
|
|
}
|
|
} );
|
|
} );
|
|
|
|
|
|
$( function() {
|
|
|
|
//var dateFormat = "dd-mm-yy",
|
|
from = $( "#min-date" )
|
|
.datepicker({
|
|
dateFormat: 'dd-mm-yy',
|
|
defaultDate: "+0d",
|
|
changeMonth: true,
|
|
//numberOfMonths: 1
|
|
})
|
|
.on( "change", function() {
|
|
to.datepicker( "option", "minDate", getDate( this ) );
|
|
}),
|
|
to = $( "#max-date" ).datepicker({
|
|
dateFormat: 'dd-mm-yy',
|
|
defaultDate: "+0d",
|
|
changeMonth: true,
|
|
//numberOfMonths: 1
|
|
})
|
|
.on( "change", function() {
|
|
from.datepicker( "option", "maxDate", getDate( this ) );
|
|
});
|
|
|
|
function getDate( element ) {
|
|
var date;
|
|
try {
|
|
date = $.datepicker.parseDate( dateFormat, element.value );
|
|
} catch( error ) {
|
|
date = null;
|
|
}
|
|
|
|
return date;
|
|
}
|
|
} );
|
|
|
|
|
|
//$('.input-daterange').each(function() {
|
|
// $(this).datepicker('clearDates');
|
|
//});
|
|
|
|
|
|
// Extend dataTables search
|
|
$.fn.dataTable.ext.search.push(
|
|
function(settings, data, dataIndex) {
|
|
var min = (moment($('#min-date').val(), "DD/MM/YYYY").isValid()) ? ~~moment($('#min-date').val(), "DD/MM/YYYY").format("X") : null;
|
|
var max = (moment($('#max-date').val(), "DD/MM/YYYY").isValid()) ? ~~moment($('#max-date').val(), "DD/MM/YYYY").format("X") : null;
|
|
var ReleasedDate = ~~moment(data[3], "DD/MM/YYYY").format("X"); // Our date column in the table
|
|
// alert(min);
|
|
if (min == null && max == null) {
|
|
return true;
|
|
}
|
|
if (min == null && ReleasedDate <= max) {
|
|
return true;
|
|
}
|
|
if (max == null && ReleasedDate >= min) {
|
|
return true;
|
|
}
|
|
if (ReleasedDate <= max && ReleasedDate >= min) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
);
|
|
|
|
// Re-draw the table when the a date range filter changes
|
|
$('#min-date, #max-date').change(function() {
|
|
table.draw();
|
|
});
|
|
|
|
$('#my-table_filter').hide();
|
|
|
|
//total order value range
|
|
$.fn.dataTable.ext.search.push(
|
|
function( settings, data, dataIndex ) {
|
|
var min = parseInt( $('#min').val(), 10 );
|
|
var max = parseInt( $('#max').val(), 10 );
|
|
var TotalOrderValue = parseFloat( data[5] ) || 0;
|
|
|
|
if ( ( isNaN( min ) && isNaN( max ) ) ||
|
|
( isNaN( min ) && TotalOrderValue <= max ) ||
|
|
( min <= TotalOrderValue && isNaN( max ) ) ||
|
|
( min <= TotalOrderValue && TotalOrderValue <= max ) )
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
);
|
|
|
|
$(document).ready(function() {
|
|
//var table = $('#qdetails').DataTable();
|
|
|
|
// Event listener to the two range filtering inputs to redraw on input
|
|
$('#min, #max').keyup( function() {
|
|
table.draw();
|
|
} );
|
|
} );
|
|
//for clear button
|
|
function Reset()
|
|
{
|
|
$('#min').val('');
|
|
$('#max').val('');
|
|
$('#min-date').val('');
|
|
$('#max-date').val('');
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|