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

$zdb = $_SESSION["zdbyear_" . $dbname];
$admin = $_SESSION["admin_" . $dbname];
mysqli_select_db($conn, $zdb);

$zyear = $_SESSION["tit_" . $dbname];
$admin = $_SESSION["admin_" . $dbname];
$maindb = 'accmast';



$trandb = "actran";
$bankrecp = "bankrecp";
$bankpay = "bankpay";
$cashrecp = "cashrecp";
$cashpay = "cashpay";
$contra = "contra";

//$mpara = $_GET["para"];

$bgrp = "001";
$msource1 = "JV";
//    $msource2 = "BP";




    $acond = "";

    if (!empty($_POST["name"])) {

        $code = trim($_POST["name"]);
        $acond = "AND `accode`='$code'";
    }
    $mfrmdate = trim($_POST["frmdate"]);
    $mtodate = trim($_POST["todate"]);

    if ($mfrmdate > $mtodate) {

        browse("To Date Cannot Be Less Than From Date");
        header("refresh: 1; ledger.php");
        exit();
    }
    $prntype = $_POST["dtype"];
    $prnnarr = $_POST["prinarr"];

    if ($prntype == 1) {
        $formname = "JV Book";
    } elseif ($prntype == 2) {
        $formname = "Bank Book - Only Debits";
    } else {
        $formname = "Bank Book - Only Credits";
    }
    $mfdt = date("d-m-Y", strtotime($mfrmdate));
    $mtdt = date("d-m-Y", strtotime($mtodate));
    $acc = mysqli_query($conn, "SELECT * FROM `$maindb` WHERE accode!='' $acond") or die(mysqli_error($conn));
