File "report_close.php"
Full path: /home/atrmarke/public_html/atrdemolive.site/pump/pages/report_close.php
File
size: 10.23 KB B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include("db/cn.php");
//session_start();
if(isset($_SESSION['user_name']) && isset($_SESSION['user_role']) && isset($_SESSION['outlet_name']) && isset($_SESSION['outlet_address'])) {
$userName = $_SESSION['user_name'];
$userRole = $_SESSION['user_role'];
$outlet_address = $_SESSION['outlet_address'];
$outlet_name = $_SESSION['outlet_name'];
}
$selected_customer = $_GET['customer'] ?? '';
$start_date = $_GET['start_date'] ?? '';
$end_date = $_GET['end_date'] ?? '';
$customers = mysqli_query($connection, "SELECT * FROM credit_note");
$results = [];
$total = 0;
if ($_SERVER['REQUEST_METHOD'] === 'GET' && (isset($_GET['customer']) || isset($_GET['start_date']) || isset($_GET['end_date']))) {
$query = "SELECT * FROM creditor_closing WHERE 1=1";
if ($selected_customer && $selected_customer !== 'All') {
$query .= " AND creditor_name = '" . mysqli_real_escape_string($connection, $selected_customer) . "'";
}
if ($start_date) {
$query .= " AND DATE(date_time) >= '" . mysqli_real_escape_string($connection, $start_date) . "'";
}
if ($end_date) {
$query .= " AND DATE(date_time) <= '" . mysqli_real_escape_string($connection, $end_date) . "'";
}
$query .= " ORDER BY date_time DESC";
$results = mysqli_query($connection, $query);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Customer Closing Report</title>
<!-- Custom fonts for this template-->
<link href="../vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@200;300;400;500;600;700&display=swap" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
<!-- Custom styles for this template-->
<link href="../css/sb-admin-2.min.css" rel="stylesheet">
<link href="../css/sb-admin-2.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<style>
body {
font-family: 'Quicksand', sans-serif;
}
.chart-container {
position: relative;
background: rgba(255, 255, 255, 0.9);
border-radius: 10px;
padding: 15px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
canvas {
max-width: 100%;
height: auto;
}
.bg-gradient-primary{
background:#0A4657;
color:#fff;
}
.btn-primary{
background:#0A4657;
color:#fff;
border:1px #0A4657 solid;
}
.btn-primary:hover{
background:#fff;
border:1px #0A4657 solid;
color:#0A4657;
}
.chart-container {
position: relative;
background: rgba(255, 255, 255, 0.9);
border-radius: 10px;
padding: 15px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
canvas {
max-width: 100%;
height: auto;
}
.fa-download:hover{
color:#953E39;
}
.btn{
font-weight:700;
}
.alert-dark{
background:#0A4567;
color:#fff;
font-weight:700;
text-align:center;
}
.form-control{
font-weight:700;
}
</style>
<body id="page-top">
<!-- Page Wrapper -->
<div id="wrapper">
<!-- Sidebar -->
<?php
include("common/sd.php");
?>
<!-- End of Sidebar -->
<!-- Content Wrapper -->
<div id="content-wrapper" class="d-flex flex-column">
<!-- Main Content -->
<div id="content">
<!-- Topbar -->
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<!-- Sidebar Toggle (Topbar) -->
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
<i class="fa fa-bars"></i>
</button>
<!-- Topbar Search -->
<?php include('common/log.php'); ?>
<!-- Topbar Navbar -->
</nav>
<!-- End of Topbar -->
<!-- Begin Page Content -->
<div class="container-fluid">
<h3 class="my-4" style="font-weight:700;color:#000;">Credit Closing Report</h3>
<form method="GET">
<div class="row mb-3">
<div class="col-md-3">
<label>Select Credit</label>
<select class="form-control" name="customer">
<option value="All">All</option>
<?php while($cr = mysqli_fetch_array($customers)) { ?>
<option value="<?php echo $cr['cr_name']; ?>" <?php if($selected_customer == $cr['cr_name']) echo 'selected'; ?>><?php echo $cr['cr_name']; ?></option>
<?php } ?>
</select>
</div>
<div class="col-md-3">
<label>Start Date</label>
<input type="date" class="form-control" name="start_date" value="<?php echo $start_date; ?>">
</div>
<div class="col-md-3">
<label>End Date</label>
<input type="date" class="form-control" name="end_date" value="<?php echo $end_date; ?>">
</div>
<div class="col-md-3 d-flex align-items-end">
<button class="btn btn-primary mr-2" type="submit">Filter</button>
<a href="report_close.php" class="btn btn-dark"><i class="fas fa-sync fa-1x"></i></a>
<button class="btn btn-danger" type="button" id="downloadPdf">Download PDF</button>
</div>
</div>
</form>
<?php if (!empty($results) && mysqli_num_rows($results) > 0) { ?>
<div id="reportSection">
<table class="table text-center table-bordered">
<thead class="bg-dark text-white">
<tr>
<th>Sr#</th>
<th>Date</th>
<th style="background:#0A4567;color:#fff;">Credit Name</th>
<th>Amount(Rs)</th>
</tr>
</thead>
<tbody>
<?php
$sr = 1;
$total = 0;
while($row = mysqli_fetch_array($results)) {
$total += (float)$row['remain_balance'];
?>
<tr class="text-capitalize">
<td><?php echo $sr++; ?></td>
<td><?php echo $row['date_time']; ?></td>
<td><?php echo $row['creditor_name']; ?></td>
<td><?php echo $row['remain_balance']; ?></td>
</tr>
<?php } ?>
</tbody>
<tfoot>
<tr class="font-weight-bold">
<td colspan="3" class="text-right">Total</td>
<td style="background:#0A4567;color:#fff"><?php echo number_format($total, 2); ?></td>
</tr>
</tfoot>
</table>
</div>
<?php } elseif ($_SERVER['REQUEST_METHOD'] === 'GET') { ?>
<div class="alert alert-dark">No records found for the selected filter.</div>
<?php } ?>
</div>
<!-- /.container-fluid -->
</div>
<br><br>
<!-- End of Main Content -->
<!-- Footer -->
<?php include("common/main_ft.php"); ?>
<!-- End of Footer -->
</div>
<!-- End of Content Wrapper -->
</div>
<!-- End of Page Wrapper -->
<!-- Scroll to Top Button-->
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5>
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
<a class="btn btn-primary" href="">Logout</a>
</div>
</div>
</div>
</div>
<script>
document.getElementById('downloadPdf').addEventListener('click', function () {
html2canvas(document.querySelector("#reportSection"), { scale: 2 }).then(canvas => {
const imgData = canvas.toDataURL('image/png');
const { jsPDF } = window.jspdf;
const pdf = new jsPDF('p', 'mm', 'a4');
const imgProps = pdf.getImageProperties(imgData);
const pdfWidth = pdf.internal.pageSize.getWidth();
const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;
pdf.addImage(imgData, 'PNG', 0, 0, pdfWidth, pdfHeight);
pdf.save("Customer_Closing_Report.pdf");
});
});
</script>
<script src="../vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="../js/sb-admin-2.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js"></script>
<!-- Bootstrap core JavaScript-->
<script src="../vendor/jquery/jquery.min.js"></script>
<script src="../vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Core plugin JavaScript-->
<script src="../vendor/jquery-easing/jquery.easing.min.js"></script>
</body>
</html>