<?php
$this->load->view ( $left );
$this->load->view ( $header );
?>
<div class="row wrapper border-bottom white-bg page-heading">
    <div class="col-sm-4">
        <h2>Item Sales Report</h2>
    </div>
    <!-- <div class="col-sm-8">
        <div class="title-action">
            <a href="<?php //echo site_url("bank/newbank");?>" class="btn btn-primary">
                <i class="fa fa-plus-square-o"></i>
                <span class="m-l-xs">Add Bank</span>
            </a>
        </div>
    </div> -->
</div>
<div class="wrapper wrapper-content">
<?php $state_array = array('-','Jammu & Kashmir','Himachal Pradesh','Punjab','Chandigarh','Uttarakhand','Haryana','Delhi','Rajasthan','Uttar Pradesh','Bihar','Sikkim','Arunachal Pradesh','Nagaland','Manipur','Mizoram','Tripura','Meghalaya','Assam','West Bengal','Jharkhand','Odisha','Chhattisgarh','Madhya Pradesh','Gujarat','Daman & Diu','Dadra & Nagar Haveli','Maharashtra','Karnataka','Goa','Lakshdweep','Kerala','Tamil Nadu','Pondicherry','Andaman & Nicobar Islands','Telengana','Andhra Pradesh','Other Territory');?>
    <div class="row text-center animated fadeInRightBig">
        <div class="ibox float-e-margins">
            <div class="ibox-content" style="padding: 15px 20px 15px 20px;">
                <div class="row">
                    <div class="col-lg-3">
                        <label class="col-lg-4 m-t-xs">Items</label>
                        <div class="col-lg-8">
                            <select class="form-control" name="item_id" id="item_id">
                                <option value="0">All Items</option>
                                <?php if (count($item_list) > 0) {
                                    foreach ($item_list as $key => $value) {?>
                                        <option value="<?php echo $value->item_id;?>" <?php echo (!empty($item) && isset($item) && ($item == $value->item_id)) ? 'selected="selected"' : '';?>><?php echo $value->item_name;?></option>
                                    <?php }
                                }?>
                            </select>
                        </div>
                    </div>
                    <div class="col-lg-3">
                        <label class="col-lg-3 m-t-xs">From</label>
                        <div class="date_calender col-lg-9">
                            <div class="input-group date">
                                <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
                                <input type="text" name="start_date" id="start_date" class="form-control" value="<?php echo (!empty($start_date) ? date('d/m/Y',strtotime(str_replace('/', '-', $start_date))) : date('d/m/Y'));?>">
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-3">
                        <label class="col-lg-3 m-t-xs">To</label>
                        <div class="date_calender col-lg-9">
                            <div class="input-group date">
                                <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
                                <input type="text" name="end_date" id="end_date" class="form-control" value="<?php echo (!empty($end_date) ? date('d/m/Y',strtotime(str_replace('/', '-', $end_date))) : date('d/m/Y'));?>">
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-3"><button type="button" class="btn btn-info generate_report"><i class="fa fa-search"></i> Search</button></div>
                    <!-- <div class="col-lg-2"><button type="button" class="btn btn-info generate_excel"><i class="fa fa-file-excel-o"></i> Export Excel</button></div> -->
                </div>
            </div>
        </div>
        <div class="ibox float-e-margins">
            <div class="ibox-content" style="padding: 15px 20px 15px 20px;">
                <div class="row">
                    <table class="table" id="myTable">
                        <thead>
                            <tr>
                                <th>Item</th>
                                <th>Invoice#</th>
                                <th>Sale Date</th>
                                <th>Sale Qty.</th>
                                <th>Uom</th>
                                <th>GST%</th>
                                <th>Unit</th>
                                <th>Tax</th>
                                <th>Sell Price</th>
                            </tr>
                        </thead>
                        <tbody id="data_report">
                            <?php 
                            if (count($report) > 0) { 
                                $total_qty = 0;
                                $total_tax = 0;
                                $total_sale_amount = 0;
                                foreach ($report as $key_item => $value_item) {?>
                                    <tr>
                                       <td><?php echo !empty($value_item->item) ? $value_item->item : '';?></td>
                                       <td><?php echo !empty($value_item->invoice_no) ? $value_item->invoice_no : '';?></td>
                                       <td><?php echo !empty($value_item->invoice_date) ? date('d/m/Y',strtotime(str_replace('-', '/', $value_item->invoice_date))) : '';?></td>
                                       <td><?php echo !empty($value_item->qty) ? $value_item->qty  : '';?></td>
                                       <td><?php echo !empty($value_item->uom) ? $value_item->uom : '';?></td>
                                       <td><?php echo !empty($value_item->gst_rate) ? $value_item->gst_rate : '';?></td>
                                       <td><?php echo !empty($value_item->rate) ? $value_item->rate : '';?></td>
                                       <td><?php echo number_format((float)($value_item->cgst+$value_item->sgst+$value_item->igst), 2, '.', '');?></td>
                                       <td><?php echo number_format((float)($value_item->amount +$value_item->cgst+$value_item->sgst+$value_item->igst), 2, '.', '');?></td>
                                    </tr>
                            <?php 
                                    $total_qty += $value_item->qty;
                                    $total_tax += ($value_item->cgst+$value_item->sgst+$value_item->igst);
                                    $total_sale_amount += ($value_item->amount +$value_item->cgst+$value_item->sgst+$value_item->igst);
                                }?>
                                    <tr style="font-weight: bold;">
                                        <td>TOTAL</td>
                                        <td></td>
                                        <td></td>
                                        <td><?php echo $total_qty;?></td>
                                        <td></td>
                                        <td></td>
                                        <td></td>
                                        <td><?php echo number_format((float)$total_tax, 2, '.', '');?></td>
                                        <td><?php echo number_format((float)$total_sale_amount, 2, '.', '');?></td>
                                    </tr>
                            <?php }?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</div>
<?php $this->load->view($footer); ?>
<script type="text/javascript">
	$(document).ready(function(){
        var state = <?php echo json_encode($state_array);?>;
        $('#myTable').DataTable({
            "order": [[ 8, "asc" ]]
        });

        $('.date_calender .input-group.date').datepicker({
            todayBtn: "linked",
            keyboardNavigation: false,
            forceParse: false,
            calendarWeeks: true,
            language: 'en',
            autoclose: true
        });

        $('.generate_report').on('click',function(){ 
            var from = chage_date_format($('#start_date').val());
            var to = chage_date_format($('#end_date').val());
            var item_id = $('#item_id').val();
            window.location.href = '<?php echo site_url("reports/item_sales/'+item_id+'/'+from+'/'+to+'");?>';
        });

        $('.generate_excel').on('click',function(){
            var from = chage_date_format($('#start_date').val());
            var to = chage_date_format($('#end_date').val());
            var item_id = $('#item_id').val();
            $.ajax({
                    url: '<?php echo site_url("reports/item_sales/'+item_id+'/'+from+'/'+to+'");?>',
                    type: "POST",
                    data:{
                        'data' :'json',
                        'excel' :'1'
                    },
                    success: function(response){ 
                        var data = JSON.parse(response);
                        JSONToCSVConvertor(data, "Item Details Report", true);
                    }
                });
        });

        function JSONToCSVConvertor(JSONData, ReportTitle, ShowLabel) {
            //If JSONData is not an object then JSON.parse will parse the JSON string in an Object
            var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
            var CSV = '';    
            //Set Report title in first row or line
            //CSV += ReportTitle + '\r\n\n';
            //This condition will generate the Label/Header
            if (ShowLabel) {
                var row = "";
                //This loop will extract the label from 1st index of on array
                for (var index in arrData[0]) {
                    //Now convert each value to string and comma-seprated
                    row += index + ',';
                }
                row = row.slice(0, -1);
                //append Label row with line break
                CSV += row + '\r\n';
            }
            //1st loop is to extract each row
            for (var i = 0; i < arrData.length; i++) {
                var row = "";   
                //2nd loop will extract each column and convert it in string comma-seprated
                for (var index in arrData[i]) {
                    row += '"' + arrData[i][index] + '",';
                }
                row.slice(0, row.length - 1);
                //add a line break after each row
                CSV += row + '\r\n';
            }
            if (CSV == '') {        
                alert("Invalid data");
                return;
            }   
            //Generate a file name
            var fileName = "";
            //this will remove the blank-spaces from the title and replace it with an underscore
            fileName += ReportTitle.replace(/ /g,"_");   
            //Initialize file format you want csv or xls
            var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);
            // Now the little tricky part.
            // you can use either>> window.open(uri);
            // but this will not work in some browsers
            // or you will not get the correct file extension    
            
            //this trick will generate a temp <a /> tag
            var link = document.createElement("a");    
            link.href = uri;
            
            //set the visibility hidden so it will not effect on your web-layout
            link.style = "visibility:hidden";
            link.download = fileName + ".csv";
            
            //this part will append the anchor tag and remove it after automatic click
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link);
        }

        function chage_date_format(date_str){
            return date_str.replace('/','-').replace('/','-');
        }
	});
</script>