if (isset($_POST["view"])) {

    include("includes/linkshead.php");
    ?>
    <body>
        <div class="container">
            <?php include("includes/head_rep.php"); ?>
            <div class="row">
                <div class="col-lg-12 pad">
                    <table class=" table table-condensed table-hover table-striped" summary="Ledger - Detail" width='100%' border="0">    
                        <tbody>
                            <?php
                            mysqli_select_db($conn, $zdb);
                            $totbal = 0;

                            while ($getac = mysqli_fetch_array($acc)) {
                                /** Detail Part* */
                                $totbal = 0;
                                $dtot = 0;
                                $ctot = 0;
                                $maccode = $getac["accode"];
                                $mbankinit = $getac["bankinit"];
                                $macname = $getac["name"];
                                $mopbal = $getac["openbal"];
                                $mopdc = $getac["dc"];

                                if ($mopdc == "D") {
                                    $mopbal = $mopbal * - 1;
                                }
   

                                $ctran1 = mysqli_query($conn, "SELECT *, DATE_FORMAT(`date`, '%d-%m-%Y') as mydt FROM `$trandb` WHERE
                                                                  trnno != '001' AND bankinit='$mbankinit' AND
                                                                  source = '$msource1' AND 
                                                                  vouchno+source IN (SELECT vouchno+source FROM $trandb WHERE 
                                                                  accode = '$maccode' AND `date`>='$mfrmdate' AND `date`<='$mtodate'
                                                                  AND source = '$msource1' )
                                                                  ORDER BY date, source, vouchno ") or die(mysqli_error($conn));
    

    $getbal = mysqli_query($conn, "SELECT SUM(amount) as amt FROM `$trandb` WHERE accode='$maccode' AND 
                                                           `date`<'$mfrmdate' AND `retdate` IS NOT NULL AND `retdate`!='0000-00-00' ") or die(mysqli_error($conn));
                                $getamt = mysqli_fetch_array($getbal);

                                $amt = $getamt["amt"];
                                $mobal = $mopbal + $amt;
                                $mdebit = 0;
                                $mcredit = 0;

                                if ($mobal < 0) {
                                    $mdc = "DR";
                                    $mdebit = abs($mobal);
                                    $dtot = $dtot + $mdebit;
                                } else {
                                    $mdc = "CR";
                                    $mcredit = abs($mobal);
                                    $ctot = $ctot + $mcredit;
                                }
                                $vdate1 = strtotime($mfrmdate);
                                $vdate = date('d-m-Y', $vdate1);
                                $mvouch = "";
                                $mdescrip = "Opening Balance";
                                $totbal = $totbal + $mobal;

                                if ($totbal < 0) {
                                    $mdctot = "DR";
                                } else {
                                    $mdctot = "CR";
                                }
                                echo "<tr style='height:10px;background-color: #78909C'>";
                                echo "<th style=\"text-align:left;\" scope=\"col\" width=\"500\" colspan='9'><b>" . strtoupper($macname) . "</b></th>";
                                echo "</tr>";
                                ?>
                                <tr style="height:10px; background-color: #CCCCCC" >
                                    <th style="text-align:left;" scope="col" width="200"><b>Date</b></th>
                                    <th style="text-align:left;" scope="col" width="50"><b>Voucher</b></th>
                                    <th style="text-align:left;" scope="col" width="600"><b>Description</b></th>
                                    <th style="text-align:right;" scope="col" width="130"><b>Debit</b></th>
                                    <th style="text-align:right;" scope="col" width="130"><b>Credit</b></th>
                                    <th style="text-align:right;" scope="col" width="180"><b>Balance</b></th>
                                </tr>

                                <?php
                                echo "<td style=\"text-align:left;\" scope=\"col\" width=\"150\">$vdate</td>";
                                echo "<td style=\"text-align:left;\" scope=\"col\" width=\"80\">$mvouch</td>";
                                echo "<td style=\"text-align:left;\" scope=\"col\" width=\"400\">$mdescrip</td>";

                                if ($prntype == 1) {

                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\">$mdebit</td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\">$mcredit</td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\">" . abs($totbal) . " " . $mdctot . "</td>";
                                } elseif ($prntype == 2) {
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\">$mdebit</td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\"></td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\"></td>";
                                } else {
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\"></td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\">$mcredit</td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\"></td>";
                                }
                                while ($row = mysqli_fetch_assoc($ctran1)) {

                                    $vdate = $row["mydt"];
                                    $msource = $row["source"];
                                    $mvouch = $row["vouchno"];
                                    $mamount = $row["amount"];
                                    $daccode = $row["accode"];
                                    $mdebit = 0;
                                    $mcredit = 0;

                                    if ($mamount < 0) {
                                        $mdc = "DR";
                                        $mdebit = abs($mamount);
                                        $dtot = $dtot + $mdebit;
                                    } else {
                                        $mdc = "CR";
                                        $mcredit = abs($mamount);
                                        $ctot = $ctot + $mcredit;
                                    }
                                    $totbal = $totbal + $mamount;

                                    if ($totbal < 0) {
                                        $mdctot = "DR";
                                    } else {
                                        $mdctot = "CR";
                                    }
                                    $mdescrip = "";
                                    $mchqdtl = "";
                                    $mnarr = "";

                                    $nqry1 = mysqli_query($conn, "SELECT name FROM `accmast` WHERE accode = '$daccode'") or die(mysqli_error($conn));
                                    $nqry = mysqli_fetch_array($nqry1);

                                    $head = $nqry["name"];

                                    switch ($msource) {

                                        case "JV";
                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT chqno, DATE_FORMAT(`chqdate`, '%d-%m-%Y') as mbilldate, remark1
                                                                        FROM `$bankrecp`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mbill = $nqry["chqno"];
                                                $mbilldt = $nqry["mbilldate"];
                                                $mnarr = $nqry["remark1"];
                                                $mchqdtl = "Cheque No. : " . + trim($mbill) . " &nbsp;&nbsp;Dated : " . $mbilldt;
                                            }
                                            break;

                                        case "BP";

                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT chqno, DATE_FORMAT(`chqdate`, '%d-%m-%Y') as mbilldate, remark1 
                                                                         FROM `$bankpay`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mbill = $nqry["chqno"];
                                                $mbilldt = $nqry["mbilldate"];
                                                $mnarr = $nqry["remark1"];
                                                $mchqdtl = "Cheque No. : " . + trim($mbill) . " &nbsp;&nbsp;Dated : " . $mbilldt;
                                            }
                                            break;

                                        case "CR";

                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT `remark1` FROM `$cashrecp`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mbill = '';
                                                $mbilldt = '';
                                                $mnarr = $nqry["remark1"];
                                                //$mchqdtl = "Cheque No. : ".+ trim($mbill)." &nbsp;&nbsp;Dated : ".$mbilldt;  
                                            }
                                            break;

                                        case "CP";

                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT `remark1` FROM `$cashpay`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mbill = $nqry[""];
                                                $mbilldt = $nqry[""];
                                                $mnarr = $nqry["remark1"];
                                                //$mchqdtl = "Cheque No. : ".+ trim($mbill)." &nbsp;&nbsp;Dated : ".$mbilldt;  
                                            }
                                            break;

                                        case "TR";
                                            $head = "Contra / Transfer";
                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT `narration` FROM `$contra`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mnarr = $nqry["narration"];
                                            }
                                            break;
                                        default :
                                            $head = "Other";
                                    }
                                    echo "<tr style='height:10px'>";
                                    echo "<td style=\"text-align:left;\" scope=\"col\" width=\"120\" valign='top'>$vdate</td>";
                                    echo "<td style=\"text-align:left;\" scope=\"col\" width=\"80\" valign='top'>" . $msource . " " . $mvouch . "</td>";
                                    echo "<td style=\"text-align:left;\" scope=\"col\" width=\"400\" valign='top'>$head";

                                    if ($prnnarr == 1) {

                                        if (!empty($mchqdtl)) {
                                            echo "<br/>$mchqdtl";
                                            if (!empty($mnarr)) {
                                                echo "<br/>";
                                                echo $mnarr;
                                            }
                                            echo"</td>";
                                        }
                                    }
                                    echo "</td>";
                                    if ($prntype == 1) {
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\" valign='top'>$mdebit</td>";
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\" valign='top'>$mcredit</td>";
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\" valign='top'> " . abs($totbal) . " " . $mdctot . "</td>";
                                    } elseif ($prntype == 2) {
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\" valign='top'>$mdebit</td>";

                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\" valign='top'></td>";
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\" valign='top'></td>";
                                    } else {

                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\" valign='top'></td>";
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"180\" valign='top'>$mcredit</td>";
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\" valign='top'></td>";
                                    }
                                    echo "</tr>";
                                }
                                echo "<tr style='height:10px'>";
                                echo "<td style=\"text-align:left;\" scope=\"col\" width=\"200\"></td>";
                                echo "<td style=\"text-align:left;\" scope=\"col\" width=\"200\"></td>";
                                echo "<td style=\"text-align:left;\" scope=\"col\" width=\"200\"><strong>Total</strong></td>";

                                if ($prntype == 1) {

                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\">$dtot</td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\">$ctot</td>";

                                    if ($totbal < 0) {
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\"><font color='red'><strong>" . abs($totbal) . " " . $mdctot . "</strong></font></td>";
                                    } else {
                                        echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\"><font color='green'><strong>" . abs($totbal) . " " . $mdctot . "</strong></font></td>";
                                    }
                                } elseif ($prntype == 2) {

                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\">$dtot</td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\"></td>";
                                } else {

                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\"></td>";
                                    echo "<td style=\"text-align:right;\" scope=\"col\" width=\"200\">$ctot</td>";
                                }
                                echo "</tr>";
                            }
                            ?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
        <?php
        include("includes/linksfoot.php");
    }
    if (isset($_POST["excel"])) {

                            mysqli_select_db($conn, $zdb);
                            $totbal = 0;

                            while ($getac = mysqli_fetch_array($acc)) {
                                $totbal = 0;
                                $dtot = 0;
                                $ctot = 0;
                                $maccode = $getac["accode"];
                                $mbankinit = $getac["bankinit"];
                                $macname = $getac["name"];
                                $mopbal = $getac["openbal"];
                                $mopdc = $getac["dc"];

                                if ($mopdc == "D") {
                                    $mopbal = $mopbal * - 1;
                                }
   

                                $ctran1 = mysqli_query($conn, "SELECT *, DATE_FORMAT(`date`, '%d-%m-%Y') as mydt FROM `$trandb` WHERE
                                                                  trnno != '001' AND bankinit='$mbankinit' AND
                                                                  source = '$msource1' AND 
                                                                  vouchno+source IN (SELECT vouchno+source FROM $trandb WHERE 
                                                                  accode = '$maccode' AND `date`>='$mfrmdate' AND `date`<='$mtodate'
                                                                  AND source = '$msource1' )
                                                                  ORDER BY date, source, vouchno ") or die(mysqli_error($conn));
    

    $getbal = mysqli_query($conn, "SELECT SUM(amount) as amt FROM `$trandb` WHERE accode='$maccode' AND 
                                                           `date`<'$mfrmdate' AND `retdate` IS NOT NULL AND `retdate`!='0000-00-00' ") or die(mysqli_error($conn));
                                $getamt = mysqli_fetch_array($getbal);

                                $amt = $getamt["amt"];
                                $mobal = $mopbal + $amt;
                                $mdebit = 0;
                                $mcredit = 0;

                                if ($mobal < 0) {
                                    $mdc = "DR";
                                    $mdebit = abs($mobal);
                                    $dtot = $dtot + $mdebit;
                                } else {
                                    $mdc = "CR";
                                    $mcredit = abs($mobal);
                                    $ctot = $ctot + $mcredit;
                                }
                                $vdate1 = strtotime($mfrmdate);
                                $vdate = date('d-m-Y', $vdate1);
                                $mvouch = "";
                                $mdescrip = "Opening Balance";
                                $totbal = $totbal + $mobal;

                                if ($totbal < 0) {
                                    $mdctot = "DR";
                                } else {
                                    $mdctot = "CR";
                                }
                                $contents .="$macname\n";

                                $contents .="Date, Voucher, Description, Debit, Credit, Balance\n";

                                $contents .="$vdate" . ",";
                                $contents .="$mvouch" . ",";
                                $contents .="$mdescrip" . ",";

                                if ($prntype == 1) {
                                    $contents .="$mdebit" . ",";
                                    $contents .="$mcredit" . ",";
                                    $contents .="$totbal" . "$mdctot" . "\n";
                                } elseif ($prntype == 2) {
                                    $contents .="$mdebit" . ",";
                                    $contents .="" . ",";
                                    $contents .="" . "\n";
                                } else {
                                    $contents .="" . ",";
                                    $contents .="$mcredit" . ",";
                                    $contents .="" . "\n";
                                }
                                while ($row = mysqli_fetch_assoc($ctran1)) {

                                    $vdate = $row["mydt"];
                                    $msource = $row["source"];
                                    $mvouch = $row["vouchno"];
                                    $mamount = $row["amount"];
                                    $daccode = $row["accode"];
                                    $mdebit = 0;
                                    $mcredit = 0;

                                    if ($mamount < 0) {
                                        $mdc = "DR";
                                        $mdebit = abs($mamount);
                                        $dtot = $dtot + $mdebit;
                                    } else {
                                        $mdc = "CR";
                                        $mcredit = abs($mamount);
                                        $ctot = $ctot + $mcredit;
                                    }
                                    $totbal = $totbal + $mamount;

                                    if ($totbal < 0) {
                                        $mdctot = "DR";
                                    } else {
                                        $mdctot = "CR";
                                    }
                                    $mdescrip = "";
                                    $mchqdtl = "";
                                    $mnarr = "";

                                    $nqry1 = mysqli_query($conn, "SELECT name FROM `accmast` WHERE accode = '$daccode'") or die(mysqli_error($conn));
                                    $nqry = mysqli_fetch_array($nqry1);

                                    $head = $nqry["name"];

                                    switch ($msource) {

                                        case "JV";
                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT chqno, DATE_FORMAT(`chqdate`, '%d-%m-%Y') as mbilldate, remark1
                                                                        FROM `$bankrecp`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mbill = $nqry["chqno"];
                                                $mbilldt = $nqry["mbilldate"];
                                                $mnarr = $nqry["remark1"];
                                                $mchqdtl = "Cheque No. : " . + trim($mbill) . " Dated : " . $mbilldt;
                                            }
                                            break;

                                        case "BP";

                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT chqno, DATE_FORMAT(`chqdate`, '%d-%m-%Y') as mbilldate, remark1 
                                                                         FROM `$bankpay`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mbill = $nqry["chqno"];
                                                $mbilldt = $nqry["mbilldate"];
                                                $mnarr = $nqry["remark1"];
                                                $mchqdtl = "Cheque No. : " . + trim($mbill) . " Dated : " . $mbilldt;
                                            }
                                            break;

                                        case "CR";

                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT `remark1` FROM `$cashrecp`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mbill = '';
                                                $mbilldt = '';
                                                $mnarr = $nqry["remark1"];
                                                //$mchqdtl = "Cheque No. : ".+ trim($mbill)." &nbsp;&nbsp;Dated : ".$mbilldt;  
                                            }
                                            break;

                                        case "CP";

                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT `remark1` FROM `$cashpay`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mbill = $nqry[""];
                                                $mbilldt = $nqry[""];
                                                $mnarr = $nqry["remark1"];
                                                //$mchqdtl = "Cheque No. : ".+ trim($mbill)." &nbsp;&nbsp;Dated : ".$mbilldt;  
                                            }
                                            break;

                                        case "TR";
                                            $head = "Contra / Transfer";
                                            if ($prnnarr == 1) {
                                                $nqry1 = mysqli_query($conn, "SELECT `narration` FROM `$contra`
                                                                       WHERE vouchno='$mvouch'") or die(mysqli_error($conn));
                                                $nqry = mysqli_fetch_array($nqry1);

                                                $mnarr = $nqry["narration"];
                                            }
                                            break;
                                        default :
                                            $head = "Other";
                                    }
                                    $contents .="$vdate" . ",";
                                    $contents .="$msource" . "$mvouch" . ",";
                                    $contents .="$head" . "\n";
                                    $contents .="" . ",,";

                                    if ($prnnarr == 1) {

                                        if (!empty($mchqdtl)) {
                                            $contents .="$mchqdtl" . ",";
                                            if (!empty($mnarr)) {
                                                $contents .="$mnarr" . ",";
                                            }
                                            // $contents .="" . ",";
                                        }
                                    }
                                    // $contents .="" . ",";
                                    if ($prntype == 1) {
                                        $contents .="$mdebit" . ",";
                                        $contents .="$mcredit" . ",";
                                        $contents .="$totbal" . "$mdctot" . ",";
                                    } elseif ($prntype == 2) {
                                        $contents .="$mdebit" . ",";
                                        $contents .="" . ",";
                                        $contents .="" . ",";
                                    } else {
                                        $contents .="" . ",";
                                        $contents .="$mcredit" . ",";
                                        $contents .="" . ",";
                                    }
                                    $contents .="" . "\n";
                                }
                                $contents .="" . ",";
                                $contents .="" . ",";
                                $contents .="Total" . ",";
                                if ($prntype == 1) {
                                    $contents .="$dtot" . ",";
                                    $contents .="$ctot" . ",";
                                    if ($totbal < 0) {
                                        $contents .="$totbal" . "$mdctot" . ",";
                                    } else {
                                        $contents .="$totbal" . "$mdctot" . ",";
                                    }
                                } elseif ($prntype == 2) {

                                    $contents .="$dtot" . ",";
                                    $contents .="" . ",";
                                } else {
                                    
                                    $contents .="" . ",";
                                    $contents .="$ctot" . ",";
                                }
                                $contents .="" . "\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;
        }
    }
    ?>        



