I want to make report for top 10 most table ordered in time range : but i can not
I have 2 entity class :
DiningDable.java (
SELECT d FROM Diningtable d
).Ordertabledetail.java (
SELECT o FROM Ordertabledetail o
).
In entity class 1 have information of table so i want to display. In entity class 2 have date of order.
My "viewReport" Method in sesionBean
public List viewReport(Date startDate, Date endDate) { try { Query query = em.createQuery("SELECT o.tableID.tableID AS tableID , COUNT(o.tableID.tableID) FROM Ordertabledetail o WHERE o.date BETWEEN :startDate AND :endDate GROUP BY o.tableID.tableID ORDER BY o.tableID.tableID DESC").setParameter("startDate", startDate, TemporalType.DATE).setParameter("endDate", endDate, TemporalType.DATE); List<Ordertabledetail> result = query.getResultList(); return result; } catch (Exception e) { e.printStackTrace(); } return null; }
My servlet
String action = request.getParameter("action_report"); String url = "/admin/minh_report.jsp"; if (action.equals("View")) { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String startDate = request.getParameter("txtDateFrom"); String endDate = request.getParameter("txtDateTo"); Date sdate = formatter.parse(startDate); Date edate = formatter.parse(endDate); List list = orderTableDetailBean.viewReport(sdate, edate); request.setAttribute("UN", list); url = "/admin/minh_report.jsp"; request.getRequestDispatcher(url).forward(request, response); }
How can I show the information of 10 most tables were ordered in a JSP page?