39728-vm/temp_debts.log
2026-04-23 16:59:54 +00:00

446 lines
28 KiB
Plaintext

<!doctype html>
<html lang="ar" dir="rtl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>الديون والفواتير الآجلة · حلوى الريامي | Al Riyami Sweets</title>
<meta name="description" content='حلوى الريامي: Simplify sweets sales with multilingual POS, stock management, and detailed reports for multi-branch effic' />
<meta property="og:description" content="حلوى الريامي: Simplify sweets sales with multilingual POS, stock management, and detailed reports for multi-branch effic" />
<meta property="twitter:description" content="حلوى الريامي: Simplify sweets sales with multilingual POS, stock management, and detailed reports for multi-branch effic" />
<meta property="og:image" content="https://project-screens.s3.amazonaws.com/screenshots/39728/app-hero-20260419-014257.png" />
<meta property="twitter:image" content="https://project-screens.s3.amazonaws.com/screenshots/39728/app-hero-20260419-014257.png" />
<meta name="theme-color" content="#343a40" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link rel="stylesheet" href="assets/css/custom.css?v=202604232013">
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
</head>
<body class="">
<!-- Private Admin Layout -->
<div class="d-flex" id="wrapper">
<!-- Sidebar -->
<div class="border-end bg-dark text-white shadow-sm" id="sidebar-wrapper">
<div class="sidebar-heading text-center py-4 fs-5 fw-bold text-uppercase border-bottom border-secondary d-flex flex-column align-items-center">
<i class="bi bi-shop me-2 fs-2 mb-2"></i>
<span>حلوى الريامي</span>
</div>
<div class="p-3 text-center border-bottom border-secondary">
<div class="fw-semibold">كاشير فرع صحار</div>
<div class="text-white-50 small">كاشير · فرع صحار</div>
</div>
<div class="list-group list-group-flush my-3 pb-5" id="sidebar-navigation">
<a class="list-group-item list-group-item-action " href="index.php?lang=ar">
<i class="bi bi-speedometer2"></i> لوحة التحكم </a>
<a class="list-group-item list-group-item-action " href="suppliers.php?lang=ar">
<i class="bi bi-truck"></i> الموردون </a>
<a class="list-group-item list-group-item-action " href="customers.php?lang=ar">
<i class="bi bi-people-fill"></i> العملاء </a>
<a class="list-group-item list-group-item-action active" href="debts.php?lang=ar">
<i class="bi bi-journal-text"></i> الديون والفواتير الآجلة </a>
</div>
</div>
<!-- /#sidebar-wrapper -->
<!-- Page Content -->
<div id="page-content-wrapper" class="d-flex flex-column min-vh-100">
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom top-navbar px-3">
<div class="d-flex align-items-center justify-content-between w-100">
<div class="d-flex align-items-center">
<button class="btn btn-outline-secondary me-2" id="menu-toggle"><i class="bi bi-list"></i></button>
<h4 class="mb-0 ms-2 fw-semibold d-none d-md-block">الديون والفواتير الآجلة</h4>
</div>
<div class="d-flex align-items-center gap-3">
<a href="shop.php" target="_blank" class="btn btn-outline-success btn-sm me-2" title="زيارة المتجر"><i class="bi bi-shop"></i> <span class="d-none d-md-inline">المتجر</span></a>
<div class="language-switcher btn-group" role="group">
<a class="btn btn-sm btn-primary" href="test_debts_cli.php?lang=ar">AR</a>
<a class="btn btn-sm btn-outline-primary" href="test_debts_cli.php?lang=en">EN</a>
</div>
<div class="dropdown">
<button class="btn btn-light dropdown-toggle border" type="button" id="userMenu" data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-person-circle"></i> كاشير فرع صحار </button>
<ul class="dropdown-menu dropdown-menu-end shadow" aria-labelledby="userMenu">
<li><a class="dropdown-item" href="profile.php?lang=ar"><i class="bi bi-person me-2 text-primary"></i> الملف الشخصي</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="logout.php?lang=ar"><i class="bi bi-box-arrow-right text-danger me-2"></i> تسجيل الخروج</a></li>
</ul>
</div>
</div>
</div>
</nav>
<div class="container-fluid p-4">
<!-- Flash messages integration using SweetAlert2 -->
<div class="d-flex justify-content-between align-items-center mb-4">
<h1 class="h3 mb-0 text-gray-800">الديون والفواتير الآجلة</h1>
</div>
<div class="row">
<!-- Debts by Customer -->
<div class="col-lg-4 mb-4">
<div class="card shadow-sm border-0 h-100">
<div class="card-header bg-white border-bottom-0 pt-4 pb-0">
<h6 class="m-0 font-weight-bold text-primary"><i class="bi bi-people"></i> الديون حسب العميل</h6>
</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<div>
<strong>Moosa Ali Al-Abri</strong>
<div class="small text-muted" dir="ltr">99359472</div>
<div class="small text-muted">7 فواتير مفتوحة</div>
<div class="small text-warning">3 منها دفعات جزئية</div>
</div>
<span class="badge bg-danger rounded-pill fs-6">280.410 ر.ع</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center px-0">
<div>
<strong>عميل غير معروف</strong>
<div class="small text-muted">3 فواتير مفتوحة</div>
<div class="small text-warning">1 منها دفعات جزئية</div>
</div>
<span class="badge bg-danger rounded-pill fs-6">8.122 ر.ع</span>
</li>
</ul>
</div>
</div>
</div>
<!-- Unpaid Invoices -->
<div class="col-lg-8 mb-4">
<div class="card shadow-sm border-0 h-100">
<div class="card-header bg-white border-bottom-0 pt-4 pb-0">
<h6 class="m-0 font-weight-bold text-primary"><i class="bi bi-receipt"></i> الفواتير غير المدفوعة والجزئية</h6>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-hover align-middle mb-0">
<thead class="table-light">
<tr>
<th>رقم الفاتورة</th>
<th>العميل</th>
<th>الهاتف</th>
<th>التاريخ</th>
<th>الإجمالي</th>
<th>المدفوع</th>
<th>المتبقي</th>
<th>الحالة</th>
<th>الإجراء</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<a href="sale.php?id=28&amp;lang=ar" class="fw-bold text-decoration-none">
6 </a>
</td>
<td>Moosa Ali Al-Abri</td>
<td dir="ltr">-</td>
<td>2026-04-22</td>
<td class="fw-semibold">3.150 ر.ع</td>
<td class="text-primary">0.000 ر.ع</td>
<td class="fw-bold text-danger">3.150 ر.ع</td>
<td>
<span class="badge bg-danger text-white">غير مدفوعة</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(28, 3.15, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=27&amp;lang=ar" class="fw-bold text-decoration-none">
5 </a>
</td>
<td>Moosa Ali Al-Abri</td>
<td dir="ltr">-</td>
<td>2026-04-22</td>
<td class="fw-semibold">1,260.000 ر.ع</td>
<td class="text-primary">1,000.000 ر.ع</td>
<td class="fw-bold text-danger">260.000 ر.ع</td>
<td>
<span class="badge bg-warning text-dark">مدفوعة جزئياً</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(27, 260, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=26&amp;lang=ar" class="fw-bold text-decoration-none">
4 </a>
</td>
<td>-</td>
<td dir="ltr">-</td>
<td>2026-04-22</td>
<td class="fw-semibold">2.830 ر.ع</td>
<td class="text-primary">2.828 ر.ع</td>
<td class="fw-bold text-danger">0.002 ر.ع</td>
<td>
<span class="badge bg-warning text-dark">مدفوعة جزئياً</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(26, 0.002, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=23&amp;lang=ar" class="fw-bold text-decoration-none">
877100 </a>
</td>
<td>Moosa Ali Al-Abri</td>
<td dir="ltr">-</td>
<td>2026-04-22</td>
<td class="fw-semibold">5.250 ر.ع</td>
<td class="text-primary">2.000 ر.ع</td>
<td class="fw-bold text-danger">3.250 ر.ع</td>
<td>
<span class="badge bg-warning text-dark">مدفوعة جزئياً</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(23, 3.25, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=22&amp;lang=ar" class="fw-bold text-decoration-none">
900748 </a>
</td>
<td>Moosa Ali Al-Abri</td>
<td dir="ltr">-</td>
<td>2026-04-21</td>
<td class="fw-semibold">2.830 ر.ع</td>
<td class="text-primary">1.000 ر.ع</td>
<td class="fw-bold text-danger">1.830 ر.ع</td>
<td>
<span class="badge bg-warning text-dark">مدفوعة جزئياً</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(22, 1.83, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=19&amp;lang=ar" class="fw-bold text-decoration-none">
132196 </a>
</td>
<td>Moosa Ali Al-Abri</td>
<td dir="ltr">-</td>
<td>2026-04-20</td>
<td class="fw-semibold">5.490 ر.ع</td>
<td class="text-primary">0.000 ر.ع</td>
<td class="fw-bold text-danger">5.490 ر.ع</td>
<td>
<span class="badge bg-danger text-white">غير مدفوعة</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(19, 5.49, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=18&amp;lang=ar" class="fw-bold text-decoration-none">
968774 </a>
</td>
<td>Moosa Ali Al-Abri</td>
<td dir="ltr">-</td>
<td>2026-04-20</td>
<td class="fw-semibold">3.150 ر.ع</td>
<td class="text-primary">0.000 ر.ع</td>
<td class="fw-bold text-danger">3.150 ر.ع</td>
<td>
<span class="badge bg-danger text-white">غير مدفوعة</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(18, 3.15, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=17&amp;lang=ar" class="fw-bold text-decoration-none">
911033 </a>
</td>
<td>-</td>
<td dir="ltr">-</td>
<td>2026-04-20</td>
<td class="fw-semibold">5.490 ر.ع</td>
<td class="text-primary">0.000 ر.ع</td>
<td class="fw-bold text-danger">5.490 ر.ع</td>
<td>
<span class="badge bg-danger text-white">غير مدفوعة</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(17, 5.49, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=16&amp;lang=ar" class="fw-bold text-decoration-none">
859389 </a>
</td>
<td>Moosa Ali Al-Abri</td>
<td dir="ltr">-</td>
<td>2026-04-20</td>
<td class="fw-semibold">3.540 ر.ع</td>
<td class="text-primary">0.000 ر.ع</td>
<td class="fw-bold text-danger">3.540 ر.ع</td>
<td>
<span class="badge bg-danger text-white">غير مدفوعة</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(16, 3.54, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
<tr>
<td>
<a href="sale.php?id=14&amp;lang=ar" class="fw-bold text-decoration-none">
356570 </a>
</td>
<td>Moosa Ali Al-Abri</td>
<td dir="ltr">99359472</td>
<td>2026-04-20</td>
<td class="fw-semibold">2.630 ر.ع</td>
<td class="text-primary">0.000 ر.ع</td>
<td class="fw-bold text-danger">2.630 ر.ع</td>
<td>
<span class="badge bg-danger text-white">غير مدفوعة</span>
</td>
<td>
<button class="btn btn-sm btn-outline-success rounded-pill px-3" onclick="receivePayment(14, 2.63, false)">
<i class="bi bi-cash-coin"></i> استلام دفعة </button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script>
async function receivePayment(id, dueAmount, completeOrder = false) {
const { value: paymentAmount } = await Swal.fire({
title: 'استلام دفعة',
text: 'أدخل المبلغ المستلم لهذه الفاتورة.',
input: 'number',
inputAttributes: { min: '0.001', step: '0.001', max: String(dueAmount) },
inputValue: Number(dueAmount).toFixed(3),
showCancelButton: true,
confirmButtonColor: '#198754',
confirmButtonText: 'حفظ الدفعة',
cancelButtonText: 'إلغاء',
inputValidator: (value) => {
const amount = parseFloat(value || '0');
if (!amount || amount <= 0) {
return 'أدخل مبلغاً صحيحاً.';
}
if (amount - dueAmount > 0.0005) {
return 'المبلغ لا يمكن أن يتجاوز المتبقي.';
}
return null;
}
});
if (!paymentAmount) {
return;
}
const formData = new FormData();
formData.append('sale_id', String(id));
formData.append('payment_amount', String(paymentAmount));
if (completeOrder) {
formData.append('complete_order', '1');
}
const response = await fetch('api/sales_payment.php', { method: 'POST', body: formData });
const data = await response.json();
if (data.success) {
await Swal.fire({ icon: 'success', text: data.message, confirmButtonText: 'OK' });
window.location.reload();
} else {
Swal.fire({ icon: 'error', text: data.error || 'تعذر تسجيل الدفعة.' });
}
}
</script>
</div> <!-- /.container-fluid -->
<!-- App Footer -->
<footer class="bg-white border-top mt-auto py-3 px-4 text-muted small">
<div class="d-flex justify-content-between align-items-center flex-wrap gap-2">
<div>
&copy; 2026 <strong>حلوى الريامي</strong>. جميع الحقوق محفوظة. </div>
<div class="d-flex align-items-center flex-wrap gap-3 mt-2 mt-md-0">
<a href="privacy-policy.php?lang=ar" class="text-decoration-none">سياسة الخصوصية</a>
<a href="terms-conditions.php?lang=ar" class="text-decoration-none">الشروط والأحكام</a>
<div>
<span class="text-secondary">تم التطوير بواسطة </span><a href="https://flatlogic.com" target="_blank" class="text-decoration-none fw-semibold">Flatlogic</a>
</div>
</div>
</div>
</footer>
<!-- /App Footer -->
</div> <!-- /#page-content-wrapper -->
</div> <!-- /#wrapper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script>
// Menu Toggle Script
document.addEventListener('DOMContentLoaded', function() {
var toggleBtn = document.getElementById("menu-toggle");
if (toggleBtn) {
toggleBtn.addEventListener('click', function(e) {
e.preventDefault();
document.getElementById("wrapper").classList.toggle("toggled");
});
}
});
</script>
<script>
function confirmSwal(e, msg) {
e.preventDefault();
const form = e.target;
Swal.fire({
title: msg,
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'نعم',
cancelButtonText: 'إلغاء',
confirmButtonColor: '#d33'
}).then((result) => {
if (result.isConfirmed) {
form.submit();
}
});
}
</script>
<script src="assets/js/main.js?v=202604232013"></script>
</body>
</html>