public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { JObject jobject = new JObject(); List<PrintFunc> root; try { String pin = (String) request.getAttribute("pin"); String printerId = request.getParameter("printerId"); Staff staff = StaffDao.verify(Integer.parseInt(pin)); root = PrintFuncDao.getByCond( staff, new PrintFuncDao.ExtraCond().setPrinter(Integer.parseInt(printerId))); List<PrintFunc> roots = new ArrayList<PrintFunc>(); boolean detail = true; for (PrintFunc printFunc : root) { if (printFunc.getType() == PType.PRINT_ORDER_DETAIL || printFunc.getType() == PType.PRINT_CANCELLED_FOOD_DETAIL) { if (printFunc.getType() == PType.PRINT_ORDER_DETAIL) { if (detail) { roots.add(printFunc); detail = false; } } else if (printFunc.getType() == PType.PRINT_CANCELLED_FOOD_DETAIL) { if (detail) { printFunc.setType(PType.PRINT_ORDER_DETAIL); roots.add(printFunc); detail = false; } } } else { roots.add(printFunc); } } jobject.setTotalProperty(roots.size()); jobject.setRoot(roots); } catch (BusinessException e) { jobject.initTip(e); e.printStackTrace(); } catch (Exception e) { jobject.initTip4Exception(e); e.printStackTrace(); } finally { response.getWriter().print(jobject.toString()); } return null; }
@Override public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { final String pin = (String) request.getAttribute("pin"); final String branchId = request.getParameter("branchId"); final String beginDate = request.getParameter("beginDate"); final String opening = request.getParameter("opening"); final String ending = request.getParameter("ending"); final String endDate = request.getParameter("endDate"); final String orderID = request.getParameter("orderID"); final String tableID = request.getParameter("tableID"); final String deptID = request.getParameter("deptID"); final String kitchenId = request.getParameter("kitchenID"); final String queryType = request.getParameter("queryType"); final String staffId = request.getParameter("staffID"); final String isPaging = request.getParameter("isPaging"); final String start = request.getParameter("start"); final String limit = request.getParameter("limit"); final String foodId = request.getParameter("foodId"); final String regionId = request.getParameter("regionId"); final String calcByDuty = request.getParameter("calcByDuty"); final JObject jObject = new JObject(); try { Staff staff = StaffDao.verify(Integer.parseInt(pin)); if (branchId != null && !branchId.isEmpty() && Integer.parseInt(branchId) > 0) { staff = StaffDao.getAdminByRestaurant(Integer.parseInt(branchId)); } List<OrderFood> list = null; if (queryType.equalsIgnoreCase("TodayByTbl")) { list = OrderFoodDao.getSingleDetailByTableId(staff, Integer.parseInt(tableID)); if (orderID != null && !orderID.trim().isEmpty()) { final float totalPrice = OrderDao.getById(staff, Integer.parseInt(orderID), DateType.TODAY).calcTotalPrice(); jObject.setExtra( new Jsonable() { @Override public JsonMap toJsonMap(int flag) { JsonMap jm = new JsonMap(); jm.putFloat("detailTotalPrice", totalPrice); return jm; } @Override public void fromJsonMap(JsonMap jsonMap, int flag) {} }); } } else { final OrderFoodDao.ExtraCond extraCond; if (queryType.equalsIgnoreCase("today")) { extraCond = new OrderFoodDao.ExtraCond(DateType.TODAY); } else { extraCond = new OrderFoodDao.ExtraCond(DateType.HISTORY); } if (foodId != null && !foodId.isEmpty()) { extraCond.setFood(Integer.parseInt(foodId)); } if (kitchenId != null && !kitchenId.isEmpty() && Integer.parseInt(kitchenId) > 0) { extraCond.setKitchen(Integer.parseInt(kitchenId)); } if (regionId != null && !regionId.isEmpty() && Integer.parseInt(regionId) > 0) { extraCond.setRegionId(Region.RegionId.valueOf(Integer.parseInt(regionId))); } if (staffId != null && !staffId.isEmpty() && Integer.parseInt(staffId) > 0) { extraCond.setStaffId(Integer.parseInt(staffId)); } if (beginDate != null && !beginDate.isEmpty() && endDate != null && !endDate.isEmpty()) { if (calcByDuty != null && !calcByDuty.isEmpty() && Boolean.parseBoolean(calcByDuty)) { DutyRange range = DutyRangeDao.exec(staff, beginDate, endDate); if (range != null) { extraCond.setDutyRange(range); } else { extraCond.setDutyRange(beginDate, endDate); } } else { extraCond.setDutyRange(beginDate, endDate); } } if (opening != null && !opening.isEmpty() && ending != null && !ending.isEmpty()) { HourRange range = new HourRange(opening, ending); extraCond.setHourRange(range); } if (deptID != null && !deptID.isEmpty() && !deptID.equals("-1")) { extraCond.setDeptId(DeptId.valueOf(Integer.parseInt(deptID))); } if (orderID != null && !orderID.isEmpty()) { extraCond.setOrder(Integer.parseInt(orderID)); } list = OrderFoodDao.getSingleDetail(staff, extraCond, " ORDER BY OF.order_date "); } if (start != null && !start.isEmpty() && limit != null && !limit.isEmpty()) { list = DataPaging.getPagingData(list, Boolean.parseBoolean(isPaging), start, limit); } jObject.setRoot(list); } catch (BusinessException | SQLException e) { e.printStackTrace(); jObject.initTip(e); } catch (Exception e) { e.printStackTrace(); jObject.initTip4Exception(e); } finally { response.getWriter().print(jObject.toString()); } return null; }