booking/work/order/ajax/active_ajax_3.php

697 lines
40 KiB
PHP
Executable File

<?php
require_once('../../../fixed/config/go_con.php');
$data = $_POST['data'];
$cash_pay = mysqli_real_escape_string($db, $_POST['cash_pay']);
$cash_note = mysqli_real_escape_string($db, $_POST['cash_note']);
$card_pay = mysqli_real_escape_string($db, $_POST['card_pay']);
$card_type = mysqli_real_escape_string($db, $_POST['card_type']);
$card_approval_number = mysqli_real_escape_string($db, $_POST['card_approval_number']);
$card_note = mysqli_real_escape_string($db, $_POST['card_note']);
$tretment_id = mysqli_real_escape_string($db, $_POST['tretment_id']);
$br_id = mysqli_real_escape_string($db, $_POST['br_id']);
$day_date = mysqli_real_escape_string($db, $_POST['day_date']);
// fix values
if (empty($cash_pay)) {
$cash_pay = 0;
}
if (empty($card_pay)) {
$card_pay = 0;
}
if (empty($card_approval_number)) {
$card_approval_number = 0;
}
// fix values
$book_id = '';
for ($i=0; $i < count($data['serv']); $i++) {
$book_id .= $data['serv'][$i]['book_id'] . ',';
}
$book_ids = rtrim($book_id, ",");
$get_invoices_sql = mysqli_query($db, "SELECT * FROM `invoices_has_book` WHERE `book_id` IN ($book_ids)");
if (mysqli_num_rows($get_invoices_sql) <= 0) {
$current_price = $data['total'] + $data['total_discount'];
$total = round($data['total'],2);
$total_discount = $data['total_discount'];
if (!empty($vat)) {
$total_discount = round($total_discount / (($vat/100)+1), 2);
}
$payments = round($cash_pay + $card_pay,2);
$branch_id = $br_id;
if ($branch_id <= 1) {
echo"
<script>
swalfun('LR259-7','','error');
click = 0;
</script>
";
exit;
}
$get_commercial_register_sql = mysqli_query($db, "SELECT
`branch`.`id`,
`commercial_register`.`word_tag`
FROM `book_details` AS `dd`
LEFT JOIN `branch` ON `dd`.`branch_id` = `branch`.`id`
LEFT JOIN `commercial_register` ON `branch`.`commercial_register_id` = `commercial_register`.`id`
WHERE `dd`.`book_id` IN ($book_ids)
AND `dd`.`id` IN (SELECT MAX(`id`) FROM `book_details` WHERE `book_id` = `dd`.`book_id`)
GROUP BY `commercial_register`.`word_tag`"
);
if (mysqli_num_rows($get_commercial_register_sql) == 1) {
$row_commercial_register = mysqli_fetch_assoc($get_commercial_register_sql);
$number_style = date('y', strtotime($date_time)) . $row_commercial_register['word_tag'];
$get_invoices_sql = mysqli_query($db, "SELECT
`number`,
`number_style`
FROM `invoices`
WHERE `number_style` LIKE '$number_style%'
AND `number` IN (SELECT MAX(`number`) FROM `invoices` WHERE `number_style` LIKE '$number_style%')"
);
$number = '';
if (mysqli_num_rows($get_invoices_sql) > 0) {
$row_invoices = mysqli_fetch_assoc($get_invoices_sql);
$number = $row_invoices['number'] + 1;
$number_style = date('y', strtotime($date_time)) . $row_commercial_register['word_tag'] . str_pad($number, 7, '0', STR_PAD_LEFT);
} else {
$number_style = date('y', strtotime($date_time)) . $row_commercial_register['word_tag'] . "0000001";
$number = 1;
}
if ($total == $payments) {
$services_stuck = 0;
for ($z=0; $z < count($data['serv']); $z++) {
$services_id = $data['serv'][$z]['id'];
$services_price = $data['serv'][$z]['price'];
if($data['serv'][$z]['from_stuck']){
$get_tretment_has_service_sql = mysqli_query($db, "SELECT
`tretment_has_service`.`id`,
`tretment_has_service`.`inv_from_db_tables_id`,
`tretment_has_service`.`inv_table_id`
FROM `tretment_has_service`
WHERE `tretment_has_service`.`tretment_id` = $tretment_id
AND `tretment_has_service`.`services_id` = $services_id
AND `tretment_has_service`.`done_id` = 1
ORDER BY `tretment_has_service`.`id` ASC
LIMIT 1"
);
if (mysqli_num_rows($get_tretment_has_service_sql) == 1) {
$row_tretment_has_service = mysqli_fetch_assoc($get_tretment_has_service_sql);
switch ($row_tretment_has_service['inv_from_db_tables_id']) {
case '6': // bonds
$bonds_id_temp = $row_tretment_has_service['inv_table_id'];
$get_bonds_type_type_id_sql = mysqli_query($db, "SELECT `bonds_type_type_id` FROM `bonds` WHERE `id` = $bonds_id_temp LIMIT 1");
$row_bonds_type_type_id = mysqli_fetch_assoc($get_bonds_type_type_id_sql);
switch ($row_bonds_type_type_id['bonds_type_type_id']) {
case '3': // باقات
$tretment_has_service_id = $row_tretment_has_service['id'];
$bonds_id = $row_tretment_has_service['inv_table_id'];
$get_bonds_sql = mysqli_query($db, "SELECT
`packages`.`cu_price`,
`packages`.`price`
FROM `bonds` AS `bb`
LEFT JOIN `bonds_details` ON `bb`.`id` = `bonds_details`.`bonds_id`
LEFT JOIN `bonds_details_has_packages` ON `bonds_details`.`id` = `bonds_details_has_packages`.`bonds_details_id`
LEFT JOIN `packages` ON `packages`.`id` = `bonds_details_has_packages`.`packages_id`
WHERE `bb`.`id` = $bonds_id
AND `bonds_details`.`id` IN (SELECT MAX(`id`) FROM `bonds_details` WHERE `bonds_id` = `bb`.`id`)"
);
if (mysqli_num_rows($get_bonds_sql) == 1) {
$row_bonds = mysqli_fetch_assoc($get_bonds_sql);
$cu_price = $row_bonds['cu_price'];
$price = $row_bonds['price'];
$rate = $price / $cu_price;
$des_rate = 1 - $rate;
$des_how_much = $services_price * $des_rate; // مبلغ الخصم
$services_price_after_des = $services_price - $des_how_much; // مبلغ الجلسة بعد الخصم
$services_price_after_des_v = $services_price_after_des; // مبلغ الجلسة بعد الخصم شامل الضرية الاضافة لاحثا
if (!empty($vat)) {
$services_price_after_des_v = round($services_price_after_des + ($services_price_after_des*$vat)/100, 2);
}
$des_style = round(($des_rate*100),2) . '%';
$total += $services_price_after_des_v;
$total_discount -= $services_price_after_des;
$services_stuck += $services_price_after_des_v;
$data['serv'][$z]['from_stuck_d'] = array(
'db_id' => 9,
'offer_id' => $tretment_has_service_id,
'discount' => round($des_how_much,2),
'why_discount' => 'خصم باقة ' . $des_style
);
} else {
echo"
<script>
swalfun('LR225-24','','error');
click = 0;
</script>
";
}
break;
case '4': // خدمات مخصصة
$tretment_has_service_id = $row_tretment_has_service['id'];
$bonds_id = $row_tretment_has_service['inv_table_id'];
$get_bonds_sql = mysqli_query($db, "SELECT
`bonds_details_has_services`.`type_discount_id`,
`bonds_details_has_services`.`just_for_branch`,
`bonds_details_has_services`.`discount`
FROM `bonds` AS `bb`
LEFT JOIN `bonds_details` ON `bb`.`id` = `bonds_details`.`bonds_id`
LEFT JOIN `bonds_details_has_services` ON `bonds_details`.`id` = `bonds_details_has_services`.`bonds_details_id`
WHERE `bb`.`id` = $bonds_id
AND `bonds_details_has_services`.`services_id` = $services_id
AND `bonds_details`.`id` IN (SELECT MIN(`id`) FROM `bonds_details` WHERE `bonds_id` = `bb`.`id`) LIMIT 1"
);
if (mysqli_num_rows($get_bonds_sql) == 1) {
$row_bonds = mysqli_fetch_assoc($get_bonds_sql);
$des_how_much = 0;
$des_style = '';
switch ($row_bonds['type_discount_id']) {
case 2:
$des_how_much = $row_bonds['discount'];
$des_style = $row_bonds['discount'] . 'ريال';
break;
case 3:
$des_how_much = ($row_bonds['discount']/100) * $services_price;
$des_style = $row_bonds['discount'] . '%';
break;
}
$services_price_after_des = $services_price - $des_how_much;
$services_price_after_des_v = $services_price_after_des;
if (!empty($vat)) {
$services_price_after_des_v = round($services_price_after_des + ($services_price_after_des*$vat)/100, 2);
}
$total += $services_price_after_des_v;
$total_discount -= $services_price_after_des;
$services_stuck += $services_price_after_des_v;
$data['serv'][$z]['from_stuck_d'] = array(
'db_id' => 9,
'offer_id' => $tretment_has_service_id,
'discount' => round($des_how_much,2),
'why_discount' => 'خصم مخصص ' . $des_style
);
} else {
echo"
<script>
swalfun('LR725-7','','error');
click = 0;
</script>
";
}
break;
default:
echo"
<script>
swalfun('LR445-7','','error');
click = 0;
</script>
";
exit;
break;
}
break;
default:
echo"
<script>
swalfun('LR895-7','','error');
click = 0;
</script>
";
exit;
break;
}
} else {
echo"
<script>
swalfun('لا يتوفر للعميل رصيد خدمات','','error');
click = 0;
</script>
";
}
}
}
$services_stuck_free = 0;
for ($z=0; $z < count($data['serv']); $z++) {
$services_id = $data['serv'][$z]['id'];
$services_price = $data['serv'][$z]['price'];
if($data['serv'][$z]['from_stuck_free']){
$get_tretment_has_free_service_sql = mysqli_query($db, "SELECT
`tretment_has_free_service`.`id`,
`tretment_has_free_service`.`db_tables_id`,
`tretment_has_free_service`.`table_id`
FROM `tretment_has_free_service`
WHERE `tretment_has_free_service`.`tretment_id` = $tretment_id
AND `tretment_has_free_service`.`services_id` = $services_id
AND `tretment_has_free_service`.`done_id` = 1
ORDER BY `tretment_has_free_service`.`id` ASC
LIMIT 1"
);
if (mysqli_num_rows($get_tretment_has_free_service_sql) == 1) {
$row_tretment_has_free_service = mysqli_fetch_assoc($get_tretment_has_free_service_sql);
$tretment_has_free_service_id = $row_tretment_has_free_service['id'];
$db_tables_id = $row_tretment_has_free_service['db_tables_id'];
$table_id = $row_tretment_has_free_service['table_id'];
if ($db_tables_id == 14) {
$get_add_free_services_sql = mysqli_query($db, "SELECT
`add_free_services`.`reason` AS `name`
FROM `add_free_services`
WHERE `add_free_services`.`id` = $table_id
");
if (mysqli_num_rows($get_add_free_services_sql) == 1) {
$row_add_free_services = mysqli_fetch_assoc($get_add_free_services_sql);
$des_style = $row_add_free_services['name'];
$data['serv'][$z]['from_stuck_free_d'] = array(
'db_id' => 15,
'offer_id' => $tretment_has_free_service_id,
'discount' => round($services_price,2),
'why_discount' => $des_style
);
} else {
echo"
<script>
swalfun('LR325-7','','error');
click = 0;
</script>
";
}
} else if($db_tables_id == 19) {
$get_tretment_has_free_3_serv_coupon_sql = mysqli_query($db, "SELECT
`code` AS `name`
FROM `tretment_has_free_3_serv_coupon`
WHERE `id` = $table_id
");
if (mysqli_num_rows($get_tretment_has_free_3_serv_coupon_sql) == 1) {
$row_tretment_has_free_3_serv_coupon = mysqli_fetch_assoc($get_tretment_has_free_3_serv_coupon_sql);
$des_style = $row_tretment_has_free_3_serv_coupon['name'];
$data['serv'][$z]['from_stuck_free_d'] = array(
'db_id' => 15,
'offer_id' => $tretment_has_free_service_id,
'discount' => round($services_price,2),
'why_discount' => $des_style
);
} else {
echo"
<script>
swalfun('LR285-7','','error');
click = 0;
</script>
";
}
}
} else {
echo"
<script>
swalfun('لا يتوفر للعميل رصيد خدمات','','error');
click = 0;
</script>
";
}
}
}
if(mysqli_query(
$db,
"INSERT INTO `invoices`(`number`, `number_style`, `price`,`price_cut`, `invoices_page_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$number','$number_style','$total','$total','1', '$date_time','$admin_id','2')"
)) {
$last_id = mysqli_insert_id($db);
if(mysqli_query($db,
"INSERT INTO `invoices_details`(`invoices_id`, `pay`, `branch_id`, `invoices_status_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$last_id','$total','$branch_id','1','$date_time','$admin_id','2')"
)) {
$last_id_2 = mysqli_insert_id($db);
if(mysqli_query($db,
"INSERT INTO `invoices_discount`(`discount`, `invoices_details_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$total_discount', '$last_id_2', '$date_time', '$admin_id', '2')"
)) {
$last_id_3 = mysqli_insert_id($db);
foreach ($data['serv'] as $one_serv) {
if($one_serv['from_stuck']){
print_r($one_serv['from_stuck_d']);
$discount_temp = $one_serv['from_stuck_d']['discount'];
$name_temp = $one_serv['from_stuck_d']['why_discount'];
$s_id = $one_serv['id'];
echo "INSERT INTO `invoices_discount_details`(`discount`, `reason`, `invoices_discount_id`, `services_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$discount_temp', '$name_temp', '$last_id_3','$s_id', '$date_time', '$admin_id', '2')";
if(mysqli_query($db,
"INSERT INTO `invoices_discount_details`(`discount`, `reason`, `invoices_discount_id`, `services_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$discount_temp', '$name_temp', '$last_id_3','$s_id', '$date_time', '$admin_id', '2')"
)) {
$last_id_4 = mysqli_insert_id($db);
$db_id = $one_serv['from_stuck_d']['db_id'];
$offer_id = $one_serv['from_stuck_d']['offer_id'];
$book_id_t = $one_serv['book_id'];
if(!mysqli_query($db,
"INSERT INTO `invoices_discount_details_has_db_tables`(`invoices_discount_details_id`, `db_tables_id`, `db_tables_id_to_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$last_id_4', '$db_id','$offer_id', '$date_time', '$admin_id', '2')"
)) {
echo"
<script>
swalfun('LO425-7','','error');
click = 0;
</script>
";
exit;
}
if(!mysqli_query($db,
"UPDATE `tretment_has_service` SET `book_id` = $book_id_t, `done_id` = 2
WHERE `id` = (SELECT `tretment_has_service`.`id`
FROM `tretment_has_service`
WHERE `tretment_has_service`.`tretment_id` = $tretment_id
AND `tretment_has_service`.`services_id` = $s_id
AND `tretment_has_service`.`done_id` = 1
ORDER BY `tretment_has_service`.`id` ASC
LIMIT 1)"
)) {
echo"
<script>
swalfun('LO885-7','','error');
click = 0;
</script>
";
exit;
}
} else {
echo"
<script>
swalfun('LO425-15','','error');
click = 0;
</script>
";
exit;
}
}
if($one_serv['from_stuck_free']){
$discount_temp = $one_serv['from_stuck_free_d']['discount'];
$name_temp = $one_serv['from_stuck_free_d']['why_discount'];
$s_id = $one_serv['id'];
echo "INSERT INTO `invoices_discount_details`(`discount`, `reason`, `invoices_discount_id`, `services_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$discount_temp', '$name_temp', '$last_id_3','$s_id', '$date_time', '$admin_id', '2')";
if(mysqli_query($db,
"INSERT INTO `invoices_discount_details`(`discount`, `reason`, `invoices_discount_id`, `services_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$discount_temp', '$name_temp', '$last_id_3','$s_id', '$date_time', '$admin_id', '2')"
)) {
$last_id_4 = mysqli_insert_id($db);
$db_id = $one_serv['from_stuck_free_d']['db_id'];
$offer_id = $one_serv['from_stuck_free_d']['offer_id'];
$book_id_t = $one_serv['book_id'];
if(!mysqli_query($db,
"INSERT INTO `invoices_discount_details_has_db_tables`(`invoices_discount_details_id`, `db_tables_id`, `db_tables_id_to_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$last_id_4', '$db_id','$offer_id', '$date_time', '$admin_id', '2')"
)) {
echo"
<script>
swalfun('LO425-7','','error');
click = 0;
</script>
";
exit;
}
if(!mysqli_query($db,
"UPDATE `tretment_has_free_service` SET `book_id` = $book_id_t, `done_id` = 2
WHERE `id` = (SELECT `tretment_has_free_service`.`id`
FROM `tretment_has_free_service`
WHERE `tretment_has_free_service`.`tretment_id` = $tretment_id
AND `tretment_has_free_service`.`services_id` = $s_id
AND `tretment_has_free_service`.`done_id` = 1
ORDER BY `tretment_has_free_service`.`id` ASC
LIMIT 1)"
)) {
echo"
<script>
swalfun('LO885-7','','error');
click = 0;
</script>
";
exit;
}
} else {
echo"
<script>
swalfun('LO425-11','','error');
click = 0;
</script>
";
exit;
}
}
if($one_serv['offers']){
foreach ($one_serv['offers_d'] as $offers_d) {
$discount_temp = $offers_d['discount'];
if (!empty($vat)) {
$discount_temp = round($discount_temp / (($vat/100)+1), 2);
}
$name_temp = $offers_d['why_discount'];
$s_id = $one_serv['id'];
if(mysqli_query($db,
"INSERT INTO `invoices_discount_details`(`discount`, `reason`, `invoices_discount_id`, `services_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$discount_temp', '$name_temp', '$last_id_3','$s_id', '$date_time', '$admin_id', '2')"
)) {
$last_id_4 = mysqli_insert_id($db);
$db_id = $offers_d['db_id'];
$offer_id = $offers_d['offer_id'];
if(!mysqli_query($db,
"INSERT INTO `invoices_discount_details_has_db_tables`(`invoices_discount_details_id`, `db_tables_id`, `db_tables_id_to_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$last_id_4', '$db_id','$offer_id', '$date_time', '$admin_id', '2')"
)) {
echo"
<script>
swalfun('AO445-7','','error');
click = 0;
</script>
";
exit;
}
} else {
echo"
<script>
swalfun('FO475-11','','error');
click = 0;
</script>
";
exit;
}
}
}
// contnue
$book_id_temp = $one_serv['book_id'];
if(!mysqli_query($db,
"INSERT INTO `invoices_has_book`(`invoices_id`, `book_id`, `date_time`, `user_id`, `activation_id`)
VALUES ('$last_id','$book_id_temp','$date_time','$admin_id','2')"
)) {
echo"
<script>
swalfun('LR220-7','','error');
click = 0;
</script>
";
//exit;
}
if($one_serv['from_stuck_free']){
if(!mysqli_query($db,
"INSERT INTO `book_details`(`day_date`, `day_time`, `services_id`, `branch_id`, `emplyee_id`, `status_id`, `book_id`, `date_time`, `user_id`, `activation_id`)
SELECT `book_details`.`day_date`, `book_details`.`day_time`, `book_details`.`services_id`, `book_details`.`branch_id`, `book_details`.`emplyee_id`, '8', `book_details`.`book_id`, '$date_time','$admin_id','2'
FROM `book_details`
WHERE `book_details`.`book_id` = '$book_id_temp'
AND `book_details`.`id` IN (SELECT MAX(`id`) FROM `book_details` WHERE `book_id` = '$book_id_temp')"
)) {
echo"
<script>
swalfun('LR210-7','','error');
click = 0;
</script>
";
exit;
}
} else {
if(!mysqli_query($db,
"INSERT INTO `book_details`(`day_date`, `day_time`, `services_id`, `branch_id`, `emplyee_id`, `status_id`, `book_id`, `date_time`, `user_id`, `activation_id`)
SELECT `book_details`.`day_date`, `book_details`.`day_time`, `book_details`.`services_id`, `book_details`.`branch_id`, `book_details`.`emplyee_id`, '6', `book_details`.`book_id`, '$date_time','$admin_id','2'
FROM `book_details`
WHERE `book_details`.`book_id` = '$book_id_temp'
AND `book_details`.`id` IN (SELECT MAX(`id`) FROM `book_details` WHERE `book_id` = '$book_id_temp')"
)) {
echo"
<script>
swalfun('LR210-7','','error');
click = 0;
</script>
";
exit;
}
}
}
} else {
echo"
<script>
swalfun('LR225-7','','error');
click = 0;
</script>
";
exit;
}
if (!empty($cash_pay)) {
mysqli_query($db,
"INSERT INTO `invoices_details_has_how_pay`(`invoices_details_id`, `how_pay_id`, `pay`, `notes`, `date_time`, `user_id`, `activation_id`)
VALUES ('$last_id_2','1','$cash_pay','$cash_note','$date_time','$admin_id','2')"
);
}
if (!empty($card_pay)) {
mysqli_query($db,
"INSERT INTO `invoices_details_has_how_pay`(`invoices_details_id`, `how_pay_id`, `pay`, `notes`, `date_time`, `user_id`, `activation_id`)
VALUES ('$last_id_2','2','$card_pay','$card_note','$date_time','$admin_id','2')"
);
}
if (!empty($services_stuck)) {
mysqli_query($db,
"INSERT INTO `invoices_details_has_how_pay`(`invoices_details_id`, `how_pay_id`, `pay`, `notes`, `date_time`, `user_id`, `activation_id`)
VALUES ('$last_id_2','3','$services_stuck','','$date_time','$admin_id','2')"
);
}
} else {
echo"
<script>
swalfun('LR672-9','','error');
click = 0;
</script>
";
exit;
}
require_once('add_to_book_temp_ajax.php');
echo"
<script>
window.open('print.php?inv_id=".$last_id."&p=1');
window.location.href = 'book.php?date=".$day_date."';
</script>
";
} else {
echo"
<script>
swalfun('LA030-7','','error');
click = 0;
</script>
";
exit;
}
} else {
echo"
<script>
swalfun('يرجى التحقق','مدخلات الدفع غير مطابقه المبلغ المستحق','info');
click = 0;
</script>
";
}
} elseif (mysqli_num_rows($get_commercial_register_sql) > 1) {
echo"
<script>
swalfun('لا يمكن اصدار فاتورة بسبب اختلاف القسم في احد حجوزات العميل','','error');
click = 0;
</script>
";
} else {
echo"
<script>
swalfun('LQ012-7','','error');
click = 0;
</script>
";
}
} else {
echo"
<script>
swalthen('تم سداد هذه الجلسة مسبقا','هل تريد الانتقال لصفحة الحجوزات؟','error','book.php');
</script>
";
}
?>