697 lines
21 KiB
PHP
Executable File
697 lines
21 KiB
PHP
Executable File
|
|
|
|
<?php
|
|
if(!empty($mms))
|
|
{
|
|
|
|
}
|
|
?>
|
|
<script>
|
|
$(document).ready(function () {
|
|
|
|
$("#client_name").select2();
|
|
$("#item_name").select2();
|
|
|
|
|
|
});
|
|
</script>
|
|
|
|
<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: #00d976;;
|
|
border-color: #00d976;;
|
|
}
|
|
th, td { white-space: nowrap; }
|
|
.dataTable > thead > tr > th[class*="sort"]:after{
|
|
content: "" !important;
|
|
}
|
|
|
|
table.dataTable thead > tr > th.sorting_asc,
|
|
table.dataTable thead > tr > th.sorting_desc,
|
|
table.dataTable thead > tr > th.sorting,
|
|
table.dataTable thead > tr > td.sorting_asc,
|
|
table.dataTable thead > tr > td.sorting_desc,
|
|
table.dataTable thead > tr > td.sorting {
|
|
padding-right: inherit;
|
|
}
|
|
|
|
|
|
</style>
|
|
<div class="content-wrapper">
|
|
<section class="content">
|
|
<div class="row" style="min-height: 600px;">
|
|
<!-- Left col -->
|
|
<div class="col-md-12">
|
|
<!-- TABLE: LATEST ORDERS -->
|
|
<div class="box box-info">
|
|
<div class="box-header with-border">
|
|
<center><h3 class="box-title"><p style="color: #00d976;"><b>Report - Purchase</b>
|
|
<br><br>
|
|
<?php
|
|
if($this->input->post('client_name')){
|
|
$cl=$this->input->post('client_name');
|
|
echo $cl;
|
|
echo ' '.' ';
|
|
}
|
|
if($this->input->post('item_name')){
|
|
$it=$this->input->post('item_name');
|
|
echo $it;
|
|
echo ' '.' ';
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
?>
|
|
</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-4">
|
|
<label for="client_name">
|
|
<?php echo 'Supplier'; ?>
|
|
</label>
|
|
<div class="input-group">
|
|
<select class="form-control" id="client_name" name="client_name">
|
|
<option value="">Select Supplier</option>
|
|
<?php
|
|
foreach($cust as $item):
|
|
|
|
{?>
|
|
|
|
<option value="<?php echo $item->SupplierName;?>"><?php echo $item->SupplierName ; ?></option>
|
|
|
|
|
|
<?php } endforeach; ?>
|
|
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label for="client_name">
|
|
<?php echo'Material'; ?>
|
|
</label>
|
|
<div class="input-group">
|
|
<select class="form-control" id="item_name" name="item_name">
|
|
<option value="">Select Material</option>
|
|
<?php
|
|
|
|
|
|
foreach($material as $it):
|
|
|
|
{?>
|
|
|
|
<option value="<?php echo $it->MaterialName;?>"><?php echo $it->MaterialName ; ?></option>
|
|
|
|
|
|
<?php } endforeach; ?>
|
|
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<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-4">
|
|
<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-4">
|
|
<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-2"><br>
|
|
<input type="submit" class="btn btn-success" name="btn_submit"
|
|
value="View Report">
|
|
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="box-body">
|
|
<div class = "table-responsive">
|
|
<table class="table table-bordered" id="cc" style="font-size:12px !important;">
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:center">PO No</th>
|
|
<th style="text-align:center">Date</th>
|
|
<th style="text-align:center">Material Name</th>
|
|
<th style="text-align:center">Supplier Name</th>
|
|
<th style="text-align:center">Quantity</th>
|
|
<th style="text-align:center">UOM</th>
|
|
<th style="text-align:center">Rate (₹)</th>
|
|
<th style="text-align:center">Value (₹)</th>
|
|
<th style="text-align:center">Exchange Rate</th>
|
|
<th style="text-align:center">SGST (₹)</th>
|
|
<th style="text-align:center">CGST (₹)</th>
|
|
<th style="text-align:center">IGST (₹)</th>
|
|
<th style="text-align:center">Discount (₹)</th>
|
|
<th style="text-align:center">Freight (₹)</th>
|
|
<th style="text-align:center">Package (₹)</th>
|
|
<th style="text-align:center">Insurance (₹)</th>
|
|
<th style="text-align:center">Total (₹)</th>
|
|
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php if(!empty($purchase)){
|
|
$tot_qty = 0;
|
|
$tot_rate = 0;
|
|
$tot_value = 0;
|
|
$tot_ex = 0;
|
|
$tot_CGST = 0;
|
|
$tot_SCGT = 0.0000;
|
|
$tot_ICGT = 0;
|
|
$tot_dis = 0;
|
|
$tot_frg = 0;
|
|
$tot_pac = 0;
|
|
$tot_inc = 0;
|
|
$tot_tot = 0;
|
|
|
|
foreach($purchase as $rel)
|
|
{
|
|
?>
|
|
<tr>
|
|
<td><span>
|
|
<a href="<?php echo base_url().'purchaseorder/CreatePOPrint?PONO='.$rel->pono.'&ReqType='.$rel->potype; ?>"><?php echo $rel->pono;?></a>
|
|
</span></td>
|
|
<td style="text-align:center"><span><?php echo $rel->created_date;?></span></td>
|
|
<td><span><?php echo $rel->material_name;?></span></td>
|
|
<td><span><?php echo $rel->supplier_name;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_qty= $tot_qty + round($rel->quantity);
|
|
echo round($rel->quantity);?></span></td>
|
|
<td style="text-align:left"><span><?php
|
|
echo $rel->UOM;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_rate= $tot_rate + $rel->rate;
|
|
echo $rel->rate;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_value= $tot_value + $rel->value;
|
|
echo $rel->value;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_ex= $tot_ex + $rel->exchange_rate;
|
|
echo $rel->exchange_rate;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_SCGT= $tot_SCGT + $rel->sgst;
|
|
echo $rel->sgst;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_CGST= $tot_CGST + $rel->cgst;
|
|
echo $rel->cgst;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_ICGT= $tot_ICGT + $rel->igst;
|
|
echo $rel->igst;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_dis= $tot_dis + $rel->discount;
|
|
echo $rel->discount;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_frg= $tot_frg + $rel->freight;
|
|
echo $rel->freight;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_pac= $tot_pac + $rel->Package;
|
|
echo $rel->Package;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_inc= $tot_inc + $rel->insurance;
|
|
echo $rel->insurance;?></span></td>
|
|
<td style="text-align:right"><span><?php
|
|
$tot_tot= $tot_tot + round($rel->total,2);
|
|
echo number_format($rel->total,2,'.','');?></span></td>
|
|
|
|
|
|
|
|
</tr>
|
|
<?php
|
|
}
|
|
|
|
?>
|
|
</tbody>
|
|
<tfoot width="100%">
|
|
<tr>
|
|
<td style="text-align:center;"><strong>Total</strong></td>
|
|
<td><strong> </strong></td>
|
|
<td><strong> </strong></td>
|
|
<td><strong> </strong></td>
|
|
|
|
|
|
<td class="amount" style="text-align:right"><strong>
|
|
<?php
|
|
{
|
|
echo $tot_qty;
|
|
|
|
}
|
|
?>
|
|
</strong>
|
|
</td>
|
|
|
|
<td class="amount"><strong>
|
|
<?php
|
|
{
|
|
//echo format_currency($tot_rate,2,'.','');
|
|
|
|
}
|
|
?>
|
|
</strong>
|
|
</td>
|
|
<td class="amount"><strong>
|
|
<?php
|
|
{
|
|
//echo format_currency($tot_rate,2,'.','');
|
|
|
|
}
|
|
?>
|
|
</strong>
|
|
</td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_value,2,'.','');
|
|
|
|
}
|
|
?>
|
|
</strong>
|
|
</td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo $tot_ex;
|
|
|
|
}
|
|
?>
|
|
</strong>
|
|
</td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_SCGT,2,'.','');
|
|
|
|
}
|
|
?>
|
|
</strong>
|
|
</td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_CGST,2,'.','');
|
|
|
|
}
|
|
?>
|
|
</strong>
|
|
</td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_ICGT,2,'.','');
|
|
|
|
}
|
|
?>
|
|
</strong>
|
|
</td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_dis,2,'.','');
|
|
|
|
}
|
|
|
|
?>
|
|
</strong></td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_frg,2,'.','');
|
|
|
|
}
|
|
|
|
?>
|
|
</strong></td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_pac,2,'.','');
|
|
|
|
}
|
|
|
|
?>
|
|
</strong></td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_inc,2,'.','');
|
|
|
|
}
|
|
|
|
?>
|
|
</strong></td>
|
|
<td class="amount" style="text-align:right">
|
|
<strong>
|
|
<?php
|
|
{
|
|
echo number_format($tot_tot,2,'.','');
|
|
|
|
}
|
|
|
|
?>
|
|
</strong></td>
|
|
|
|
|
|
|
|
</tr>
|
|
|
|
</tfoot>
|
|
<?php
|
|
}
|
|
|
|
?>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /.box -->
|
|
</div>
|
|
<!-- /.col -->
|
|
</div>
|
|
</section>
|
|
</div>
|
|
|
|
|
|
|
|
<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 = $('#cc').DataTable( {
|
|
"language": {
|
|
"emptyTable": "<center> Data Not Found ! </center>"
|
|
},
|
|
"aaSorting": [[ 1, "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: 'Report Purchase',
|
|
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;
|
|
};
|
|
|
|
TotalQTY = api
|
|
.column( 4, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 4 ).footer() ).html( TotalQTY.toFixed().bold() );
|
|
|
|
TotalVALUE = api
|
|
.column( 7, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 7 ).footer() ).html( TotalVALUE.toFixed(2).bold() );
|
|
|
|
TotalExRATE = api
|
|
.column( 8, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 8 ).footer() ).html( TotalExRATE.toFixed().bold() );
|
|
|
|
TotalSGST = api
|
|
.column( 9, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 9 ).footer() ).html( TotalSGST.toFixed(2).bold() );
|
|
|
|
TotalCGST = api
|
|
.column( 10, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 10 ).footer() ).html( TotalCGST.toFixed(2).bold() );
|
|
|
|
TotalIGST = api
|
|
.column( 11, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 11 ).footer() ).html( TotalIGST.toFixed(2).bold() );
|
|
|
|
TotalDISCOUNT = api
|
|
.column( 12, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 12 ).footer() ).html( TotalDISCOUNT.toFixed(2).bold() );
|
|
|
|
TotalFRIGEHT = api
|
|
.column( 13, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 13 ).footer() ).html( TotalFRIGEHT.toFixed(2).bold() );
|
|
|
|
TotalPACKAGE = api
|
|
.column( 14, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 14 ).footer() ).html( TotalPACKAGE.toFixed(2).bold() );
|
|
|
|
TotalINSURANCES = api
|
|
.column( 15, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 15 ).footer() ).html( TotalINSURANCES.toFixed(2).bold() );
|
|
|
|
FinalTotal = api
|
|
.column( 16, { search:'applied' } )
|
|
.data()
|
|
.reduce( function (a, b) {
|
|
return intVal(a) + intVal(b);
|
|
}, 0 );
|
|
|
|
$( api.column( 16 ).footer() ).html( FinalTotal.toFixed(2).bold() );
|
|
}
|
|
} );
|
|
} );
|
|
$('#mySelect').on('change',function(){
|
|
|
|
table
|
|
.column(4)
|
|
.search(this.value)
|
|
.draw();
|
|
});
|
|
|
|
$( function() {
|
|
//var dateFormat = "mm/dd/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;
|
|
}
|
|
} );
|
|
|
|
function Reset()
|
|
{
|
|
$('#mySelect').val('');
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|