Advertisement
Guest User

Untitled

a guest
Feb 18th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.27 KB | None | 0 0
  1. <%@ page session="false"%>
  2. <%@ page contentType="text/html; charset=UTF8" pageEncoding="UTF-8"%>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
  4. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  5. <% org.hibernate.Session dbSession = (org.hibernate.Session)request.getAttribute("dbSession");
  6. org.hibernate.SQLQuery query = dbSession.createSQLQuery("");
  7. org.hibernate.SQLQuery q = dbSession.createSQLQuery("");
  8. int it=0;
  9. int s=0;
  10.  
  11. String VALID_TILL="Действительна до";
  12. String EXTRA_CARDS="Дополнительные карты";
  13. String HOTEL_INFO="Информация о проживании";
  14. String RESERVED="забронировано";
  15. String PROFILE_INFO="Информация о госте";
  16. String BIRTH_DATE="дата рождения";
  17. String ADDRESS="Адрес";
  18. String TEL="Телефон";
  19. String EMAIL="Email";
  20. String JOB="Должность";
  21. String MEMBERSHIPS="Контракты";
  22. String NO_MEMBERSHIPS="Нет контрактов";
  23. String MMSHP_ACTIVE="Активный";
  24. String MMSHP_ONHOLD="Заморожен";
  25. String MMSHP_INACTIVE="Неактивен";
  26. String MMSHP_HOLD_DAYS="Дни заморозки";
  27. String UPCOMING_BOOKINGS="Будущие брони";
  28. String PAST_BOOKINGS="Прошедшие брони";
  29. String NO_APPOINTMENTS="Нет броней";
  30. String WITH="с мастером";
  31. String IN="в кабинете";
  32. String ACCOUNT_BALANCES="Балансы счетов";
  33. String ACCOUNT_DEPO="Депозитный счет";
  34. String ACCOUNT_MMSHP="Счет рассрочки";
  35. String ACCOUNT_BONUS="Бонусный счет";
  36. String PAYMENT_CALENDAR="Календарь платежей";
  37. String VOUCHERS="Ваучеры";
  38. String NO_VOUCHERS="Нет ваучеров";
  39. String UNLIMITED="безлимит";
  40. String SUBSCRIPTIONS="Абонементы";
  41. String NO_SUBSCRIPTIONS="Нет абонементов";
  42. String ACCOUNT_RNIGHT4="Счет Ночей 4 звезды";
  43. String ACCOUNT_RNIGHTAP="Счет Ночей Апарт Отеля";
  44. String ACCOUNT_DINING="Dining deposit account";
  45.  
  46.  
  47. %>
  48.  
  49. <html>
  50. <head>
  51. <title>${card.cardId} ${card.lastName} ${card.firstName} ${card.secondName}</title>
  52. <link rel="stylesheet" href="/media/_res/css/bootstrap.min.css" rel="stylesheet"/>
  53.  
  54. <style type="text/css">
  55.  
  56. .main-content{
  57. font-size: 12px;
  58. color: #575a6c;
  59. padding-top: 30px;
  60. }
  61.  
  62. table {
  63. border-collapse: collapse;
  64. font-size: 100%;
  65. width: 100%;
  66. }
  67.  
  68. td {
  69. padding: 0 10px;
  70. border: 0px solid black;
  71. vertical-align: top;
  72. background: linear-gradient(to bottom right, #e9eef4, #fdfdfd);
  73. }
  74.  
  75. td.w50 {
  76. width: 50%;
  77. }
  78.  
  79. td.w100 {
  80. width: 100%;
  81. }
  82.  
  83. span.profile-panel-header {
  84. font-weight: bold;
  85. text-decoration: underline;
  86. display: block;
  87. margin: 10px 0;
  88. font-size: 110%;
  89. }
  90.  
  91. span.profile-panel-body {
  92.  
  93. }
  94.  
  95. span.profile-panel-block-header {
  96. font-weight: bold;
  97. font-style: italic;
  98. display: block;
  99. margin: 10px 0 0 0;
  100. }
  101.  
  102. </style>
  103. </head>
  104.  
  105. <div class="container main-content">
  106.  
  107. <div class="col-md-8">
  108.  
  109. <table>
  110.  
  111. <tr>
  112.  
  113. <!-- MAIN INFO -->
  114. <td class="w100" colspan="2">
  115. <span class="profile-panel-body">
  116. <h4>${card.lastName} ${card.firstName} ${card.secondName}</h4>
  117. <h5>#${card.cardId}</h5>
  118.  
  119.  
  120. <!-- CARDS -->
  121. Тип карты: <strong>${card.cardType.typeName}</strong> (<i><%out.print(VALID_TILL);%>: <strong><fmt:formatDate pattern="dd.MM.yyyy" value='${card.validTill}'/>)</strong></i><br>
  122. Номер карты: ${card.magstripe}
  123.  
  124. <p>
  125. <%
  126. query = dbSession.createSQLQuery("select "+
  127. "x.MAGSTRIPE as magstripe, "+
  128. "t.TYPE_NAME as type_name, "+
  129. "TO_CHAR(x.VALID_TILL, 'DD.MM.YYYY') as valid_till "+
  130. "from CARD_XTRA x, CARD_TYPES t "+
  131. "where t.CARD_TYPE_ID = x.CARD_TYPE_ID and CARD_ID='"+((ru.hrs.lassd.club.vo.Card)request.getAttribute("card")).cardId+"' "+
  132. "order by x.VALID_TILL");
  133.  
  134. query.addScalar("magstripe", org.hibernate.type.StandardBasicTypes.STRING);
  135. query.addScalar("type_name", org.hibernate.type.StandardBasicTypes.STRING);
  136. query.addScalar("valid_till", org.hibernate.type.StandardBasicTypes.STRING);
  137.  
  138. if (query.list().size()>0) { out.println("<span class=\"profile-panel-header\">"+EXTRA_CARDS+"</span>"); }
  139.  
  140. for (Object[] o:((java.util.List<Object[]>) query.list())) {
  141. out.println("<p><strong>" + o[1] + "</strong> (<i>" + VALID_TILL + ": <strong>" + o[2] + "</strong>)<br>" + "#" + o[0] + "</p>");
  142. }
  143. %>
  144. </p>
  145.  
  146.  
  147.  
  148. <!-- PMS INFO -->
  149. <%
  150. query = dbSession.createSQLQuery("select "+
  151. "r.REG_ID regid, "+
  152. "TO_CHAR(r.CLOCKIN,'DD.MM.YY') clockin, "+
  153. "TO_CHAR(r.EXP_DEP_HOUR, 'DD.MM.YY') clockout "+
  154. "from REGISTRATION r "+
  155. "where r.CLOCKOUT is null and r.rvc_id=382 and r.CARD_ID='"+((ru.hrs.lassd.club.vo.Card)request.getAttribute("card")).cardId+"' "+
  156. "order by r.CLOCKIN");
  157.  
  158. query.addScalar("regid", org.hibernate.type.StandardBasicTypes.STRING);
  159. query.addScalar("clockin", org.hibernate.type.StandardBasicTypes.STRING);
  160. query.addScalar("clockout", org.hibernate.type.StandardBasicTypes.STRING);
  161.  
  162. if (query.list().size()>0) { out.println("<span class=\"profile-panel-block-header\">" + HOTEL_INFO + "</span>"); }
  163.  
  164. for (Object[] o:((java.util.List<Object[]>) query.list())) {
  165.  
  166. q = dbSession.createSQLQuery("select "+
  167. "rk.KEY_NUMBER room "+
  168. "from REGISTRATION_KEYS rk "+
  169. "where rk.REG_ID="+o[0].toString()+
  170. " order by rk.KEY_ID desc");
  171.  
  172. q.addScalar("room", org.hibernate.type.StandardBasicTypes.STRING);
  173.  
  174. if (q.list().size()>0) {
  175. java.util.List<Object[]> list = q.list();
  176. if (list.get(0) != null) { out.println(o[1] + " - " + o[2] + " [ #" + list.get(0) + " ]"); }
  177. else { out.println(o[1] + " - " + o[2] + " [ " + RESERVED + " ]"); }
  178. }
  179. else {
  180. out.println(o[1] + " - " + o[2] + " [ " + RESERVED + " ]");
  181. }
  182. out.println("<br>");
  183. }
  184. %>
  185.  
  186.  
  187.  
  188.  
  189. </span>
  190. </td>
  191.  
  192. </tr>
  193.  
  194.  
  195. <tr>
  196.  
  197. <!-- INFO -->
  198. <td class="w50">
  199. <span class="profile-panel-header"><%out.print(PROFILE_INFO);%></span>
  200. <span class="profile-panel-body">
  201. <p>
  202. <%out.print(BIRTH_DATE);%>: <fmt:formatDate pattern="dd.MM.yyyy" value='${card.birthDate}'/><br>
  203. <%out.print(ADDRESS);%>: ${card.streetAddress}, ${card.city}, ${card.country}, ${card.zipCode}<br>
  204. <%out.print(TEL);%>: ${card.phone} ${card.cellPhone}<br>
  205. <%out.print(EMAIL);%>: ${card.email}<br>
  206. <%out.print(JOB);%>: ${card.company} - ${card.jobTitle}<br>
  207. </p>
  208. </span>
  209. </td>
  210.  
  211.  
  212. <!-- MEMBESHIPS -->
  213. <td td="w50">
  214. <span class="profile-panel-header"><%out.print(MEMBERSHIPS);%></span>
  215. <span class="profile-panel-body">
  216. <c:if test="${(subscriptions.size()<=0)}"><%out.print(NO_MEMBERSHIPS);%></c:if>
  217. <c:forEach var="subs" items="${subscriptions}" varStatus="c3">
  218. <c:if test="${(subs.status=='NEW'||subs.status=='ACTIVE'||subs.status=='FROZEN') && (not empty subs.items) && (subs.membership) }">
  219. <p><STRONG>${subs.name}</STRONG>
  220. ( <c:if test="${(subs.status=='ACTIVE')}"><font color="green"><%out.print(MMSHP_ACTIVE);%></font></c:if>
  221. <c:if test="${(subs.status=='FROZEN')}"><%out.print(MMSHP_ONHOLD);%></c:if>
  222. <c:if test="${(subs.status=='NEW')}"><font color="red"><%out.print(MMSHP_INACTIVE);%></font></c:if> ) - <fmt:formatNumber pattern="0.00" value='${subs.price}'/>
  223. <br><%out.print(VALID_TILL);%>: <strong><fmt:formatDate pattern="dd.MM.yyyy" value='${subs.mmshpEndDate}'/></strong>
  224. <c:if test="${(subs.holds.size()>0)}"><strong><br><%out.print(MMSHP_HOLD_DAYS);%>:</strong>
  225. <c:forEach var="item" items="${subs.holds}">
  226. <li> <fmt:formatDate pattern="dd.MM.yyyy" value='${item.key}'/> - <fmt:formatDate pattern="dd.MM.yyyy" value='${item.value}'/></li>
  227. </c:forEach>
  228. </p>
  229. </c:if>
  230. </c:if>
  231. </c:forEach>
  232. </span>
  233. </td>
  234.  
  235.  
  236. </tr>
  237.  
  238. <!-- UPCOMING BOOKINGS -->
  239. <tr>
  240. <td class="w100" colspan="2">
  241. <span class="profile-panel-header"><%out.print(UPCOMING_BOOKINGS);%></span>
  242. <span class="profile-panel-body">
  243. <%
  244.  
  245. query = dbSession.createSQLQuery("select "+
  246. "TO_CHAR(bookings.time_start, 'DD.MM.YYYY (HH24:MI)') as time_start, "+
  247. "bookings.name as booking_name, "+
  248. "bookings. booking_id as b_id "+
  249. "from booking_resources,bookings "+
  250. "where (booking_resources.resource_id='"+((ru.hrs.lassd.club.vo.Card)request.getAttribute("card")).cardId+"') "+
  251. "and (booking_resources.booking_id=bookings.booking_id) "+
  252. "and (booking_resources.resource_type='P') "+
  253. "and (bookings.time_start>SYSDATE) order by time_start");
  254.  
  255. query.addScalar("time_start", org.hibernate.type.StandardBasicTypes.STRING);
  256. query.addScalar("booking_name", org.hibernate.type.StandardBasicTypes.STRING);
  257. query.addScalar("b_id", org.hibernate.type.StandardBasicTypes.INTEGER);
  258.  
  259. if (query.list().size()<=0) { out.println(NO_APPOINTMENTS); }
  260.  
  261. for (Object[] o:((java.util.List<Object[]>) query.list())) {
  262. out.println("<strong>"+o[0]+"</strong> - ");
  263. out.println(o[1]);
  264. out.println("<i>");
  265.  
  266. // TRAINER
  267. q = dbSession.createSQLQuery("select "+
  268. "br.resource_type as type, "+
  269. "br.resource_name as name "+
  270. "from booking_resources br "+
  271. "where br.booking_id='"+o[2]+"' and br.resource_type ='T' " +
  272. "order by type desc");
  273. q.addScalar("name", org.hibernate.type.StandardBasicTypes.STRING);
  274. q.addScalar("type", org.hibernate.type.StandardBasicTypes.STRING);
  275.  
  276. it=0;
  277. s = q.list().size();
  278. if (s>0) { out.println(" (" + WITH + " "); } else { out.println(" ("); }
  279.  
  280. for (Object[] i:((java.util.List<Object[]>) q.list())) {
  281. out.println(i[0]);
  282. it++;
  283. if (it<s) { out.println(", "); }
  284. }
  285.  
  286. // FACILITY
  287. q = dbSession.createSQLQuery("select "+
  288. "br.resource_type as type, "+
  289. "br.resource_name as name "+
  290. "from booking_resources br "+
  291. "where br.booking_id='"+o[2]+"' and br.resource_type ='F' " +
  292. "order by type desc");
  293. q.addScalar("name", org.hibernate.type.StandardBasicTypes.STRING);
  294. q.addScalar("type", org.hibernate.type.StandardBasicTypes.STRING);
  295.  
  296. it=0;
  297. s = q.list().size();
  298. if (s>0) { out.println(" " + IN + " "); }
  299.  
  300. for (Object[] i:((java.util.List<Object[]>) q.list())) {
  301. out.println(i[0]);
  302. it++;
  303. if (it<s) { out.println(", "); }
  304. }
  305. out.println(")");
  306.  
  307. out.println("</i><br>");
  308. }
  309. %>
  310. </span>
  311.  
  312. <!-- PAST BOOKINGS -->
  313. <span class="profile-panel-block-header"><%out.print(PAST_BOOKINGS);%></span>
  314. <span class="profile-panel-body"><p>
  315. <%
  316.  
  317. query = dbSession.createSQLQuery("select "+
  318. "TO_CHAR(b.time_start, 'DD.MM.YYYY (HH24:MI)') as t_start, "+
  319. "b.name as booking_name, "+
  320. "b. booking_id as b_id "+
  321. "from booking_resources br, bookings b "+
  322. "where (br.resource_id='"+((ru.hrs.lassd.club.vo.Card)request.getAttribute("card")).cardId+"') "+
  323. "and (br.booking_id=b.booking_id) "+
  324. "and (br.resource_type='P') "+
  325. "and (b.time_start<SYSDATE) order by time_start desc");
  326.  
  327. query.addScalar("t_start", org.hibernate.type.StandardBasicTypes.STRING);
  328. query.addScalar("booking_name", org.hibernate.type.StandardBasicTypes.STRING);
  329. query.addScalar("b_id", org.hibernate.type.StandardBasicTypes.INTEGER);
  330. query.setMaxResults(3);
  331.  
  332. if (query.list().size()<=0) { out.println(NO_APPOINTMENTS); }
  333.  
  334. for (Object[] o:((java.util.List<Object[]>) query.list())) {
  335. out.println("<i><small>");
  336. out.println(o[0]+" - ");
  337. out.println(o[1]);
  338. out.println("<i>");
  339.  
  340. // TRAINER
  341. q = dbSession.createSQLQuery("select "+
  342. "br.resource_type as type, "+
  343. "br.resource_name as name "+
  344. "from booking_resources br "+
  345. "where br.booking_id='"+o[2]+"' and br.resource_type ='T' " +
  346. "order by type desc");
  347. q.addScalar("name", org.hibernate.type.StandardBasicTypes.STRING);
  348. q.addScalar("type", org.hibernate.type.StandardBasicTypes.STRING);
  349.  
  350. it=0;
  351. s = q.list().size();
  352. if (s>0) { out.println(" (" + WITH + " "); } else { out.println(" ("); }
  353.  
  354. for (Object[] i:((java.util.List<Object[]>) q.list())) {
  355. out.println(i[0]);
  356. it++;
  357. if (it<s) { out.println(", "); }
  358. }
  359.  
  360. // FACILITY
  361. q = dbSession.createSQLQuery("select "+
  362. "br.resource_type as type, "+
  363. "br.resource_name as name "+
  364. "from booking_resources br "+
  365. "where br.booking_id='"+o[2]+"' and br.resource_type ='F' " +
  366. "order by type desc");
  367. q.addScalar("name", org.hibernate.type.StandardBasicTypes.STRING);
  368. q.addScalar("type", org.hibernate.type.StandardBasicTypes.STRING);
  369.  
  370. it=0;
  371. s = q.list().size();
  372. if (s>0) { out.println(" " + IN + " "); }
  373.  
  374. for (Object[] i:((java.util.List<Object[]>) q.list())) {
  375. out.println(i[0]);
  376. it++;
  377. if (it<s) { out.println(", "); }
  378. }
  379. out.println(")");
  380. out.println("</i></small><br>");
  381. }
  382. %>
  383. </p></span>
  384.  
  385. </td>
  386. </tr>
  387.  
  388.  
  389. <tr>
  390.  
  391. <!-- ACCOUNTS -->
  392. <td class="w50">
  393. <span class="profile-panel-header"><%out.print(ACCOUNT_BALANCES);%></span>
  394. <span class="profile-panel-body">
  395. <%out.print(ACCOUNT_DEPO);%>: <c:if test="${(accounts['DEPO'].total < 0)}"><font color="red"></c:if>
  396. <strong><fmt:formatNumber pattern="0.00" value='${accounts["DEPO"].total}'/></strong> (<fmt:formatNumber pattern="0.00" value='${accounts["DEPO"].loan}'/>)
  397. <c:if test="${(accounts['DEPO'].total < 0)}"></font></c:if>
  398. <br>
  399. <%out.print(ACCOUNT_BONUS);%>: <c:if test="${(accounts['BONUS'].total < 0)}"><font color="red"></c:if>
  400. <strong><fmt:formatNumber pattern="0.00" value='${accounts["BONUS"].total}'/></strong> (<fmt:formatNumber pattern="0.00" value='${accounts["BONUS"].loan}'/>)
  401. <c:if test="${(accounts['BONUS'].total < 0)}"></font></c:if>
  402. <br>
  403. <%out.print(ACCOUNT_MMSHP);%>: <c:if test="${(accounts['MMSHP'].total < 0)}"><font color="red"></c:if>
  404. <strong><fmt:formatNumber pattern="0.00" value='${accounts["MMSHP"].total}'/></strong> (<fmt:formatNumber pattern="0.00" value='${accounts["MMSHP"].loan}'/>)
  405. <c:if test="${(accounts['MMSHP'].total < 0)}"></font></c:if>
  406. <br>
  407. <%out.print(ACCOUNT_RNIGHT4);%>: <c:if test="${(accounts['RNIGHT4'].total < 0)}"><font color="red"></c:if>
  408. <strong><fmt:formatNumber pattern="0.00" value='${accounts["RNIGHT4"].total}'/></strong> (<fmt:formatNumber pattern="0.00" value='${accounts["RNIGHT4"].loan}'/>)
  409. <c:if test="${(accounts['RNIGHT4'].total < 0)}"></font></c:if>
  410. <br>
  411. <%out.print(ACCOUNT_RNIGHTAP);%>: <c:if test="${(accounts['RNIGHTAP'].total < 0)}"><font color="red"></c:if>
  412. <strong><fmt:formatNumber pattern="0.00" value='${accounts["RNIGHTAP"].total}'/></strong> (<fmt:formatNumber pattern="0.00" value='${accounts["RNIGHTAP"].loan}'/>)
  413. <c:if test="${(accounts['RNIGHTAP'].total < 0)}"></font></c:if>
  414. <br>
  415.  
  416. <c:if test="${(paymentCalendar.size()>0)}">
  417. <span class="profile-panel-block-header"><%out.print(PAYMENT_CALENDAR);%></span>
  418. <span class="profile-panel-body">
  419. <ul>
  420. <c:forEach var="item" items="${paymentCalendar}">
  421. <li> <fmt:formatDate pattern="dd.MM.yyyy" value='${item.key}'/> - <fmt:formatNumber pattern="0.00" value='${item.value}'/></li>
  422. </c:forEach>
  423. </ul>
  424. </span">
  425. </c:if>
  426. </td>
  427.  
  428.  
  429. <!-- VOUCHERS -->
  430. <td class="w50">
  431. <span class="profile-panel-header"><%out.print(VOUCHERS);%></span>
  432. <span class="profile-panel-body">
  433.  
  434. <%
  435. query = dbSession.createSQLQuery("select "+
  436. "v.code as code, "+
  437. "v.voucher_campaign_id, "+
  438. "vc.name as name, "+
  439. "vc.type as type, "+
  440. "vc.items as items, "+
  441. "v.valid_till as till, "+
  442. "v.value_balance as balance, "+
  443. "v.items as items_fc "+
  444. "from voucher v, voucher_campaign vc "+
  445. "where (v.link_card_id='"+((ru.hrs.lassd.club.vo.Card)request.getAttribute("card")).cardId+"' "+
  446. "and v.voucher_campaign_id = vc.voucher_campaign_id " +
  447. "and (v.subscription_accounting_id is null or v.subscription_accounting_id in (select sa.subscription_accounting_id from subscription_accounting sa where sa.status=\'2\'))) "+
  448. "and (v.valid_till>=SYSDATE or v.valid_till is null) "+
  449. "and ( "+
  450. "((vc.type=\'DSC\') and (vc.max_use_count>v.use_count)) "+
  451. "or "+
  452. "((vc.type=\'VAL\') and (vc.max_use_count>v.use_count and v.value_balance>0)) "+
  453. "or "+
  454. "((vc.type=\'IPS\' or vc.type=\'IFC\') and (vc.max_use_count>v.use_count)) "+
  455. ")");
  456.  
  457. query.addScalar("code", org.hibernate.type.StandardBasicTypes.STRING);
  458. query.addScalar("name", org.hibernate.type.StandardBasicTypes.STRING);
  459. query.addScalar("type", org.hibernate.type.StandardBasicTypes.STRING);
  460. query.addScalar("items", org.hibernate.type.StandardBasicTypes.STRING);
  461. query.addScalar("till", org.hibernate.type.StandardBasicTypes.DATE);
  462. query.addScalar("balance", org.hibernate.type.StandardBasicTypes.FLOAT);
  463. query.addScalar("items_fc", org.hibernate.type.StandardBasicTypes.STRING);
  464.  
  465. if (query.list().size()<=0) { out.println(NO_VOUCHERS); }
  466.  
  467. for (Object[] o:((java.util.List<Object[]>) query.list())) {
  468.  
  469. if (o[2].equals("VAL")) {
  470. out.println("<p>");
  471. out.println(o[1]);
  472. out.println(" (" + o[0] + ") ");
  473. out.println("<strong>: " + String.format("%.2f", o[5]) +"</strong>");
  474. out.println("<br>");
  475.  
  476. if (o[4]==null) {
  477. out.println("<i>" + VALID_TILL + ": " + UNLIMITED + "</i>");
  478. } else {
  479. out.println("<i>" + VALID_TILL + ": "+ String.format("%1$td.%1$tm.%1$tY", o[4])+"</i>");
  480. }
  481.  
  482. out.println("</p>");
  483. }
  484.  
  485. if (o[2].equals("DSC")) {
  486. out.println("<p>");
  487. out.println(o[1]);
  488. out.println(" (" + o[0] + ") ");
  489. out.println("<br>");
  490.  
  491. if (o[4]==null) {
  492. out.println("<i>" + VALID_TILL + ": " + UNLIMITED + "</i>");
  493. } else {
  494. out.println("<i>" + VALID_TILL + ": "+ String.format("%1$td.%1$tm.%1$tY", o[4])+"</i>");
  495. }
  496. out.println("</p>");
  497. }
  498.  
  499. if (o[2].equals("IPS")) {
  500. out.println("<p>");
  501. out.println(o[1]);
  502. out.println(" (" + o[0] + ") ");
  503.  
  504. q = dbSession.createSQLQuery("select name1 from menu_items where code in ("+o[3]+")");
  505. q.addScalar("name1", org.hibernate.type.StandardBasicTypes.STRING);
  506. out.println(q.list());
  507. out.println("<br>");
  508.  
  509. if (o[4]==null) {
  510. out.println("<i>" + VALID_TILL + ": " + UNLIMITED + "</i>");
  511. } else {
  512. out.println("<i>" + VALID_TILL + ": "+ String.format("%1$td.%1$tm.%1$tY", o[4])+"</i>");
  513. }
  514. out.println("</p>");
  515. }
  516.  
  517. if (o[2].equals("IFC")) {
  518. out.println("<p>");
  519. out.println(o[1]);
  520. out.println(" (" + o[0] + ") ");
  521.  
  522. q = dbSession.createSQLQuery("select name1 from menu_items where code in ("+o[6]+")");
  523. q.addScalar("name1", org.hibernate.type.StandardBasicTypes.STRING);
  524. out.println(q.list());
  525. out.println("<br>");
  526.  
  527. if (o[4]==null) {
  528. out.println("<i>" + VALID_TILL + ": " + UNLIMITED + "</i>");
  529. } else {
  530. out.println("<i>" + VALID_TILL + ": "+ String.format("%1$td.%1$tm.%1$tY", o[4])+"</i>");
  531. }
  532. out.println("</p>");
  533. }
  534.  
  535. }
  536. %>
  537. </span>
  538. </td>
  539.  
  540. </tr>
  541.  
  542. <!-- SUBSCRIPTIONS-->
  543. <tr>
  544. <td class="w100" colspan="2">
  545. <span class="profile-panel-header"><%out.print(SUBSCRIPTIONS);%></span>
  546. <span class="profile-panel-body">
  547. <%
  548. query = dbSession.createSQLQuery("select "+
  549. "sa.subscription_accounting_id as sa_id, "+
  550. "sa.subscription_mi_id as mi_id, "+
  551. "sa.expiration_date as exp_date, "+
  552. "mi.name1 as name "+
  553. "from subscription_accounting sa, menu_items mi "+
  554. "where "+
  555. "card_id='" + ((ru.hrs.lassd.club.vo.Card)request.getAttribute("card")).cardId + "' "+
  556. "and sa.subscription_mi_id=mi.mi_id "+
  557. "and sa.is_membership<>1"+
  558. "and sa.status in (1,2) "+
  559. "and (sa.expiration_date>SYSDATE or sa.mmshp_end_date>SYSDATE) "+
  560. "order by sa.is_membership desc");
  561.  
  562. query.addScalar("sa_id", org.hibernate.type.StandardBasicTypes.INTEGER);
  563. query.addScalar("mi_id", org.hibernate.type.StandardBasicTypes.INTEGER);
  564. query.addScalar("name", org.hibernate.type.StandardBasicTypes.STRING);
  565. query.addScalar("exp_date", org.hibernate.type.StandardBasicTypes.DATE);
  566.  
  567. if (query.list().size()<=0) { out.println(NO_SUBSCRIPTIONS); }
  568.  
  569. for (Object[] o:((java.util.List<Object[]>) query.list())) {
  570.  
  571. out.println("<strong>"+o[2] + "</strong>");
  572. if (o[3] != null) {
  573. out.println(" (<i>" + VALID_TILL + ": "+ String.format("%1$td.%1$tm.%1$tY", o[3])+"</i>)");
  574. } else {
  575. out.println(" (<i>" + VALID_TILL + ": </i>)");
  576. }
  577. out.println("<ul>");
  578.  
  579. q = dbSession.createSQLQuery("select "+
  580. "ib.count as count, "+
  581. "mi.name1 as name "+
  582. "from item_balance ib, menu_items mi, subscription_items si "+
  583. "where ib.subscription_accounting_id='"+o[0]+"' and ib.subscription_item_id = si.subscription_item_id and si.dtl_mi_id = mi.mi_id");
  584.  
  585. q.addScalar("name", org.hibernate.type.StandardBasicTypes.STRING);
  586. q.addScalar("count", org.hibernate.type.StandardBasicTypes.INTEGER);
  587.  
  588. for (Object[] i:((java.util.List<Object[]>) q.list())) {
  589. out.println("<li><i>"+i[0]+" - ");
  590. out.println(i[1]+"</i></li>");
  591. }
  592.  
  593. out.println("</ul>");
  594. }
  595. %>
  596. </span>
  597.  
  598. </td>
  599. </tr>
  600.  
  601.  
  602. </table>
  603. <p>Профайл гостя создан <fmt:formatDate pattern="dd.MM.yyyy" value='${card.createdDate}'/> пользователем ${card.createdPerson}</p>
  604.  
  605. </div>
  606. <div class="col-md-4">
  607. <img src="/media/client/${card.cardId}/${card.cardId}_480x640.jpg" width=240 height=320 />
  608. </div>
  609.  
  610. </div>
  611. </body>
  612. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement