' . $c_r_id; } $branch_id = $_GET['b']; if (!empty($_GET['b'])) { $branch_id = $_GET['b']; if (!is_numeric($branch_id)) { $branch_id = 1; } } else { $branch_id = 1; } if (!empty($_GET['f'])) { if (is_numeric($c_r_id) && $_GET['f'] == 1) { $branch_id = 1; } } $branch_sql = '=' . $branch_id; if ($branch_id == 1) { $branch_sql = '<>' . $branch_id; } $error = 0; $data = array(); $inv_ids = ""; function __round($value) { return number_format((float) round($value, 3), 3, '.', ''); } function __round_show($value) { return number_format((float) round($value, 2), 2, '.', ''); } function __getLength($value) { return strlen($value); } function __toHex($value) { return pack("H*", sprintf("%02X", $value)); } function __toString($__tag, $__value, $__length) { $value = (string) $__value; return __toHex($__tag) . __toHex($__length) . $value; } function __getTLV($dataToEncode) { $__TLVS = ''; for ($i = 0; $i < count($dataToEncode); $i++) { $__tag = $dataToEncode[$i][0]; $__value = $dataToEncode[$i][1]; $__length = __getLength($__value); $__TLVS .= __toString($__tag, $__value, $__length); } return $__TLVS; } $get_invoices_sql = mysqli_query( $db, "SELECT `invoices`.`id` AS `i_id`, `invoices`.`date_time`, `invoices`.`number_style`, `invoices_details_has_how_pay`.`how_pay_id`, `invoices_details`.`pay`, `invoices_discount`.`discount`, `book`.`id` AS `b_id`, `invoices_details`.`id` AS `id_id`, `services`.`id` AS `serv_id`, `services`.`name`, `services`.`price` 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_discount` ON `invoices_discount`.`invoices_details_id` = `invoices_details`.`id` INNER JOIN `invoices` ON `invoices_details`.`invoices_id` = `invoices`.`id` INNER JOIN `invoices_has_book` ON `invoices_has_book`.`invoices_id` = `invoices`.`id` INNER JOIN `book` ON `invoices_has_book`.`book_id` = `book`.`id` INNER JOIN `book_details` AS `bd` ON `bd`.`book_id` = `book`.`id` INNER JOIN `services` ON `bd`.`services_id` = `services`.`id` JOIN ( SELECT `book_id`, MAX(`id`) AS `max_id` FROM `book_details` GROUP BY `book_id` ) `t1_max` ON `bd`.`book_id` = `t1_max`.`book_id` AND `bd`.`id` = `t1_max`.`max_id` WHERE ((`invoices_details_has_how_pay`.`date_time` LIKE '$today%' AND `invoices_details_has_how_pay`.`date_time` >= '$today 03:00:00') OR (`invoices_details_has_how_pay`.`date_time` LIKE '$Next%' AND `invoices_details_has_how_pay`.`date_time` < '$Next 03:00:00')) AND `invoices_details`.`branch_id` $branch_sql AND `invoices_details`.`invoices_status_id` = 1 AND `invoices_details_has_how_pay`.`how_pay_id` IN (1,2,6,7,8,9,10) ORDER BY `invoices`.`number_style` " ); if (mysqli_num_rows($get_invoices_sql) > 0) { while ($get_invoices = mysqli_fetch_assoc($get_invoices_sql)) { $QR_dataToEncode = [ [1, $campany_info['company_name']], [2, $campany_info['vat_number']], [3, date("Y-m-d\TH:i:s", strtotime($get_invoices['date_time']))], [4, round($get_invoices['pay'], 2)], [5, round((($get_invoices['pay'] / 1.15) * $vat / 100), 2)] ]; $QR___TLV = __getTLV($QR_dataToEncode); $QR___QR = base64_encode($QR___TLV); $QR_data = $QR___QR; $QR_options = new QROptions([ 'version' => 8, 'outputType' => QRCode::OUTPUT_IMAGE_PNG, 'eccLevel' => QRCode::ECC_L, 'scale' => 3, 'imageBase64' => true, ]); $QR_qrcode = new QRCode($QR_options); $QR_qrCodeBase64 = $QR_qrcode->render($QR_data); if (array_key_exists($get_invoices['i_id'], $data)) { $data[$get_invoices['i_id']]['books'][$get_invoices['b_id']] = array( 's_name' => $get_invoices['name'], 's_count' => 1, 's_price' => __round($get_invoices['price']), 's_price_with_s_count' => __round($get_invoices['price']), 'total_with_des' => __round($get_invoices['price']) - __round($get_invoices['discount']), 'vat_rate' => 15, 'vat' => ((__round($get_invoices['price']) - __round($get_invoices['discount'])) * 0.15), 'total_with_vat' => ((__round($get_invoices['price']) - __round($get_invoices['discount'])) * 0.15) + (__round($get_invoices['price']) - __round($get_invoices['discount'])), 'des' => __round($get_invoices['discount']), 'tt_pay' => __round($get_invoices['pay']), ); } else { if ($get_invoices['serv_id'] == 0) { $book_id_for_bundle = $get_invoices['b_id']; $bundle_s = mysqli_query($db, "SELECT `services`.`id`, `services`.`name`, `bundle_services_has_services`.`how_many`, `services`.`price` 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)) { if (!array_key_exists($get_invoices['i_id'], $data)) { $data[$get_invoices['i_id']] = array( 'number_style' => $get_invoices['number_style'], 'date_time' => $get_invoices['date_time'], 'books' => array(), 'tr_vat_name' => '', 'tr_vat_number' => '', 'tr_vat_adress' => '', 'tr_card_id' => '', 'QR' => $QR_qrCodeBase64, ); } $data[$get_invoices['i_id']]['books'][$get_invoices['b_id'] . $bundle_s_row['id']] = array( 's_name' => $bundle_s_row['name'], 's_count' => $bundle_s_row['how_many'], 's_price' => __round($bundle_s_row['price']), 's_price_with_s_count' => __round($bundle_s_row['price'] * $bundle_s_row['how_many']), 'total_with_des' => __round($bundle_s_row['price'] * $bundle_s_row['how_many']) - __round($get_invoices['discount']), 'vat_rate' => 15, 'vat' => ((__round($bundle_s_row['price'] * $bundle_s_row['how_many']) - __round($get_invoices['discount'])) * 0.15), 'total_with_vat' => ((__round($bundle_s_row['price'] * $bundle_s_row['how_many']) - __round($get_invoices['discount'])) * 0.15) + (__round($bundle_s_row['price'] * $bundle_s_row['how_many']) - __round($get_invoices['discount'])), 'des' => __round($get_invoices['discount']), 'tt_pay' => __round($get_invoices['pay']), ); } } } else { $data[$get_invoices['i_id']] = array( 'number_style' => $get_invoices['number_style'], 'date_time' => $get_invoices['date_time'], 'books' => array( $get_invoices['b_id'] => array( 's_name' => $get_invoices['name'], 's_count' => 1, 's_price' => __round($get_invoices['price']), 's_price_with_s_count' => __round($get_invoices['price']), 'total_with_des' => __round($get_invoices['price']) - __round($get_invoices['discount']), 'vat_rate' => 15, 'vat' => ((__round($get_invoices['price']) - __round($get_invoices['discount'])) * 0.15), 'total_with_vat' => ((__round($get_invoices['price']) - __round($get_invoices['discount'])) * 0.15) + (__round($get_invoices['price']) - __round($get_invoices['discount'])), 'des' => __round($get_invoices['discount']), 'tt_pay' => __round($get_invoices['pay']), ) ), 'tr_vat_name' => '', 'tr_vat_number' => '', 'tr_vat_adress' => '', 'tr_card_id' => '', 'QR' => $QR_qrCodeBase64, ); } } $inv_ids .= $get_invoices['i_id'] . ','; } $inv_ids = rtrim($inv_ids, ','); } $get_invoices_sql = mysqli_query( $db, "SELECT `invoices_details`.`invoices_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` WHERE ((`invoices_details_has_how_pay`.`date_time` LIKE '2024-05-26%' AND `invoices_details_has_how_pay`.`date_time` >= '2024-05-26 03:00:00') OR (`invoices_details_has_how_pay`.`date_time` LIKE '2024-05-27%' AND `invoices_details_has_how_pay`.`date_time` < '2024-05-27 03:00:00')) AND `invoices_details_has_how_pay`.`how_pay_id` IN (3,4) AND `invoices_details`.`branch_id` $branch_sql AND `invoices_details`.`invoices_status_id` = 1 AND `invoices_details`.`invoices_id` IN ($inv_ids) " ); if (mysqli_num_rows($get_invoices_sql) > 0) { while ($get_invoices = mysqli_fetch_assoc($get_invoices_sql)) { $data[$get_invoices['invoices_id']]['from_stuck'] += $get_invoices['pay'] / 1.15; $data[$get_invoices['invoices_id']]['from_stuck_vat'] += $get_invoices['pay']; } } ?>
| # | رقم الفاتورة | تاريخ الفاتورة | اسم الخدمة | الكمية | سعر الخدمة | القيمة قبل الخصم | الخصم | القيمة بعد الخصم | معدل الضريبة | قيمة الضريبة | القيمة بعد الضريبة | اسم العميل المسجل بالضريبة | رقم التسجيل الضريبي | العنوان | رقم الهوية للسعودي | الباركود | طباعة الفاتورة |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| = $count ?> | = $data[$key]['number_style'] ?> | = $data[$key]['date_time'] ?> | 1) { $price_temp = 0; foreach ($data[$key]['books'] as $key2 => $value2) { $price_temp += __round($data[$key]['books'][$key2]['s_price']); } } $cc = 0; foreach ($data[$key]['books'] as $key2 => $value2) { if (count($data[$key]['books']) > 1) { $cc += 1; $ber_temp = __round($data[$key]['books'][$key2]['s_price']) / __round($price_temp); $total_des = ($data[$key]['books'][$key2]['des'] + $data[$key]['from_stuck']) * $ber_temp; $tt_pay = $data[$key]['books'][$key2]['tt_pay'] - $data[$key]['from_stuck_vat']; $data[$key]['books'][$key2]['des'] = __round($total_des); $data[$key]['books'][$key2]['total_with_des'] = __round($data[$key]['books'][$key2]['s_price_with_s_count']) - __round($data[$key]['books'][$key2]['des']); $data[$key]['books'][$key2]['vat'] = __round($data[$key]['books'][$key2]['total_with_des']) * 0.15; $data[$key]['books'][$key2]['total_with_vat'] = __round($data[$key]['books'][$key2]['total_with_des']) + __round($data[$key]['books'][$key2]['vat']); if(count($data[$key]['books']) == $cc) { $tt = 0; foreach ($data[$key]['books'] as $key3 => $value3) { $tt += __round_show($data[$key]['books'][$key3]['total_with_vat']); } echo $data[$key]['number_style']; echo ' // // // '; echo __round_show($tt); echo ' // // // '; echo __round_show($tt_pay); echo ' // // // '; echo __round_show($data[$key]['books'][$key2]['total_with_vat']); echo '= $data[$key]['books'][$key2]['s_name'] ?> | = $data[$key]['books'][$key2]['s_count'] ?> | = __round_show($data[$key]['books'][$key2]['s_price']) ?> | = __round_show($data[$key]['books'][$key2]['s_price_with_s_count']) ?> | = __round_show($data[$key]['books'][$key2]['des']) ?> | = __round_show($data[$key]['books'][$key2]['total_with_des']) ?> | = $data[$key]['books'][$key2]['vat_rate'] ?>% | = __round_show($data[$key]['books'][$key2]['vat']) ?> | = __round_show($data[$key]['books'][$key2]['total_with_vat']) ?> | = $data[$key]['tr_vat_name'] ?> | = $data[$key]['tr_vat_number'] ?> | = $data[$key]['tr_vat_adress'] ?> | = $data[$key]['tr_card_id'] ?> | طباعة الفاتورة | |
| المجموع | = $t1 ?> | = $t2 ?> | = $t3 ?> | = $t4 ?> | = $t5 ?>% | = $t6 ?> | = $t7 ?> | ||||||||||