Guest User

Untitled

a guest
Dec 4th, 2018
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.87 KB | None | 0 0
  1. <?php
  2. include("includes/functions.inc.php");
  3. require_once('lib/class.phpmailer.php');
  4. require_once('sms_config.php');
  5. include('phpqrcode/qrlib.php');
  6. // error_reporting(E_ALL);ini_set('display_errors', '1');
  7.  
  8. if (!isset($_GET['bid']) or empty($_GET['bid'])) {
  9. ?>
  10. <script>
  11. window.location = "view_billing.php";
  12. </script>
  13. <?php
  14. }
  15. ?>
  16. <script
  17. src="https://code.jquery.com/jquery-3.3.1.min.js"
  18. integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  19. crossorigin="anonymous"></script>
  20. <script src="js/jQuery.print.js"></script>
  21. <style>
  22. @page { size: 2.83in 8.26in } /* output size */
  23. body.receipt .sheet { width: 2.83in; height: 8.26in } /* sheet size */
  24. @media print { body.receipt { width: 2.83in;height: 8.26in; } } /* fix for Chrome */
  25. </style>
  26.  
  27. <style type="text/css" media="print">
  28.  
  29.  
  30. @media screen and (min-width: 601px) {
  31. #maintable {
  32. font-size: 80px!important;
  33. }
  34. #taxtable{
  35. font-size: 80px!important;
  36. }
  37. }
  38.  
  39. /* If the screen size is 600px wide or less, set the font-size of <div> to 30px */
  40. @media screen and (max-width: 600px) {
  41. div#maintable {
  42. font-size: 30px!important;
  43. border: 1px solid black;
  44. padding-left:10px;
  45. }
  46. }
  47. div#taxtable{
  48. font-size: 30px!important;
  49. border: 1px solid black;
  50. padding-left:10px;
  51. }
  52. }
  53. @media print{
  54. .no-print{
  55. display:none;
  56. }
  57.  
  58.  
  59. div p {
  60. font-size: 30px!important;
  61. }
  62. table {
  63. padding:2px!important;
  64. word-wrap:normal;
  65. font-size: 30px!important;
  66. font-weight: 900;
  67. display: table;
  68. }
  69.  
  70. body {
  71. font-size: 30px!important;
  72. font: 30px Arial Black;
  73. }
  74. td {
  75. display: table-cell;
  76. word-break: normal;
  77. }
  78. }
  79. </style>
  80. <style>
  81. #maintable{
  82. border-collapse:separate!important;
  83. }
  84. #taxtable{
  85. border-collapse:separate!important;
  86. }
  87. body {
  88. font: 30px Arial Black;
  89. -webkit-print-color-adjust:exact;
  90. }
  91. tr td{
  92. width:1%;
  93. padding:5px!important;
  94. }
  95. thead{
  96. padding:5px;
  97. }
  98. th{
  99. padding-top: 5px!important;
  100. }
  101. tr{
  102. border-bottom:1px solid black;
  103. }
  104. table{
  105. white-space:normal;
  106. overflow: hidden;
  107. /* font-size:1vw;*/
  108. }
  109. td.wordbreak{
  110. word-wrap: break-all;
  111. }
  112.  
  113. </style>
  114.  
  115. <script>
  116. $("#example").on('shown.bs.collapse', function(){
  117. $(this).removeClass('collapse');
  118. });
  119.  
  120. //window.print();
  121. function printclick()
  122. {
  123. // $(window).print({
  124. // globalStyles: true
  125. // });
  126. window.print();
  127. }
  128. </script>
  129. <?php
  130. $checkTotalGst = 0;
  131. if (isset($_REQUEST['sendsms'])) {
  132. $tinyurl = getTinyUrl($_SERVER['HTTP_ORIGIN'] . '/dashboard/view_receipt.php?bid=' . $_GET['bid']);
  133. $sql_billingg = "SELECT * from tbl_billing where BillingId='" . $_GET['bid'] . "'";
  134. $rs_billingg = $conn->query($sql_billingg);
  135. $rs_billingg->setFetchMode(PDO::FETCH_ASSOC);
  136. $data_billingg = $rs_billingg->fetch();
  137. $ODiscount = $data_billingg['OrderDiscount'];
  138.  
  139. $sql_adminn = "SELECT * from admin where id=" . $_SESSION['userid'] . "";
  140. $rs_adminn = $conn->query($sql_adminn);
  141. $rs_adminn->setFetchMode(PDO::FETCH_ASSOC);
  142. $data_adminn = $rs_adminn->fetch();
  143.  
  144. $sql_customerr = "SELECT * from tbl_customer where id=" . $data_billingg['CustomerId'];
  145. $rs_customerr = $conn->query($sql_customerr);
  146. $rs_customerr->setFetchMode(PDO::FETCH_ASSOC);
  147. $data_customerr = $rs_customerr->fetch();
  148.  
  149. $sql_currency = "SELECT * FROM tbl_currency WHERE company_id = " . $_SESSION['userid'] . " AND status = 'Active'";
  150. $query_currency = $conn->query($sql_currency);
  151. $query_currency->setFetchMode(PDO::FETCH_ASSOC);
  152. $data_currency = $query_currency->fetch();
  153.  
  154. $text = "Thank you for purchasing &#64; " . $data_adminn['company_name'] . ". Your Invoice amount is: Rs." . $data_billingg['TotalAmount'] . ". Access your receipt here: " . $tinyurl;
  155.  
  156. $result = sendsmsGET($data_customerr['phone_number'], $text, 1, $data_adminn['senderId']);
  157. //echo $result;exit;
  158. $resultArr = explode(',', $result);
  159.  
  160. if ($resultArr[1] == 'success') {
  161. $sql_updatesms = "UPDATE `tbl_user_sms` SET `sms_transactional`= sms_transactional - 1, used_transactional = used_transactional + 1 WHERE (sms_transactional) > 0 AND sender_id = '" . $data_adminn['senderId'] . "'";
  162. $conn->query($sql_updatesms);
  163. // echo $sql_updatesms;exit;
  164. $sql_addsmsreport = "INSERT INTO tbl_sms_report(customer_id,company_id, customermobileno, smsreferenceNo, sender_id, message, messagetype, status)VALUES" .
  165. "($data_billingg[id], ".$_SESSION['userid'].", $data_customerr[phone_number], $resultArr[2], '$data_adminn[senderId]', '$text', 1, 'success')";
  166.  
  167. $conn->query($sql_addsmsreport);
  168. ?>
  169. <script>
  170. alert('SMS Sent Successfully!!');
  171. </script>
  172. <?php
  173. } else {
  174.  
  175. $sql_addsmsreport = "INSERT INTO tbl_sms_report(customer_id,company_id, customermobileno, smsreferenceNo, sender_id, message, messagetype, status)VALUES" .
  176. "($data_billingg[id], ".$_SESSION['userid'].", $data_customerr[phone_number], 0, '$data_adminn[senderId]', '$text', 1, 'failure')";
  177.  
  178. $conn->query($sql_addsmsreport);
  179.  
  180.  
  181. ?>
  182. <script>
  183. alert("<?php echo $result; ?>");
  184. </script>
  185. <?php
  186. }
  187. ?>
  188. <script>
  189. window.location = 'view_receipt.php?bid=<?= $_GET['bid'] ?>';
  190. </script>
  191. <?php
  192. }
  193.  
  194. if (isset($_REQUEST['sendmail'])) {
  195.  
  196. $sql_billingg = "SELECT * from tbl_billing where BillingId='" . $_GET['bid'] . "'";
  197. $rs_billingg = $conn->query($sql_billingg);
  198. $rs_billingg->setFetchMode(PDO::FETCH_ASSOC);
  199. $data_billingg = $rs_billingg->fetch();
  200. $ODiscount = $data_billingg['OrderDiscount'];
  201. if ($_SESSION['usertype'] == 'emp' && $_SESSION['storeid'] != '') {
  202. $sql_company_header = "select * from tbl_stores where id='" . $_SESSION['storeid'] . "'";
  203. $query_company_header = $conn->query($sql_company_header);
  204. $query_company_header->setFetchMode(PDO::FETCH_ASSOC);
  205. $result_company_header = $query_company_header->fetch();
  206. } else {
  207. $sql_company_header = "select * from admin where id='" . $data_billingg['CompanyId'] . "'";
  208. $query_company_header = $conn->query($sql_company_header);
  209. $query_company_header->setFetchMode(PDO::FETCH_ASSOC);
  210. $result_company_header = $query_company_header->fetch();
  211. }
  212.  
  213.  
  214. $sql_adminn = "SELECT * from admin where id=" . $_SESSION['userid'] . "";
  215. $rs_adminn = $conn->query($sql_adminn);
  216.  
  217. $rs_adminn->setFetchMode(PDO::FETCH_ASSOC);
  218. $data_adminn = $rs_adminn->fetch();
  219.  
  220. //echo "<pre>";
  221. //print_r($data_adminn);exit;
  222.  
  223. $sql_prod_billingg = "SELECT * from tbl_product_billing where BillingId=" . $data_billingg['BillingId'] . "";
  224. $rs_prod_billingg = $conn->query($sql_prod_billingg);
  225.  
  226. $sql_employeee = "SELECT * from add_employee where id='" . $data_billingg['EmpId'] . "'";
  227. $rs_employeee = $conn->query($sql_employeee);
  228. $rs_employeee->setFetchMode(PDO::FETCH_ASSOC);
  229. $data_employeee = $rs_employeee->fetch();
  230.  
  231. $sql_customerr = "SELECT * from tbl_customer where id=" . $data_billingg['CustomerId'] . "";
  232. $rs_customerr = $conn->query($sql_customerr);
  233. $rs_customerr->setFetchMode(PDO::FETCH_ASSOC);
  234. $data_customerr = $rs_customerr->fetch();
  235.  
  236.  
  237. $mail = new PHPMailer();
  238.  
  239. $mail->IsSMTP();
  240. $mail->Host = "praditatech.com";
  241. $mail->SMTPAuth = true;
  242. $mail->Port = 587;
  243. $mail->Username = "sales@praditatech.com";
  244. $mail->Password = "Praditatech123";
  245. $mail->CharSet = "utf-8";
  246. $mail->From = "$data_adminn[Email]";
  247. $mail->FromName = "$result_company_header[company_name]";
  248. // $mail->AddReplyTo($data_adminn['Email']);
  249. $mail->AddEmbeddedImage('upload/company_logo/' . $result_company_header[company_logo], 'companylogo', 'upload/company_logo/' . $result_company_header[company_logo]);
  250. $mail->SMTPDebug = 1;
  251.  
  252. $mail->AddAddress($data_customerr['e_mail']);
  253. $mail->Subject = 'Receipt';
  254. $mail->IsHTML(true);
  255.  
  256. ////////////////////////////////////////////////////////// create pdf starts //////////////////////////////////////////////////////////
  257.  
  258. $html1 = '
  259. <table style="width:500px; margin:5px auto; border:1px; font-family:Arial Bold, Helvetica, Calibri" >
  260. <tr><td style="border-left:2px" align="justify">
  261. <div>';
  262. if ($result_company_header['company_logo'] != '') {
  263.  
  264.  
  265. $html1 .= "<img src=\"cid:companylogo\" alt='Company Logo' height='42' width='42'>";
  266. } else {
  267. $html1 .= $result_company_header['company_name'];
  268. };
  269.  
  270.  
  271. $html1 .= '</div>
  272. <h2>' . $result_company_header['company_name'] . '</h2>
  273. <p style="margin-bottom:5px;margin-top:0; font-size:30px">' . $result_company_header['address'] . '</p>
  274. <p style="margin-bottom:5px;margin-top:0;font-size:30px">Tel: ' . $result_company_header['phone'] . '</p>
  275. <p style="margin-bottom:5px; margin-top:0;font-size:30px">GST#: ' . $result_company_header['gst_code'] . '</p></td></tr>
  276.  
  277. <tr><td style="border-top:0" align="center"><h3 style="margin-top:6px; margin-bottom:6px">Receipt</h3></td></tr>
  278. <tr>
  279. <td style="border-top:0">
  280. <table style="width:70%;border:0; font-size:30px">
  281. <tr>
  282. <td width="40%" style="padding:3px; border-top:0">Date</td>
  283. <td width="10%" style="padding:3px; border-top:0">:</td>
  284. <td style="padding:3px; border-top:0">' . date_format(date_create($data_billingg['BillingDate']), 'd-m-Y') . '</td>
  285. </tr>
  286.  
  287. <tr>
  288. <td style="padding:3px; border-top:0">Sale No/Ref</td>
  289. <td style="padding:3px; border-top:0">:</td>
  290. <td style="padding:3px; border-top:0">' . $data_billingg['ReferenceNo'] . '</td>
  291. </tr>
  292.  
  293. <tr>
  294. <td style="padding:3px; border-top:0">Sales Associate</td>
  295. <td style="padding:3px; border-top:0">:</td>
  296. <td style="padding:3px; border-top:0">' . $data_employeee['employee_name'] . '</td>
  297. </tr>
  298.  
  299. <tr>
  300. <td style="padding:3px; border-top:0">Customer ID</td>
  301. <td style="padding:3px; border-top:0">:</td>
  302. <td style="padding:3px; border-top:0">' . $data_customerr['id'] . '</td>
  303. </tr>
  304.  
  305. <tr>
  306. <td style="padding:3px; border-top:0">Customer</td>
  307. <td style="padding:3px; border-top:0">:</td>
  308. <td style="padding:3px; border-top:0">' . $data_customerr['first_name'] . ' ' . $data_customerr['last_name'] . '</td>
  309. </tr>
  310.  
  311.  
  312. <tr>
  313. <td style="padding:3px; border-top:0">Tel</td>
  314. <td style="padding:3px; border-top:0">:</td>
  315. <td style="padding:3px; border-top:0">' . $data_customerr['phone_number'] . '</td>
  316. </tr>
  317.  
  318. <tr>
  319. <td style="padding:3px; border-top:0">Address</td>
  320. <td style="padding:3px; border-top:0">:</td>
  321. <td style="padding:3px; border-top:0">' . $data_customerr['address'] . '</td>
  322. </tr>
  323. </table>
  324. </td>
  325. </tr>
  326.  
  327. <tr><td>
  328. <table width="90%" cellspacing="1px" cellpadding="0" style="margin-bottom:5px;border:0; font-size:20px">
  329. <thead style="text-align:justify">
  330. <tr>
  331. <th style="padding:4px;">Product</th>
  332. <th style="padding:4px;">Hsn Code</th>
  333. <th style="padding:4px;">MRP</th>
  334. <th style="padding:4px;">Qty</th>
  335. <th style="padding:4px;">Total Tax</th>
  336. <th style="text-align:right">S.Total</th>
  337. </tr>
  338. </thead>
  339.  
  340. <tbody style="font-size:30px,text-align:center">';
  341. $Total = $totalgst = 0;
  342. while ($prod_bill = $rs_prod_billingg->fetch()) {
  343. $Total = $Total + $prod_bill['SubTotal'];
  344. $sql_inventry = "SELECT * from tbl_addinventory where id='" . $prod_bill['ProductId'] . "'";
  345. $rs_inventry = $conn->query($sql_inventry);
  346. $rs_inventry->setFetchMode(PDO::FETCH_ASSOC);
  347. $data_inventry = $rs_inventry->fetch();
  348. $SubGst = ($prod_bill['Igst'] / 100) * ($prod_bill['SubTotal'] - $prod_bill['Discount']);
  349. $totalgst = $totalgst + $SubGst;
  350. $html1.='
  351. <tr><center>
  352. <td style="padding:6px; border-top:1px solid #ccc;">' . $data_inventry['productTitle'] . '</td>
  353. <td style="padding:6px;border-top:1px solid #ccc;">' . $data_inventry['product_code'] . '</td>
  354. <td style="padding:6px;border-top:1px solid #ccc;">' . $prod_bill['ProdUnitPrice'] . '</td>
  355. <td style="padding:6px;border-top:1px solid #ccc;">' . $prod_bill['Quantity'] . ' ' . $data_inventry['unit'] . '</td>
  356. <td style="padding:6px;border-top:1px solid #ccc;">' . $prod_bill['Igst'] . '</td>
  357. <td style="text-align:right;padding:6px;border-top:1px solid #ccc;">' . round($prod_bill['SubTotal'] + $SubGst, 2) . '</td>
  358. </center></tr>';
  359. }
  360.  
  361. $totalgst = 0;
  362. $GTotal = 0;
  363. $sql_prod_billing1 = "SELECT * from tbl_product_billing where BillingId=" . $data_billingg['BillingId'] . "";
  364. $rs_prod_billing1 = $conn->query($sql_prod_billing1);
  365. $rs_prod_billing1->setFetchMode(PDO::FETCH_ASSOC);
  366. while ($prod_bill1 = $rs_prod_billing1->fetch()) {
  367. $SubGst = (($prod_bill1['Igst']!=0)?($prod_bill1['Igst'] / 100) : (($prod_bill1['cgst']+$prod_bill1['sgst']) /100)) * $prod_bill1['SubTotal'];
  368. $totalgst = $totalgst + $SubGst;
  369. $checkTotalGst = $totalgst; // nkp
  370. $GTotal = $GTotal + $prod_bill1['SubTotal'];
  371. }
  372.  
  373. $html1.='<tr>
  374. <td style="border-top:1px solid #ccc;"></td>
  375. <td colspan="4" style="font-weight:bold;padding:6px;border-top:1px solid #ccc;">Total Tax Amount</td>
  376. <td style="text-align:right;font-weight:bold;padding:6px;border-top:1px solid #ccc;"><i class="fa fa-inr"></i>' . round($totalgst, 2) . '</td>
  377. </tr>
  378.  
  379. <tr>
  380. <td style="border-top:1px solid #ccc;"></td>
  381. <td colspan="4" style="font-weight:bold;padding:6px;border-top:1px solid #ccc;">Discount</td>
  382. <td style="text-align:right;font-weight:bold;padding:6px;border-top:1px solid #ccc;"><i class="fa fa-inr"></i>' . $ODiscount . '</td>
  383. </tr>
  384.  
  385. <tr>
  386. <td style="border-top:1px solid #ccc;"></td>
  387. <td colspan="4" style="font-weight:bold;padding:6px;border-top:1px solid #ccc;">Grand Total</td>
  388. <td style="text-align:right;font-weight:bold;padding:6px;border-top:1px solid #ccc;"><i class="fa fa-inr"></i>' . round($GTotal + $totalgst - $ODiscount, 2) . '</td>
  389. </tr>
  390.  
  391. <tr>
  392. <td style="border-top:1px solid #ccc;">Paid by: Cash </td>
  393. <td colspan="4" style="font-weight:bold;border-top:1px solid #ccc; padding:6px">Amount: ' . round($GTotal + $totalgst - $ODiscount, 2) . '</td>
  394. <td style="text-align:right;font-weight:bold;border-top:1px solid #ccc;">Change: <i class="fa fa-inr"></i> 0</td>
  395. </tr>
  396. </tbody>
  397. </table>
  398. </td></tr>';
  399.  
  400. if($checkTotalGst != 0 && $checkTotalGst != 0.0){
  401.  
  402. $html1.='<tr><td style="border-top:1px solid #ccc;"><h3><center>&nbsp;&nbsp;Tax Summary</center></h3></td></tr>
  403. <tr>
  404. <center>
  405. <td style="border-top:0">
  406. <table width="90%" cellpadding="1px" cellspacing="1px" style="font-size:20px;">
  407. <thead style="text-align:justify">
  408. <tr>
  409. <th style="padding:5px">Product</th>
  410. <th style="padding:5px">Product Code</th>
  411. <th style="padding:5px">MRP</th>
  412. <th style="padding:5px">Discount</th>
  413. <th style="padding:5px">Qty</th>
  414. <th style="padding:5px">Total Tax%</th>
  415. <th style="text-align:right">S.Total</th>
  416. </center></tr></thead>
  417. <tbody>';
  418. $sql_prod_bill_query = "SELECT * from tbl_product_billing where BillingId='" . $data_billingg['BillingId'] . "'";
  419. $rs_prod_bill_query = $conn->query($sql_prod_bill_query);
  420. $rs_prod_bill_query->setFetchMode(PDO::FETCH_ASSOC);
  421. while ($prod_bil_row = $rs_prod_bill_query->fetch()) {
  422. $SubGsts1 = ($prod_bil_row['Igst'] / 100) * $prod_bil_row['SubTotal'];
  423. $sql_inventry_hsnn = "SELECT * from tbl_addinventory where id='" . $prod_bil_row['ProductId'] . "'";
  424. $rs_inventry_hsnn = $conn->query($sql_inventry_hsnn);
  425. $rs_inventry_hsnn->setFetchMode(PDO::FETCH_ASSOC);
  426. $data_inventry_hsnn = $rs_inventry_hsnn->fetch();
  427.  
  428. $html1.='<tr><center>
  429. <td style="padding:6px; border-top:1px solid #ccc">' . $data_inventry_hsnn['productTitle'] . '</td>
  430. <td style="padding:6px; border-top:1px solid #ccc">' . $data_inventry_hsnn['product_code'] . '</td>
  431. <td style="padding:6px; border-top:1px solid #ccc">' . round($data_inventry_hsnn['mrp'], 2) . '</td>
  432. <td style="padding:6px; border-top:1px solid #ccc">' . round($prod_bil_row['Discount'], 2) . '</td>
  433. <td style="padding:6px; border-top:1px solid #ccc">' . $prod_bil_row['Quantity'] . '</td>
  434. <td style="padding:6px; border-top:1px solid #ccc">' . $prod_bil_row['Igst'] . ' %</td>
  435. <td style="text-align:right;border-top:1px solid #ccc"><i class="fa fa-inr"></i>' . round($SubGsts1, 2) . '</td>
  436. </center></tr>';
  437. }
  438.  
  439. $html1.='
  440. <tr><center>
  441. <td style="padding:6px; border-top:1px solid #ccc"></td>
  442. <td colspan="4" style="font-weight:bold;padding:6px; border-top:1px solid #ccc">Total Tax Amount:</td>
  443. <td style="text-align:right;font-weight:bold;padding:6px; border-top:1px solid #ccc" ><i class="fa fa-inr"></i>' . round($totalgst, 2) . '</td>
  444. </center></tr>
  445.  
  446. </tbody>
  447. </table>
  448. </td>
  449. </tr>';
  450. }
  451.  
  452. $html1.='<tr><td align="center" style="border-top:0;padding:6px; border-top:1px solid #ccc"> Thank you. Please visit again</td></tr>
  453. </table>
  454.  
  455. ';
  456. $mail->Body = '<br/><br/>' . $html1;
  457. ////////////////////////////////////////////////////////// create pdf ends //////////////////////////////////////////////////////////
  458. $sent = $mail->Send();
  459. //echo "<pre>";print_r($mail);
  460. //exit;
  461. if ($sent) {
  462. ?>
  463. <script>
  464. alert('Email Send Successfully!!');
  465. </script>
  466. <?php
  467. } else {
  468. ?>
  469. <script>
  470. alert('Error in sending email!!<?php echo "Mailer Error: " . $mail->ErrorInfo; ?>');
  471. </script>
  472. <?php
  473. }
  474. ?>
  475. <script>
  476. window.location = 'view_receipt.php?bid=<?= $_GET['bid'] ?>';
  477. </script>
  478. <?php
  479. }
  480. $sql_billing = "SELECT * from tbl_billing where BillingId='" . $_GET['bid'] . "'";
  481. $rs_billing = $conn->query($sql_billing);
  482. $rs_billing->setFetchMode(PDO::FETCH_ASSOC);
  483. $data_billing = $rs_billing->fetch();
  484. $OrderDiscount = $data_billing['OrderDiscount'];
  485.  
  486. if ($_SESSION['usertype'] == 'emp' && $_SESSION['storeid'] != '') {
  487. $sql_company_header = "select * from tbl_stores where id='" . $_SESSION['storeid'] . "'";
  488. $query_company_header = $conn->query($sql_company_header);
  489. $query_company_header->setFetchMode(PDO::FETCH_ASSOC);
  490. $result_company_header = $query_company_header->fetch();
  491. $companylogo = '';
  492. $companyname = $result_company_header['name'];
  493. $companygst = $result_company_header['gstin'];
  494. $companyaddress = $result_company_header['address'];
  495. $companyphone = $result_company_header['phone'];
  496. $companyemail = $result_company_header['email'];
  497. } else {
  498. $sql_company_header = "select * from admin where id='" . $data_billing['CompanyId'] . "'";
  499. $query_company_header = $conn->query($sql_company_header);
  500. $query_company_header->setFetchMode(PDO::FETCH_ASSOC);
  501. $result_company_header = $query_company_header->fetch();
  502. $companylogo = $result_company_header['company_logo'];
  503. $companyname = $result_company_header['company_name'];
  504. $companygst = $result_company_header['gst_code'];
  505. $companyaddress = $result_company_header['address'];
  506. $companyphone = $result_company_header['phone'];
  507. $companyemail = $result_company_header['Email'];
  508. }
  509. //$Discount = $data_billing['TotalAmount']-$data_billing['OrderDiscount'];
  510. ?>
  511. <?php
  512. $sql_admin = "SELECT * from admin where id=" . ($_SESSION['userid']) ? $_SESSION['userid'] : 0;
  513. $rs_admin = $conn->query($sql_admin);
  514. if ($rs_admin) {
  515. $rs_admin->setFetchMode(PDO::FETCH_ASSOC);
  516. $data_admin = $rs_admin->fetch();
  517. } else {
  518. $data_admin = '';
  519. }
  520. ?>
  521. <!DOCTYPE html>
  522. <html>
  523. <head>
  524.  
  525. <meta charset="utf-8">
  526. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  527. <title><?= $data_admin['company_name'] ?></title>
  528. <!-- <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> -->
  529. <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  530.  
  531. <!--<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">-->
  532. <!-- Font Awesome -->
  533. <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.min.css">
  534. <!-- Ionicons -->
  535. <link rel="stylesheet" href="bower_components/Ionicons/css/ionicons.min.css">
  536. <!-- DataTables -->
  537. <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
  538.  
  539.  
  540. <!-- Theme style -->
  541. <!--<link rel="stylesheet" href="dist/css/AdminLTE.min.css">-->
  542. <!--<link rel="stylesheet" href="dist/css/skins/_all-skins.min.css">-->
  543.  
  544. <link href="dist/jdialog.min.css" rel="stylesheet" type="text/css">
  545.  
  546. <!--<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">-->
  547. </head>
  548. <body class="hold-transition skin-blue sidebar-mini receipt">
  549. <div>
  550.  
  551. <?php
  552. $sql_employee = "SELECT * from add_employee where id='" . $data_billing['EmpId'] . "'";
  553. $rs_employee = $conn->query($sql_employee);
  554. $rs_employee->setFetchMode(PDO::FETCH_ASSOC);
  555. $data_employee = $rs_employee->fetch();
  556. ?>
  557.  
  558. <?php
  559. $sql_customer = "SELECT * from tbl_customer where id=" . $data_billing['CustomerId'] . "";
  560. $rs_customer = $conn->query($sql_customer);
  561. $rs_customer->setFetchMode(PDO::FETCH_ASSOC);
  562. $data_customer = $rs_customer->fetch();
  563. ?>
  564. <!-- Left side column. contains the logo and sidebar -->
  565. <!-- Content Wrapper. Contains page content -->
  566. <div>
  567. <!-- Content Header (Page header) -->
  568. <form method="post">
  569. <section class="content sheet "><div class="container">
  570. <!-- <div class="row"> -->
  571. <!-- <div id="wrapp_er" style=""> -->
  572. <div class="text-center">
  573. <div>
  574. <?php if ($companylogo != '') { ?>
  575. <img src="upload/company_logo/<?= $companylogo ?>" class="user-image" alt="Company Logo" height="126" width="126">
  576. <?php
  577. }
  578. ?></div>
  579. <h3><center><?= $companyname ?></center></h3>
  580. <p><center><?= $companyaddress ?></center></p>
  581. <p><center>Tel: <?= $companyphone ?></center></p>
  582. <p><center>Company GST#: <?= $companygst ?></center></p>
  583. <p><center>Customer GST#:
  584. <?php
  585. if ($data_customer['customer_gst_no'] == '') {
  586. echo "Not Available";
  587. } else {
  588. echo $data_customer['customer_gst_no'];
  589. }
  590. ?>
  591. </center></p>
  592. <h3><center>Receipt</center></h3>
  593. </div>
  594. <?php $customer_id_qr = $data_customer['id'] ; ?>
  595. <div style="margin-bottom:15px"><center><p>Date: <?php echo date_format(date_create($data_billing['BillingDate']), 'd-m-Y') ?></p>
  596. <p>Sale No/Ref: <?= $data_billing['ReferenceNo'] ?></p>
  597. <?= ($data_employee['employee_name'] != '') ? '<p>Sales Associate:' . $data_employee['employee_name'] . '</p>' : '' ?></div>
  598. <div><p>Customer ID: <?= $data_customer['id'] ?></p>
  599. <p>Customer: <?= $data_customer['first_name'] . ' ' . $data_customer['last_name'] ?></p>
  600. <p>Tel: <?= $data_customer['phone_number'] ?></p>
  601. <p>Address: <?= $data_customer['address'] ?></p>
  602. </center></div>
  603.  
  604.  
  605.  
  606. <?php ////////////////////////////////////////////Product Details Starts////////////////////////////////////////////////
  607. ?>
  608. <?php
  609. $sql_prod_billing = "SELECT * from tbl_product_billing where BillingId=" . $data_billing['BillingId'] . "";
  610. $rs_prod_billing = $conn->query($sql_prod_billing);
  611. ?>
  612.  
  613. <?php
  614. $sql_employee = "SELECT * from add_employee where id='" . $data_billing['EmpId'] . "'";
  615. $rs_employee = $conn->query($sql_employee);
  616. $rs_employee->setFetchMode(PDO::FETCH_ASSOC);
  617. $data_employee = $rs_employee->fetch();
  618. ?>
  619.  
  620. <?php ////////////////////////////////////////////Product Details Ends//////////////////////////////////////////////// ?>
  621.  
  622. <div class="table" style="">
  623. <table id="maintable" style="border:2px solid black">
  624. <thead><tr>
  625. <th>Product</th>
  626. <th>Mrp</th>
  627. <th>Discount</th>
  628. <th>Qty</th>
  629. <th>S.Total</th>
  630. </tr></thead>
  631. <tbody>
  632. <?php
  633. $totaldisc = 0;
  634. $totalmrp = 0 ;
  635. while ($prod_bill = $rs_prod_billing->fetch()) {
  636. $Total = $Total + $prod_bill['SubTotal'];
  637. $sql_inventry = "SELECT * from tbl_addinventory where id='" . $prod_bill['ProductId'] . "'";
  638. $rs_inventry = $conn->query($sql_inventry);
  639. $rs_inventry->setFetchMode(PDO::FETCH_ASSOC);
  640. $data_inventry = $rs_inventry->fetch();
  641. $SubGst = ($prod_bill['Igst'] / 100) * ($prod_bill['SubTotal'] - $prod_bill['Discount']);
  642. $totalgst = $totalgst + $SubGst;
  643. $totaldisc = $totaldisc + $prod_bill['Discount'];
  644. $totalmrp= $totalmrp + $data_inventry['mrp'] ;
  645. ?>
  646. <tr>
  647. <td class="break-word"><?= $data_inventry['productTitle']/*implode(' ',array_slice(explode(' ', $data_inventry['productTitle'], 3),0,2));*/ ?></td>
  648. <td><?= round($data_inventry['mrp'], 2) ?></td>
  649. <td><?= round($prod_bill['Discount'], 2) ?></td>
  650. <td><?= $prod_bill['Quantity'] /*. ' ' . $data_inventry['unit'] */?></td>
  651. <!--<td><?= $prod_bill['Igst'] ?></td>-->
  652. <td><?php echo round(($data_inventry['mrp']) - ($prod_bill['Discount']), 2) * $prod_bill['Quantity'] ?></td>
  653. </tr>
  654. <?php } ?>
  655.  
  656. <?php
  657. $sql_prod_payment = "SELECT * from tbl_payment where BillingId=" . $data_billing['BillingId'] . "";
  658. ///////////////////////////////////////////////////////////
  659. $rs_prod_payment = $conn->query($sql_prod_payment);
  660. $rs_prod_payment->setFetchMode(PDO::FETCH_ASSOC);
  661. $prod_payment = $rs_prod_payment->fetch();
  662. ////////////////////////////////////////////////////////////
  663. $sql_prod_billing1 = "SELECT * from tbl_product_billing where BillingId=" . $data_billing['BillingId'] . "";
  664. $rs_prod_billing1 = $conn->query($sql_prod_billing1);
  665. $rs_prod_billing1->setFetchMode(PDO::FETCH_ASSOC);
  666. $GTotal = 0;
  667.  
  668. while ($prod_bill1 = $rs_prod_billing1->fetch()) {
  669. $SubGst = (($prod_bill1['Igst']!=0)?($prod_bill1['Igst'] / 100) : (($prod_bill1['cgst']+$prod_bill1['sgst']) /100)) * $prod_bill1['SubTotal'];
  670. $totalgst1 = $totalgst1 + $SubGst;
  671. $checkTotalGst = $totalgst1;
  672. $GTotal = $GTotal + $prod_bill1['Total'];
  673. $note = $prod_bill['Description'];
  674. }
  675. ?>
  676. <td colspan="7">&nbsp;</td>
  677. <tr class="txt_bold">
  678. <td colspan="2">Total Tax Amount</td>
  679. <td colspan="3"><i class="fa fa-inr"></i><?= round($totalgst, 2) ?></td>
  680. </tr>
  681.  
  682. <tr class="txt_bold">
  683. <td colspan="2">Discount</td>
  684. <td colspan="3"><i class="fa fa-inr"></i><?= round($totaldisc, 2) ?></td>
  685. </tr>
  686. <?php // echo round(520.34345,2).'-'; echo round(520.38845,2);?>
  687. <tr class="txt_bold">
  688. <td colspan="2">Grand Total</td>
  689. <td colspan="3"><i class="fa fa-inr"></i><?= number_format($GTotal - $totaldisc, 2) ?></td>
  690. </tr>
  691.  
  692. <tr>
  693. <td colspan="2">Paid Amount: <i class="fa fa-inr"></i> <?= round($prod_payment['TotalPaying'], 2); ?></td>
  694. <td colspan="3"><?php echo (($prod_payment['TotalPayable'] - $prod_payment['TotalPaying']) > 0) ? "Due:" : "Change:" ?> <i class="fa fa-inr"></i> <?php echo abs(round(($prod_payment['TotalPayable'] - $prod_payment['TotalPaying']), 2)); ?></td>
  695.  
  696. </tr>
  697. <tr class="txt_bold"><td colspan="5">Your Total Savings : <i class="fa fa-inr"></i> <?php echo $totaldisc ; ?></td></tr>
  698. <tr class="txt_bold"><td colspan="5">Payment Note: <?php echo $data_inventry['Description'] ; ?></td></tr>
  699.  
  700. </tbody>
  701. </table>
  702. <?php if($checkTotalGst != 0 && $checkTotalGst != 0.0){?>
  703. <table id="taxtable" class="table" style="border:2px solid black">
  704. <h2><center>Tax Summary</center></h2>
  705. <thead><tr>
  706. <th>Product</th>
  707. <th>IGST(%)</th>
  708. <th>CGST - SGST(%)</th>
  709. <th style='white-space:normal'>Total Tax(%)</th>
  710. <th>Total</th>
  711. </tr>
  712. </thead>
  713.  
  714. <tbody>
  715. <?php
  716. $sql_prod_billing1 = "SELECT * from tbl_product_billing where BillingId=" . $data_billing['BillingId'] . "";
  717. $rs_prod_billing1 = $conn->query($sql_prod_billing1);
  718. $rs_prod_billing1->setFetchMode(PDO::FETCH_ASSOC);
  719. while ($prod_bill1 = $rs_prod_billing1->fetch()) {
  720. /* $SubGst1 = (($prod_bill1['Igst']!=0)?($prod_bill1['Igst'] / 100) : (($prod_bill1['cgst']+$prod_bill1['sgst']) /100)) * ($prod_bill1['SubTotal'] - $prod_bill1['Discount']);*/
  721.  
  722. if($prod_bill1['Igst']!=0)
  723. { $SubGst1 = ($prod_bill1['Igst'] / 100) * ($prod_bill1['SubTotal'] - $prod_bill1['Discount']) ;
  724. //Tax amount = Value inclusive of tax X tax rate ÷ (100+ tax rate)
  725. $tallytotaltax = ( $prod_bill1['Total'] * $prod_bill1['Igst']) / (100 + $prod_bill1['Igst']);
  726. }
  727.  
  728. else
  729. { $SubGst1 = (($prod_bill1['cgst']+$prod_bill1['sgst']) /100) * ($prod_bill1['Total'] - $prod_bill1['Discount']) ;
  730.  
  731. $tallytotaltax = ( $prod_bill1['Total'] * (($prod_bill1['cgst']+$prod_bill1['sgst']) )) / (100 + ($prod_bill1['cgst']+$prod_bill1['sgst']));
  732. }
  733. $sql_inventry_hsn = "SELECT * from tbl_addinventory where id='" . $prod_bill1['ProductId'] . "'";
  734. $rs_inventry_hsn = $conn->query($sql_inventry_hsn);
  735. $rs_inventry_hsn->setFetchMode(PDO::FETCH_ASSOC);
  736. $data_inventry_hsn = $rs_inventry_hsn->fetch();
  737. ?>
  738. <tr>
  739. <td class="wordbreak"><?= /*implode(' ',array_slice(explode(' ', $data_inventry_hsn['productTitle'], 3),0,2));*/$data_inventry_hsn['productTitle'] ?></td>
  740. <td style=''><?= $prod_bill1['new_igst'] ?></td>
  741. <td style=''><?= $prod_bill1['cgst'].' - '.$prod_bill1['sgst'] ?></td>
  742. <td style=''><?= $prod_bill1['Igst'] ?></td>
  743. <td style=''><i class="fa fa-inr"></i> <?= round($tallytotaltax,2)/*round($SubGst1,2)*/ ?></td>
  744. </tr>
  745. <?php } ?>
  746. <tr>
  747. <td>&nbsp;</td>
  748. <td colspan="3"><div class="text-right text-bold">Total Tax Amount:</div></td>
  749. <td colspan="4"><strong><i class="fa fa-inr"></i><?= round($totalgst, 2) ?></strong></td>
  750. </tr>
  751. </table>
  752.  
  753.  
  754. <?php } ?>
  755. <?php ///////////////////////////////////// Granting Access ////////////////////////////////////////////// ?>
  756. <?php include('includes/grant_access.php'); ?>
  757. <?php include('includes/super_admin_grant_access.php'); ?>
  758. <?php ///////////////////////////////////// Granting Access ////////////////////////////////////////////// ?>
  759. <div><center><b>Thank you. Please visit again</b></center></div><br>
  760.  
  761. <div id="qrcode_gen" align="center"><label>Customer QR Code :- </label>
  762. <!-- <img id="qrcode_real" src=""/> -->
  763. <div id="qrcode_real"></div>
  764. </div>
  765. <div align="center"><label>Customer Bar Code :- </label><img id="barcode_real"/></div>
  766.  
  767. <?php
  768. if ($cmpny_sales_view and ( $sales_view or $_SESSION['user_type'] == 'admin')) {
  769. $pointer_event = "auto";
  770. } else {
  771. $pointer_event = "none";
  772. }
  773. $sms_sql = "SELECT * FROM tbl_user_sms WHERE CompanyId = " . $_SESSION['userid'];
  774. $query_sms = $conn->query($sms_sql);
  775. if ($query_sms) {
  776. $sms_row = $query_sms->fetch();
  777. } else {
  778. $sms_row = '';
  779. }
  780. if ($_SESSION['userid'] != '') {
  781. ?>
  782. <div class="no-print col-lg-12 col-xs-12">
  783. <button class="btn btn-warning btn-block" onClick="printclick()">PRINT</button>
  784. <div class="clearfix">&nbsp;</div>
  785. <div class="btn-group btn-group-justified col-lg-12 col-xs-12">
  786. <button type="Submit" value ="submit" name="sendmail" class="btn btn-success col-lg-12 col-xs-12">EMAIL</button>
  787. &nbsp;
  788. <?php if ($sms_row['sms_transactional'] > 0) { ?>
  789. <button type="Submit" name="sendsms" value="sendsms" class="btn btn-success col-lg-12 col-xs-12">SEND SMS</button>
  790. <?php } ?>
  791. </div>
  792. <div class="clearfix">&nbsp;</div>
  793. <a class="btn btn-primary btn-block col-lg-12 col-xs-12" href="pos.php" style="pointer-events: <?= $pointer_event ?>;">GO TO BILLING</a>
  794. <p>&nbsp;</p>
  795. <!-- <h4 class="txt_bold">Please dont forget to disble the header and footer in browser print settings. </h4>
  796. <p>FF: File > Print Setup > Margin & Header/Footer Make all --blank-- </p>
  797. <p>Chrome: Menu > Print > Disable Header/Footer in Option & Set Margins to None</p>-->
  798.  
  799. <!--</div>-->
  800. </div>
  801. </div><!-- </div> --></section>
  802.  
  803.  
  804.  
  805. <?php } ?>
  806. </form>
  807. <!-- /.content -->
  808.  
  809.  
  810.  
  811. </div>
  812. </div>
  813.  
  814. <?php /*echo "<pre>"; print_r($_SESSION) ; die ;*/
  815. $sql_popup = "SELECT * from tbl_customer WHERE company_id=".$_SESSION['userid'];
  816. $rs_popup = $conn->query($sql_popup);
  817.  
  818. /*echo $rs_popup; die ; */
  819. $rs_popup->setFetchMode(PDO::FETCH_ASSOC);
  820. $data_popup = $rs_popup->fetch();
  821. /*echo "<pre>"; echo ($sql_popup) ; die ; */
  822.  
  823.  
  824. ?>
  825. <!-- ./wrapper -->
  826.  
  827. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  828. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
  829. <script src="https://cdnjs.cloudflare.com/ajax/libs/jsbarcode/3.5.9/JsBarcode.all.min.js"></script>
  830. <script type="text/javascript">
  831. $(document).ready(function(){
  832.  
  833. $('#barcode_real').JsBarcode("<?php echo $customer_id_qr ?>", {
  834. width: 1,
  835. height: 40,
  836. displayValue: false
  837. });
  838.  
  839. $('#qrcode_real')
  840. .data("qr",{
  841. "render": "canvas",
  842. //"size": '50px',
  843. "width": 100,
  844. "height": 100,
  845. "text":'<?php echo $customer_id_qr ?>'
  846. })
  847. .qrcode($('#qrcode_real').data("qr")) ;
  848. /* .click(function () {
  849. $(this).data("qr").text = "<?php echo $customer_id_qr ?>";
  850. $(this)
  851. .html("")
  852. .qrcode($(this).data("qr"));
  853. });*/
  854.  
  855. /* $.ajax({
  856. type: "POST",
  857. url: "phpqrcode/qrcode.php",
  858. data: 'id=' + <?php //echo str_pad(76, 10, "0", STR_PAD_LEFT); ?> ,
  859. //contentType: "image/png",
  860. success: function (data) {
  861.  
  862. //var dataqr = parseJSON(data) ;
  863. console.log(data);
  864. $('#qrcode_real').html('<img ng-src="data:image/png;base64,{{+data+}}"/>');
  865. //$("#dynmodal").html(data);
  866. }
  867. });
  868. */
  869. }) ;
  870. </script>
  871. </body>
  872. </html>
Add Comment
Please, Sign In to add comment