357 lines
17 KiB
PHP
Executable File

<?php
if(true) {
}else {
require_once('fixed/config/go_con.php');
$today = date("Y-m");
if (!empty($_GET['date'])) {
$today = $_GET['date'];
if (DateTime::createFromFormat('Y-m', $today) == false) {
$today = date("Y-m");
}
}
$Next = date('Y-m', strtotime('+1 month', strtotime($today)));
$Previous = date('Y-m', strtotime('-1 month', strtotime($today)));
$branch_id = $_GET['b'];
if (!empty($_GET['b'])) {
$branch_id = $_GET['b'];
if (!is_numeric($branch_id)) {
$branch_id = 1;
}
} else {
$branch_id = 1;
}
$branch_sql = '='.$branch_id;
if ($branch_id == 1) {
$branch_sql = '<>'.$branch_id;
}
$frist_day = date('Y-m-d', strtotime($today));
$last_day = date("Y-m-t", strtotime($frist_day));
$last_day = date('Y-m-d', strtotime('+1 day', strtotime($last_day)));
$data = array();
$inv_sql = '';
$get_invoices_sql = mysqli_query($db,
"SELECT
`invoices`.`id` AS `inv_id`,
`invoices`.`number_style`,
`invoices_details`.`id`,
`branch`.`odoo_id` AS `branch_odoo_id`,
`invoices_details`.`invoices_status_id`,
DATE(`invoices_details`.`date_time`) AS `date`,
`invoices`.`date_time`,
`invoices_details_has_how_pay`.`date_time` AS `t_date_time`,
`invoices_details_has_how_pay`.`how_pay_id`,
`invoices_details_has_how_pay`.`pay`
FROM `invoices_details_has_how_pay`
INNER JOIN `invoices_details` ON `invoices_details_has_how_pay`.`invoices_details_id` = `invoices_details`.`id`
INNER JOIN `invoices` ON `invoices_details`.`invoices_id` = `invoices`.`id`
INNER JOIN `user` ON `invoices_details_has_how_pay`.`user_id` = `user`.`id`
INNER JOIN `branch` ON `invoices_details`.`branch_id` = `branch`.`id`
WHERE ((`invoices_details_has_how_pay`.`date_time` LIKE '$today%' AND `invoices_details_has_how_pay`.`date_time` >= '$frist_day 03:00:00') OR (`invoices_details_has_how_pay`.`date_time` LIKE '$last_day%' AND `invoices_details_has_how_pay`.`date_time` < '$last_day 03:00:00'))
AND `invoices_details`.`branch_id` $branch_sql
ORDER BY `invoices_details_has_how_pay`.`date_time` ASC
LIMIT 10
");
$data['show']['inv'] = array();
if (mysqli_num_rows($get_invoices_sql) > 0) {
while ($get_invoices = mysqli_fetch_assoc($get_invoices_sql)) {
$inv_sql .= $get_invoices['inv_id'] . ', ';
if (!array_key_exists($get_invoices['number_style'],$data['show']['inv'])) {
$data['show']['inv'][$get_invoices['number_style']] = array();
}
if (!array_key_exists($get_invoices['invoices_status_id'],$data['show']['inv'][$get_invoices['number_style']])) {
$data['show']['inv'][$get_invoices['number_style']][$get_invoices['invoices_status_id']] = array();
}
if (!array_key_exists($get_invoices['id'],$data['show']['inv'][$get_invoices['number_style']][$get_invoices['invoices_status_id']])) {
$data['show']['inv'][$get_invoices['number_style']][$get_invoices['invoices_status_id']][$get_invoices['id']] = array();
}
if (!array_key_exists('payments',$data['show']['inv'][$get_invoices['number_style']][$get_invoices['invoices_status_id']][$get_invoices['id']])) {
$data['show']['inv'][$get_invoices['number_style']][$get_invoices['invoices_status_id']][$get_invoices['id']]['payments'] = array();
}
array_push(
$data['show']['inv'][$get_invoices['number_style']][$get_invoices['invoices_status_id']][$get_invoices['id']]['payments'], array(
$get_invoices['how_pay_id'] => $get_invoices['pay']
)
);
}
}
// --------------------------------------------------------
if(!empty($inv_sql)) {
$inv_sql = rtrim($inv_sql, ", ");
$get_invoices_sql = mysqli_query($db,
"SELECT
`invoices_has_book`.`invoices_id`,
`dd`.`book_id`,
`services`.`odoo_id` AS `services_odoo_id`,
`dd`.`services_id`,
`emplyee`.`odoo_id` AS `emplyee_odoo_id`,
`tretment`.`name`,
`tretment`.`number`,
`tretment`.`id`
FROM `invoices_has_book`
INNER JOIN `book` ON `invoices_has_book`.`book_id` = `book`.`id`
INNER JOIN `book_details` AS `dd` ON `book`.`id` = `dd`.`book_id`
INNER JOIN `tretment` ON `book`.`tretment_id` = `tretment`.`id`
INNER JOIN `services` ON `dd`.`services_id` = `services`.`id`
INNER JOIN `emplyee` ON `dd`.`emplyee_id` = `emplyee`.`id`
WHERE `invoices_has_book`.`invoices_id` IN ($inv_sql)
AND `dd`.`id` = (SELECT MAX(`id`) FROM `book_details` WHERE `book_id` = `dd`.`book_id`)
");
$data['tretment'] = array();
$data['books'] = array();
if (mysqli_num_rows($get_invoices_sql) > 0) {
while ($get_invoices = mysqli_fetch_assoc($get_invoices_sql)) {
if (!array_key_exists($get_invoices['invoices_id'],$data['tretment'])) {
$data['tretment'][$get_invoices['invoices_id']] = array(
'name' => $get_invoices['name'],
'number' => $get_invoices['number'],
'id' => $get_invoices['id'],
);
}
if ($get_invoices['services_id'] == 0) {
$book_id_for_bundle = $get_invoices['book_id'];
$bundle_s = mysqli_query($db, "SELECT
`services`.`name`,
`services`.`odoo_id` AS `services_odoo_id`,
`bundle_services_has_services`.`how_many`
FROM `bundle_services_has_services`
INNER JOIN `services` ON `services`.`id` = `bundle_services_has_services`.`services_id`
WHERE `bundle_services_has_services`.`bundle_services_id` = (SELECT `bundle_services_id` FROM `book_details_has_bundle_services` WHERE `book_details_id` = (SELECT MIN(`id`) FROM `book_details` WHERE `book_id` = $book_id_for_bundle AND `status_id` = 4))");
if (mysqli_num_rows($bundle_s) > 0) {
while ($bundle_s_row = mysqli_fetch_assoc($bundle_s)) {
for ($i=0; $i < $bundle_s_row['how_many']; $i++) {
if (!array_key_exists($get_invoices['invoices_id'],$data['books'])) {
$data['books'][$get_invoices['invoices_id']] = array(
array(
'book_id' => $book_id_for_bundle,
'services_odoo_id' => $bundle_s_row['services_odoo_id'],
'emplyee_odoo_id' => $get_invoices['emplyee_odoo_id'],
)
);
} else {
array_push($data['books'][$get_invoices['invoices_id']],array(
'book_id' => $book_id_for_bundle,
'services_odoo_id' => $bundle_s_row['services_odoo_id'],
'emplyee_odoo_id' => $get_invoices['emplyee_odoo_id'],
));
}
}
}
}
} else {
if (!array_key_exists($get_invoices['invoices_id'],$data['books'])) {
$data['books'][$get_invoices['invoices_id']] = array(
array(
'book_id' => $get_invoices['book_id'],
'services_odoo_id' => $get_invoices['services_odoo_id'],
'emplyee_odoo_id' => $get_invoices['emplyee_odoo_id'],
)
);
} else {
array_push($data['books'][$get_invoices['invoices_id']],array(
'book_id' => $get_invoices['book_id'],
'services_odoo_id' => $get_invoices['services_odoo_id'],
'emplyee_odoo_id' => $get_invoices['emplyee_odoo_id'],
));
}
}
}
}
}
?>
<!DOCTYPE html>
<html lang="en" dir="rtl">
<?php require_once('fixed/head/go.php'); ?>
<body class="rtl">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@mdi/font@6.5.95/css/materialdesignicons.min.css">
<style>
a.active {
background-color: #e6edef;
}
h1 {
background: #24695c;
padding-right: 10px;
color: white;
margin-left: 10px;
font-weight: bold;
}
</style>
<?php require_once('fixed/loader/go.php'); ?>
<!-- page-wrapper Start-->
<div class="page-wrapper" id="pageWrapper">
<?php require_once('fixed/header/go.php'); ?>
<!-- Page Body Start-->
<div class="page-body-wrapper">
<?php require_once('fixed/sidebar/go.php'); ?>
<div class="page-body">
<!-- Container-fluid starts-->
<div class="container-fluid">
<div class="row">
<div class="col-12 col-sm-12 col-md-12 col-lg-2 col-xl-2">
<div class="card">
<div class="card-body new-user order-list profile-nav">
<div class="nav flex-column nav-pills" id="profile-tab" aria-orientation="vertical">
<?php
$commercial_register_sql = mysqli_query($db, "SELECT `branch`.`branch_name`, `branch`.`id`
FROM `commercial_register`
LEFT JOIN `branch` ON `commercial_register`.`id` = `branch`.`commercial_register_id`"
);
while ($commercial_register = mysqli_fetch_assoc($commercial_register_sql)) {
?>
<a class="nav-link mb-0 <?php if($branch_id == $commercial_register['id']){echo 'active';}?> ?>" data-toggle="pill" href="#branch-<?=$commercial_register['id']?>" aria-selected="false" onclick="window.location='all_invoices?date=<?= $today ?>&b=<?=$commercial_register['id']?>'"><?=$commercial_register['branch_name']?></a>
<?php
}
?>
</div>
</div>
</div>
</div>
<div class="col-12 col-sm-12 col-md-12 col-lg-10 col-xl-10">
<div class="card">
<div class="card-body new-user order-list text-center">
<div class="row">
<div class="col-12 col-sm-12 col-md-3 col-lg-4 col-xl-4">
</div>
<div class="page-title mb-3 col-12 col-sm-12 col-md-6 col-lg-4 col-xl-4">
<i class="mdi mdi-monitor mr-2">
</i>
<h4>
الايراد للخدمة لكل شهر
<br/>
<?=$today?>
</h4>
</div>
<div class="col-12 col-sm-12 col-md-3 col-lg-4 col-xl-4">
</div>
</div>
<div class="row">
<div class="col-12 col-sm-12 col-md-2 col-lg-3 col-xl-3">
</div>
<div class="col-2 col-sm-2 col-md-1 col-lg-1 col-xl-1">
<a class="btn btn-danger btn-round waves-effect waves-light col-12" href="all_invoices?date=<?= $Previous ?>&b=<?= $branch_id ?>" style="padding: 0.375rem 0.75rem;">-</a>
</div>
<div class="col-8 col-sm-8 col-md-6 col-lg-4 col-xl-4">
<input id="Select-date" class="form-control" type="date" value="" style="text-align: center !important;">
</div>
<div class="col-2 col-sm-2 col-md-1 col-lg-1 col-xl-1">
<a class="btn btn-primary btn-round waves-effect waves-light col-12" href="all_invoices?date=<?= $Next ?>&b=<?= $branch_id ?>" style="padding: 0.375rem 0.75rem;">+</a>
</div>
<div class="col-12 col-sm-12 col-md-2 col-lg-3 col-xl-3">
</div>
</div>
</div>
<div class="card-body new-user order-list">
عدد الاخطاء
<?= $error ?>
<div class="table-responsive">
<table id="data" class="table table-bordered text-center" style="vertical-align: middle;">
<thead class="table-primary" style="vertical-align: middle;">
<tr>
<th scope="col">#</th>
<th scope="col">رقم الفاتورة</th>
<th scope="col">تاريخ ووقت اصدار الفاتورة</th>
<th scope="col">تاريخ ووقت العملية</th>
<th scope="col">السعر</th>
</tr>
</thead>
<tbody>
<?php
$count = 1;
foreach ($data['show']['inv'] as $key => $value) {
?>
<tr>
<td><?=$count?></td>
<td><?=$data['show']['inv'][$key]['number_style']?></td>
<td><?=$data['show']['inv'][$key]['date_time']?></td>
<td><?=$data['show']['inv'][$key]['t_date_time']?></td>
<td><?=$data['show']['inv'][$key]['payments']?></td>
</tr>
<?php
$count++;
}
?>
</tbody>
</table>
</div>
<button type="button" id="export_button" class="btn btn-success btn-sm">ملف excel</button>
</div>
</div>
</div>
</div>
</div>
<!-- Container-fluid Ends-->
</div>
<?php require_once('fixed/footer/go.php'); ?>
</div>
</div>
<?php require_once('fixed/js/go.php'); ?>
<script>
$("#Select-date").change(function() {
var SelectedDate = $(this).val();
window.location = 'all_invoices?b=<?= $branch_id ?>&date=' + SelectedDate
});
</script>
<script type="text/javascript" src="https://unpkg.com/xlsx@0.15.1/dist/xlsx.full.min.js"></script>
<script>
function padTo2Digits(num) {
return num.toString().padStart(2, '0');
}
function formatDate(date) {
return (
[
date.getFullYear(),
padTo2Digits(date.getMonth() + 1),
padTo2Digits(date.getDate()),
].join('') +
'' +
[
padTo2Digits(date.getHours()),
padTo2Digits(date.getMinutes()),
padTo2Digits(date.getSeconds()),
].join('')
);
}
console.log(formatDate(new Date()));
function html_table_to_excel(type) {
var data = document.getElementById('data');
var file = XLSX.utils.table_to_book(data, { sheet: "sheet1" });
XLSX.write(file, { bookType: type, bookSST: true, type: 'base64' });
XLSX.writeFile(file, formatDate(new Date()) + 'all_invoices.' + type);
}
const export_button = document.getElementById('export_button');
export_button.addEventListener('click', () => {
html_table_to_excel('xlsx');
});
</script>
</body>
</html>
<?php
}?>