package cz.cvut.fel.restauracefel.hibernate; // Generated 16.3.2009 21:36:54 by Hibernate Tools 3.2.1.GA import cz.cvut.fel.restauracefel.library.service.DateFunctions; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * OrderMenuItem generated by hbm2java */ public class OrderMenuItem extends DBEntity { private Integer orderMenuItemId; private MenuItem menuItem; private Order order; private int isDeleted; public OrderMenuItem() { } public OrderMenuItem(MenuItem menuItem, Order xorder, int isDeleted) { this.menuItem = menuItem; this.order = xorder; this.isDeleted = isDeleted; } public Integer getOrderMenuItemId() { return this.orderMenuItemId; } public void setOrderMenuItemId(Integer orderMenuItemId) { this.orderMenuItemId = orderMenuItemId; } public MenuItem getMenuItem() { return this.menuItem; } public void setMenuItem(MenuItem menuItem) { this.menuItem = menuItem; } public Order getOrder() { return this.order; } public void setOrder(Order xorder) { this.order = xorder; } public int getIsDeleted() { return isDeleted; } public void setIsDeleted(int isDeleted) { this.isDeleted = isDeleted; } public void create() { create(this); } public void delete() { delete(this); } public void update() { update(this); } public static OrderMenuItem findById(Integer id) { //return (OrderMenuItem) findById("OrderMenuItem", "orderMenuItemId", id); return (OrderMenuItem) findByIdNotDeleted("OrderMenuItem", "orderMenuItemId", id, "isDeleted", 0); } public static List findAll() { return findAllNotDeleted("OrderMenuItem", "isDeleted", 0); } public static List findByOrder(int orderId) { String query = "from OrderMenuItem mmi where mmi.order.orderId = :id1 and mmi.isDeleted = :id2"; String[] paramNames = new String[]{"id1", "id2"}; String[] paramTypes = new String[]{"Integer", "Integer"}; Integer[] paramValues = new Integer[]{orderId, 0}; List res = executeQuery(query, paramNames, paramTypes, paramValues); return res; } public static List<OrderMenuItem> findOrdersWithMenuItemInInterval(Integer miId, Date after, Date before) { Date afterMinusDay = DateFunctions.changeDateByNumberOfDays(after, -1); Date beforePlusDay = DateFunctions.changeDateByNumberOfDays(before, 1); String query = "SELECT omi FROM OrderMenuItem omi WHERE omi.menuItem.menuItemId = :mi AND omi.order.time > :after AND omi.order.time < :before AND omi.isDeleted = :deleted"; String[] paramNames = new String[]{"mi","after","before","deleted"}; String[] paramTypes = new String[]{"Integer","Date","Date","Integer"}; Object[] paramValues = new Object[]{miId, afterMinusDay, beforePlusDay, 0}; List<OrderMenuItem> l = executeQuery(query, paramNames, paramTypes, paramValues); List<OrderMenuItem> res = new ArrayList<OrderMenuItem>(); for (OrderMenuItem omi : l) { if (omi.getOrder().getTime().after(after) && omi.getOrder().getTime().before(before)) { res.add(omi); } } return res; } public static int countOrdersWithMenuItemInInterval(Integer miId, Date after, Date before) { List<OrderMenuItem> res = findOrdersWithMenuItemInInterval(miId, after, before); if (res == null) { return 0; } return res.size(); } }