<?php
ob_start();
require("includes/check_auth_user.php");
require("includes/dbconnect.php");
include('includes/function.php');

ini_set("display_errors", 1);
error_reporting(E_ERROR);

$maindb = 'rawmain';
$trandb = 'rawtran';
$formname = "Raw Material Wise Sales P/L";
$file = "rawmatwise.php";

$admin = $_SESSION["admin_" . $dbname];
$zdb = $_SESSION["zdbyear_" . $dbname];
$compcd = $_SESSION["comp_" . $dbname];

$myyear = $_SESSION[$myyear];
mysqli_select_db($conn, $zdb);
$zroot = $_SESSION["zdir"];

$zroot1 = substr($zroot, 0, -4);

$getprevyear = mysqli_query($conn, "SELECT cono, finyear FROM $zroot.`compyear` where `cono`='$compcd' 
                            and `finyear`!='$myyear' ORDER BY `lastdate` DESC LIMIT 0,1 ") or die(mysqli_error($conn));
$showprevyear = mysqli_fetch_array($getprevyear);
$prevyear = $showprevyear['finyear'];

$olddb = $zroot1 . $compcd . '_' . $prevyear;


$name = $_POST['name'];
$dtype = $_POST['rtype'];
$itemgrp = $_POST['itemgrp'];

$namecond = '';
$itemgrpcond = '';


if (!empty($name)) {
    $itemcond = " AND b.`item`='$name' ";
    $itemcond1 = " AND a.`item`='$name' ";
    $itemcond2 = " AND `item`='$name' ";
}

if (!empty($itemgrp)) {
    $itemgrpcond = " where `rawmatgrp`='$itemgrp' ";
    $itemgrpcond1 = " and b.`rawmatgrp`='$itemgrp' ";
}


if (empty($_POST["frmdt"])) {
    browse("From Date Cannot Be Empty");
    echo "<script>window.close();</script>";
}
if (empty($_POST["todt"])) {
    browse("To Date Cannot Be Empty");
    echo "<script>window.close();</script>";
}

$mfrmdate = trim($_POST["frmdt"]);
$mtodate = trim($_POST["todt"]);


$mfdt = date("d-m-Y", strtotime($mfrmdate));
$mtdt = date("d-m-Y", strtotime($mtodate));


$getpmain = mysqli_query($conn, "SELECT a.`item`, b.name as itemname, b.cost FROM $trandb a, rawmat b WHERE a.`item` = b.`code` and 
                                        a.`vouchdt`>= '$mfrmdate'  AND  a.`vouchdt` <='$mtodate'  $itemcond1 $itemgrpcond1 
                                        group by a.item order by b.name") or die(mysqli_error($conn));

if (isset($_POST["view"])) {

    include("includes/linkshead.php");
    ?>
    <style>
        @media print {

            .no-print,
            .no-print * {
                display: none !important;
            }
        }
    </style>
    </head>

    <body>
        <div class="container">
            
            <?php
            
            include("includes/head_rep.php"); 

            while ($rowm = mysqli_fetch_array($getpmain)) {
                $itemcode = $rowm['item'];

                $itrate = $rowm['cost'];

                $get = mysqli_query($conn, "SELECT a.vouchdt, DATE_FORMAT(a.`vouchdt`,'%d-%m-%Y') as  mydt ,
                                                   a.`party`, a.`vouchno`, b.qty, b.rate,  b.`amount`, b.`item`, 
                                                   a.`subtotal`, a.`lesother`, a.`cdiscamt`   
                                                   FROM $maindb a, $trandb b  WHERE  b.item = '$itemcode' and a.`vouchdt`>= '$mfrmdate'  
                                                   AND  a.`vouchdt` <='$mtodate' AND a.`vouchno` = b.`vouchno` order by b.item") or die(mysqli_error($conn));
                $getno = mysqli_num_rows($get);
                if ($getno > 0) {
                    ?>
                    <table class="table table-bordered  table-hover table-striped ">

                        <div class="row">
                            <div class="col-lg-6 col-sm-6">
                                <label class="label-control">Item - </label>
                                <label class="label-control"><?Php echo $rowm['itemname']; ?></label>
                            </div>
                        </div>

                        <thead class="mySearchTr">
                            <tr>
                                <th style="width:10%;">Sr.</th>
                                <th style="width:10%;">Date</th>
                                <th style="width:21%;">Customer</th>
                                <th style="width:10%;">Bill No.</th>
                                <th style="width:8%;" class='text-right'>Qty.</th>
                                <th style="width:8%;" class='text-right'>Rate</th>
                                <th style="width:8%;" class='text-right'>Avg. Cost</th>
                                <th style="width:10%;" class='text-right'>P/L (Each)</th>
                                <th style="width:15%;" class='text-right'>P/L Amount</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php
                            $ctr = 0;
                            $tqty = 0;
                            $tpl = 0;
                            $totamt = 0;

                            while ($row = mysqli_fetch_array($get)) {
                                $dperc = 0;

                                $dis = $row['lesother'] + $row['cdiscamt'];
                                $subtotal = (float) $row['subtotal'];

                                if ($subtotal != 0) {
                                    $dperc = ($dis * 100) / $subtotal;
                                } else {
                                    $dperc = 0;
                                }

                                $sldate = $row['vouchdt'];

                                $srate = $row['rate'];
                                $sactrate = $srate - (($row['rate'] * $dperc) / 100);

                                $getparty = mysqli_query($conn, "SELECT `accode`, `name` FROM `accmast` WHERE `accode`='$row[party]' ORDER BY `name`") or die(mysqli_error($conn));
                                $sparty = mysqli_fetch_array($getparty);

                                $getpur = mysqli_query($conn, "SELECT `rate` FROM `purrawtran` WHERE `item`='$row[item]' and rate > 0 and vouchdt <= '$sldate'") or die(mysqli_error($conn));
                                $chkpurrate = mysqli_num_rows($getpur);

                                $tpurrate = 0;
                                if ($chkpurrate > 0) {
                                    $tnum = $chkpurrate;
                                    while ($showpur = mysqli_fetch_array($getpur)) {
                                        $tpurrate = $tpurrate + $showpur['rate'];
                                    }
                                    $avgpurrate = round($tpurrate / $tnum, 2);
                                } else {
                                    if (!empty($prevyear)) {
                                        $getpurold = mysqli_query($conn, "SELECT `rate` FROM $olddb.`purrawtran` WHERE `item=`='$row[item]' and `rate` > 0 ") or die(mysqli_error($conn));
                                        $tnum = mysqli_num_rows($getpurold);

                                        if ($numshowrate > 0) {
                                            while ($showpurold = mysqli_fetch_array($getpurold)) {
                                                $tpurrate = $tpurrate + $showpurold['rate'];
                                            }
                                            $avgpurrate = round($tpurrate / $tnum, 2);
                                        } else {
                                            $getfromtrnf = mysqli_query($conn, "SELECT `rate` FROM `rawsacn` WHERE `itemcode`='$row[item]' and `source`='TR' and qty > 0 
                                            and `rate` > 0 and `vouchdt` <= '$sldate' ") or die(mysqli_error($conn));
                                            $tnum = mysqli_num_rows($getfromtrnf);
                                            if ($tnum > 0) {

                                                while ($showpurtrn = mysqli_fetch_array($getfromtrnf)) {
                                                    $tpurrate = $tpurrate + $showpurtrn['rate'];
                                                }
                                                $avgpurrate = round($tpurrate / $tnum, 2);
                                            } else {
                                                $avgpurrate = round($itrate, 2);
                                            }
                                        }
                                    }
                                }


                                if ($avgpurrate > 0) {
                                    $actpurrate = $avgpurrate;
                                    $diff = $sactrate - $actpurrate;
                                    $pl = $row["qty"] * $diff;
                                } else {
                                    $actpurrate = 0;
                                    $diff = 0;
                                    $pl = 0;
                                }


                                $ctr++;
                                $mnrateround = round($sactrate,2);
                                $diffround = round($diff,2);
                                $plround = round($pl,2);

                                echo "<tr> ";
                                echo "<td>$ctr</td>";
                                echo "<td>$row[mydt]</td>";
                                echo "<td>$sparty[name]</td>";
                                echo "<td>$row[vouchno]</td>";
                                echo "<td class='text-right'>$row[qty]</td>";
                                echo "<td class='text-right'>$mnrateround</td>";
                                echo "<td class='text-right'>$actpurrate</td>";
                                echo "<td class='text-right'>$diffround</td>";
                                echo "<td class='text-right'>$plround</td>";
                                echo "</tr>";

                                $tqty = $tqty + $row["qty"];
                                $tpl = $tpl + $pl;
                            }
                            echo "<tr> ";
                            echo "<td></td>";
                            echo "<td></td>";
                            echo "<td></td>";
                            echo "<td class='text-right' style=' color: #1ABC9C;'><b>Total</b></td>";
                            echo "<td class='text-right' style=' color: #1ABC9C;'><b>$tqty</b></td>";
                            echo "<td></td>";
                            echo "<td></td>";
                            echo "<td></td>";
                            echo "<td class='text-right' style=' color: #1ABC9C;' ><b>" . number_format($tpl, 2) . "</b></td>";
                            echo "</tr>";

                            $gtqty = $gtqty + $tqty;
                            $gtrate = $gtrate + $tpl;
                            $gtott = $gtott + $totamt;
                }
            }

            echo "<tr>";
            echo "<td></td>";
            echo "<td></td>";
            echo "<td></td>";
            echo "<td class='text-right' style=' color: red;'><b>Grand Total</b></td>";
            echo "<td class='text-right' style=' color: red;'><b>$gtqty</b></td>";
            echo "<td></td>";
            echo "<td></td>";
            echo "<td></td>";
            echo "<td class='text-right' style=' color: red;' ><b>" . number_format($gtrate, 2) . "</b></td>";
            echo "</tr>";
            ?>
                </tbody>

            </table>

        </div>

        <?php
        include("includes/linksfoot.php");
        ?>
    </body>

    </html>
    <?php
}


if (isset($_POST["excel"])) {

    while ($rowm = mysqli_fetch_array($getpmain)) {
        $itemcode = $rowm['item'];

        $itrate = $rowm['cost'];

        $get = mysqli_query($conn, "SELECT a.vouchdt, DATE_FORMAT(a.`vouchdt`,'%d-%m-%Y') as  mydt , a.`party`, a.`vouchno`, b.qty, b.rate,  b.`amount`, b.`item`, 
                                    a.`subtotal`, a.`lesother`, a.`cdiscamt`   
                                    FROM $maindb a, $trandb b  WHERE  b.item = '$itemcode' and a.`vouchdt`>= '$mfrmdate'  
                                    AND  a.`vouchdt` <='$mtodate' AND a.`vouchno` = b.`vouchno` order by b.item") or die(mysqli_error($conn));
        $getno = mysqli_num_rows($get);

        if ($getno > 0) {

            $contents .= "Item - $rowm[itemname]" . "\n";
            $contents .= "Sr., Date, Customer, Bill No., Qty., Rate, Avg. Cost, P/L (Each), P/L Amount \n";

            $ctr = 0;
            $tqty = 0;
            $tpl = 0;
            $totamt = 0;

            while ($row = mysqli_fetch_array($get)) {
                $dperc = 0;

                $dis = $row['lesother'] + $row['cdiscamt'];
                $subtotal = (float) $row['subtotal'];

                if ($subtotal != 0) {
                    $dperc = ($dis * 100) / $subtotal;
                } else {
                    $dperc = 0;
                }

                $sldate = $row['vouchdt'];

                $srate = $row['rate'];
                $sactrate = $srate - (($row['rate'] * $dperc) / 100);

                $getparty = mysqli_query($conn, "SELECT `accode`, `name` FROM `accmast` WHERE  `accode`='$row[party]' ORDER BY `name`") or die(mysqli_error($conn));
                $sparty = mysqli_fetch_array($getparty);

                $getpur = mysqli_query($conn, "SELECT `rate` FROM `purtran` WHERE `itemcode`='$row[item]' and rate > 0 and vouchdt <= '$sldate'") or die(mysqli_error($conn));
                $chkpurrate = mysqli_num_rows($getpur);

                $tpurrate = 0;
                if ($chkpurrate > 0) {
                    $tnum = $chkpurrate;
                    while ($showpur = mysqli_fetch_array($getpur)) {
                        $tpurrate = $tpurrate + $showpur['rate'];
                    }
                    $avgpurrate = round($tpurrate / $tnum, 2);
                } else {
                    if (!empty($prevyear)) {
                        $getpurold = mysqli_query($conn, "SELECT `rate` FROM $olddb.`purtran` WHERE `itemcode`='$row[item]' and `rate` > 0 ") or die(mysqli_error($conn));
                        $tnum = mysqli_num_rows($getpurold);

                        if ($numshowrate > 0) {
                            while ($showpurold = mysqli_fetch_array($getpurold)) {
                                $tpurrate = $tpurrate + $showpurold['rate'];
                            }
                            $avgpurrate = round($tpurrate / $tnum, 2);
                        } else {
                            $getfromtrnf = mysqli_query($conn, "SELECT `rate` FROM `transacn` WHERE `itemcode`='$row[item]' and `source`='TR' and qty > 0 
                                            and `rate` > 0 and `vouchdt` <= '$sldate' ") or die(mysqli_error($conn));
                            $tnum = mysqli_num_rows($getfromtrnf);
                            if ($tnum > 0) {

                                while ($showpurtrn = mysqli_fetch_array($getfromtrnf)) {
                                    $tpurrate = $tpurrate + $showpurtrn['rate'];
                                }
                                $avgpurrate = round($tpurrate / $tnum, 2);
                            } else {
                                $avgpurrate = round($itrate, 2);
                            }
                        }
                    }
                }


                if ($avgpurrate > 0) {
                    $actpurrate = $avgpurrate;
                    $diff = $sactrate - $actpurrate;
                    $pl = $row["qty"] * $diff;
                } else {
                    $actpurrate = 0;
                    $diff = 0;
                    $pl = 0;
                }


                $ctr++;
                $mnrateround = round($sactrate);
                $diffround = round($diff);
                $plround = round($pl);

                $contents .= "$ctr" . ",";
                $contents .= "$row[mydt]" . ",";
                $contents .= "$sparty[name]" . ",";
                $contents .= "$row[vouchno]" . ",";
                $contents .= "$row[qty]" . ",";
                $contents .= "$mnrateround" . ",";
                $contents .= "$actpurrate" . ",";
                $contents .= "$diffround" . ",";
                $contents .= "$plround" . "\n";

                $tqty = $tqty + $row["qty"];
                $tpl = $tpl + $pl;
            }

            $contents .= "" . ",";
            $contents .= "" . ",";
            $contents .= "" . ",";
            $contents .= "Total" . ",";
            $contents .= "$tqty" . ",";
            $contents .= "" . ",";
            $contents .= "" . ",";
            $contents .= "" . ",";
            $contents .= "$tpl" . "\n";

            $gtqty = $gtqty + $tqty;
            $gtrate = $gtrate + $tpl;
            $gtott = $gtott + $totamt;
        }
    }
    $contents .= "" . ",";
    $contents .= "" . ",";
    $contents .= "" . ",";
    $contents .= "Grand Total" . ",";
    $contents .= "$gtqty" . ",";
    $contents .= "" . ",";
    $contents .= "" . ",";
    $contents .= "" . ",";
    $contents .= "$gtrate" . "\n";

    $contents = strip_tags($contents);

    if ($_POST["dtype"] == 1) {
        header("Content-Disposition: attachment; filename=$formname" . "_Summary" . date('d-m-Y') . ".csv");
        print $contents;
    } else {
        header("Content-Disposition: attachment; filename=$formname" . "_Detail" . date('d-m-Y') . ".csv");
        print $contents;
    }
}