/booking/reservations/passlistrpt.php

https://bitbucket.org/anneivycat/california-tour · PHP · 226 lines · 162 code · 39 blank · 25 comment · 19 complexity · 4d3336d8d3a0cf5b6cce1562b67fbe15 MD5 · raw file

  1. <?php
  2. include_once '../sqlfuncs.php';
  3. /* $query = "select
  4. S.SCHEDULEDTOUR_CODE, S.SCHEDULEDTOUR_PRICE,
  5. SB.SCHEDULEDTOURBOOK_ID, SB.FIRST_NAME, SB.LAST_NAME, SB.GENDER, SB.TOTALPAYTODLT,
  6. SB.TOTALPAYTOAGENT, SB.TOTALPAYCC, SB.OCCUPANCY, SB.SCHEDULEDTOURBOOK_ID,
  7. T.TOUR_NAME, T.TOUR_SUPP_SNG, T.TOUR_SUPP_DBL, T.TOUR_SUPP_TRP,
  8. T.TOUR_DISC1, T.TOUR_DISC2, T.TOUR_DISC3, T.TOUR_DISC4,
  9. T.TOUR_DISC5, T.TOUR_DISC6, T.TOUR_DISC7, T.TOUR_DISC8,
  10. A.AGENT_CODE, A.AGENT_COMMISIONTYPE,
  11. P.PULOCATION_LOCATION, P.PULOCATION_TIME, P.PULOCATION_CODE,
  12. OT.OPTIONALTOUR_PRICE
  13. FROM SCHEDULEDTOUR AS S, SCHEDULEDTOURBOOK AS SB, TOUR AS T,
  14. AGENT AS A, PULOCATION AS P, OPTIONALTOUR AS OT WHERE
  15. S.TOUR_ID = T.TOUR_ID AND S.SCHEDULEDTOUR_ID = SB.SCHEDULEDTOUR_ID AND
  16. SB.PULOCATION_ID = P.PULOCATION_ID AND SB.AGENT_ID = A.AGENT_ID ";*/
  17. // ===========
  18. // 10/12/2008 - query update
  19. // above query limits data when SB.PULOCATION_ID contains 0 using left join to get full data list
  20. $query = "select S.SCHEDULEDTOUR_CODE, S.SCHEDULEDTOUR_PRICE,
  21. SB.SCHEDULEDTOURBOOK_ID, SB.FIRST_NAME, SB.LAST_NAME, SB.GENDER, SB.TOTALPAYTODLT,
  22. SB.TOTALPAYTOAGENT, SB.TOTALPAYCC, SB.OCCUPANCY, SB.SCHEDULEDTOURBOOK_ID,
  23. T.TOUR_NAME, T.TOUR_SUPP_SNG, T.TOUR_SUPP_DBL, T.TOUR_SUPP_TRP,
  24. T.TOUR_DISC1, T.TOUR_DISC2, T.TOUR_DISC3, T.TOUR_DISC4,
  25. T.TOUR_DISC5, T.TOUR_DISC6, T.TOUR_DISC7, T.TOUR_DISC8,
  26. A.AGENT_CODE, A.AGENT_COMMISIONTYPE,
  27. P.PULOCATION_LOCATION, P.PULOCATION_TIME, P.PULOCATION_CODE,
  28. OT.OPTIONALTOUR_PRICE
  29. FROM SCHEDULEDTOUR AS S inner join SCHEDULEDTOURBOOK AS SB on S.SCHEDULEDTOUR_ID = SB.SCHEDULEDTOUR_ID
  30. inner join TOUR AS T on S.TOUR_ID = T.TOUR_ID
  31. inner join AGENT AS A on SB.AGENT_ID = A.AGENT_ID
  32. left join OPTIONALTOUR AS OT on SB.OPTIONALTOUR_ID = OT.OPTIONALTOUR_ID
  33. left join PULOCATION AS P on SB.PULOCATION_ID = P.PULOCATION_ID WHERE 1=1 ";
  34. if(isset($_POST['ScheduledTourId']) && $_POST['ScheduledTourId'] != '') {
  35. $query .= " AND S.SCHEDULEDTOUR_ID = '" . $_POST['ScheduledTourId'] . "' ";
  36. }
  37. if(isset($_POST['AgentId']) && $_POST['AgentId'] != '') {
  38. $query .= " AND A.AGENT_ID = '" . $_POST['AgentId'] . "' ";
  39. }
  40. if(isset($_POST['PULocationId']) && $_POST['PULocationId'] != '') {
  41. $query .= " AND P.PULOCATION_ID = '" . $_POST['PULocationId'] . "' ";
  42. }
  43. $query .= " AND SB.SCHEDULEDTOURBOOK_TIMESTAMP > '2007-01-01 01:00:00' ";
  44. $query .= " ORDER BY SCHEDULEDTOUR_CODE, PULOCATION_CODE, AGENT_CODE, LAST_NAME, FIRST_NAME ";
  45. // echo "<p>$query</p>";
  46. $mysql_link = connect_to_db();
  47. $mysql_result = select_db($mysql_link);
  48. $result = mysql_query($query) or die("error occures: " . mysql_error());
  49. $data_array = array();
  50. while($row = mysql_fetch_array($result)) {
  51. $data_array[$row['SCHEDULEDTOUR_CODE']]['TOUR_NAME'] = $row['TOUR_NAME'];
  52. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['PULOCATION_LOCATION'] = $row['PULOCATION_LOCATION'];
  53. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['PULOCATION_TIME'] = $row['PULOCATION_TIME'];
  54. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['AGENT_CODE'] = $row['AGENT_CODE'];
  55. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['LAST_NAME'] = $row['LAST_NAME'];
  56. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['FIRST_NAME'] = $row['FIRST_NAME'];
  57. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['GENDER'] = $row['GENDER'];
  58. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['TOTALPAYTODLT'] = $row['TOTALPAYTODLT'];
  59. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['TOTALPAYTOAGENT'] = $row['TOTALPAYTOAGENT'];
  60. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['TOTALPAYCC'] = $row['TOTALPAYCC'];
  61. $TotalCharge = $row['SCHEDULEDTOUR_PRICE'];
  62. if($row['OCCUPANCY'] == 1)
  63. $TotalCharge += $row['TOUR_SUPP_SNG'];
  64. if($row['OCCUPANCY'] == 2)
  65. $TotalCharge += $row['TOUR_SUPP_DBL'];
  66. if($row['OCCUPANCY'] == 3)
  67. $TotalCharge += $row['TOUR_SUPP_TRP'];
  68. switch($row['AGENT_COMMISIONTYPE']) {
  69. case 1:
  70. $TotalCharge -= $row['TOUR_DISC1'];
  71. break;
  72. case 2:
  73. $TotalCharge -= $row['TOUR_DISC2'];
  74. break;
  75. case 3:
  76. $TotalCharge -= $row['TOUR_DISC3'];
  77. break;
  78. case 4:
  79. $TotalCharge -= $row['TOUR_DISC4'];
  80. break;
  81. case 5:
  82. $TotalCharge -= $row['TOUR_DISC5'];
  83. break;
  84. case 6:
  85. $TotalCharge -= $row['TOUR_DISC6'];
  86. break;
  87. case 7:
  88. $TotalCharge -= $row['TOUR_DISC7'];
  89. break;
  90. case 8:
  91. $TotalCharge -= $row['TOUR_DISC8'];
  92. break;
  93. default:
  94. break;
  95. }
  96. $WebDiscount = $TotalCharge - ($row['TOTALPAYTODLT'] + $row['TOTALPAYTOAGENT'] + $row['TOTALPAYCC']);
  97. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['TOTALCHARGE'] = $TotalCharge;
  98. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['WEBDISCOUNT'] = $WebDiscount;
  99. $data_array[$row['SCHEDULEDTOUR_CODE']]['PULOCATION'][$row['PULOCATION_CODE']]['AGENT'][$row['AGENT_CODE']][$row['SCHEDULEDTOURBOOK_ID']]['TOTALBALANCE'] = 0;
  100. }
  101. $sum_people_count = 0;
  102. $sum_total_charge = 0;
  103. $sum_web_discount = 0;
  104. $sum_pay_to_dlt = 0;
  105. $sum_pay_to_agent = 0;
  106. $sum_pay_to_cc = 0;
  107. $sum_balance = 0;
  108. $no_record = true;
  109. foreach($data_array AS $s_key => $s_value) {
  110. $no_record = false;
  111. echo "<table width='900' style='font-size: 11px;font-family: arial, sans-serif;'>
  112. <tr><td colspan='9'><hr></td></tr>
  113. <tr><td colspan='9'><b>" . $s_key . " " .$s_value['TOUR_NAME'] . "</b></td></tr>
  114. <tr><td width='60'>Agents</td><td width='250'>Name(Last First)</td><td width='50'>Gender</td><td width='90'>Total Chg</td><td width='90'>Web Disc</td><td width='90'>Pd/DLT</td><td width='90'>Pd/AG</td><td width='90'>Pd/CC</td><td width='90'>Bal.</td></tr>
  115. <tr><td colspan='9'><hr></td></tr>";
  116. $tour_people_count = 0;
  117. $tour_total_charge = 0;
  118. $tour_web_discount = 0;
  119. $tour_pay_to_dlt = 0;
  120. $tour_pay_to_agent = 0;
  121. $tour_pay_to_cc = 0;
  122. $tour_balance = 0;
  123. foreach($s_value['PULOCATION'] AS $p_key => $p_value) {
  124. $pu_people_count = 0;
  125. $pu_total_charge = 0;
  126. $pu_web_discount = 0;
  127. $pu_pay_to_dlt = 0;
  128. $pu_pay_to_agent = 0;
  129. $pu_pay_to_cc = 0;
  130. $pu_balance = 0;
  131. $count = 0;
  132. echo "<tr><td colspan='9'><b>" . $p_key . " " . $p_value['PULOCATION_LOCATION'] . "(" . $p_value['PULOCATION_TIME'] . ")" . "</b></td></tr>";
  133. foreach($p_value['AGENT'] AS $a_key => $a_value) {
  134. foreach($a_value AS $sb_key => $sb_value) {
  135. if(++$count <= 5) {
  136. echo "<tr><td>" . $a_key . "</td><td>" . $sb_value['LAST_NAME'] . " " . $sb_value['FIRST_NAME'] . "</td><td>" . $sb_value['GENDER'] . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALCHARGE']) . "</td><td>" . sprintf("%5.2f",$sb_value['WEBDISCOUNT']) . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALPAYTODLT']) . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALPAYTOAGENT']) . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALPAYCC']) . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALBALANCE']) . "</td></tr>\n";
  137. }
  138. else {
  139. echo "<tr><td colspan='9'>&nbsp;</td></tr>\n";
  140. echo "<tr><td>" . $a_key . "</td><td>" . $sb_value['LAST_NAME'] . " " . $sb_value['FIRST_NAME'] . "</td><td>" . $sb_value['GENDER'] . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALCHARGE']) . "</td><td>" . sprintf("%5.2f",$sb_value['WEBDISCOUNT']) . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALPAYTODLT']) . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALPAYTOAGENT']) . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALPAYCC']) . "</td><td>" . sprintf("%5.2f",$sb_value['TOTALBALANCE']) . "</td></tr>\n";
  141. $count = 1;
  142. }
  143. $tour_people_count++;
  144. $tour_total_charge += $sb_value['TOTALCHARGE'];
  145. $tour_web_discount += $sb_value['WEBDISCOUNT'];
  146. $tour_pay_to_dlt += $sb_value['TOTALPAYTODLT'];
  147. $tour_pay_to_agent += $sb_value['TOTALPAYTOAGENT'];
  148. $tour_pay_to_cc += $sb_value['TOTALPAYCC'];
  149. $tour_balance += $sb_value['TOTALBALANCE'];
  150. $pu_people_count++;
  151. $pu_total_charge += $sb_value['TOTALCHARGE'];
  152. $pu_web_discount += $sb_value['WEBDISCOUNT'];
  153. $pu_pay_to_dlt += $sb_value['TOTALPAYTODLT'];
  154. $pu_pay_to_agent += $sb_value['TOTALPAYTOAGENT'];
  155. $pu_pay_to_cc += $sb_value['TOTALPAYCC'];
  156. $pu_balance += $sb_value['TOTALBALANCE'];
  157. }
  158. }
  159. echo "<tr><td>Total:</td><td></td><td>" . $pu_people_count . "</td><td>" . sprintf("%5.2f",$pu_total_charge) . "</td><td>" . sprintf("%5.2f",$pu_web_discount) . "</td><td>" . sprintf("%5.2f",$pu_pay_to_dlt) . "</td><td>" . sprintf("%5.2f",$pu_pay_to_agent) . "</td><td>" . sprintf("%5.2f",$pu_pay_to_cc) . "</td><td>" . sprintf("%5.2f",$pu_balance) . "</td></tr>";
  160. }
  161. echo "<tr><td><b>Total:</b></td><td></td><td><b>" . $tour_people_count . "</b></td><td><b>" . sprintf("%5.2f",$tour_total_charge) . "</b></td><td><b>" . sprintf("%5.2f",$tour_web_discount) . "</b></td><td><b>" . sprintf("%5.2f",$tour_pay_to_dlt) . "</b></td><td><b>" . sprintf("%5.2f",$tour_pay_to_agent) . "</b></td><td><b>" . sprintf("%5.2f",$tour_pay_to_cc) . "</b></td><td><b>" . sprintf("%5.2f",$tour_balance) . "</b></td></tr>";
  162. echo "</table><br><br>";
  163. $sum_people_count += $tour_people_count;
  164. $sum_total_charge += $tour_total_charge;
  165. $sum_web_discount += $tour_web_discount;
  166. $sum_pay_to_dlt += $tour_pay_to_dlt;
  167. $sum_pay_to_agent += $tour_pay_to_agent;
  168. $sum_pay_to_cc += $tour_pay_to_cc;
  169. $sum_balance += $tour_balance;
  170. }
  171. if($no_record) {
  172. echo "<div align='center'>No Match is found</div>";
  173. }
  174. else {
  175. echo "<table width='900' style='font-size: 11px;font-family: arial, sans-serif;'>";
  176. echo "<tr><td colspan='2' width='310'><b>GRAND
  177. TOTAL:</b></td><td width='50'><b>$sum_people_count</b></td><td width='90'><b>" . sprintf("%5.2f", (int)$sum_total_charge) . "</b></td><td width='90'><b>" . sprintf("%5.2f",(int)$sum_web_discount) . "</b></td><td width='90'><b>" . sprintf("%5.2f",(int)$sum_pay_to_dlt) . "</b></td><td width='90'><b>" . sprintf("%5.2f",(int)$sum_pay_to_agent) . "</b></td><td width='90'><b>" . sprintf("%5.2f",(int)$sum_pay_to_cc) . "</b></td><td width='90'><b>" . sprintf("%5.2f",(int)$sum_balance) . "</b></td></tr>";
  178. echo "</table>";
  179. }
  180. ?>