1 package com.dotmarketing.portlets.order_manager.factories; 2 3 import java.util.Date ; 4 import java.util.GregorianCalendar ; 5 import java.util.List ; 6 7 import com.dotmarketing.db.DotHibernate; 8 import com.dotmarketing.factories.InodeFactory; 9 import com.dotmarketing.util.Config; 10 import com.dotmarketing.util.UtilMethods; 11 import com.dotmarketing.portlets.event_registrations.model.WebEventRegistration; 12 import com.dotmarketing.portlets.order_manager.model.Order; 13 import com.dotmarketing.portlets.order_manager.struts.ViewOrdersForm; 14 15 19 public class OrderFactory { 20 21 public static java.util.List getAllOrders() { 22 DotHibernate dh = new DotHibernate(Order.class); 23 dh.setQuery( 24 "from inode in class com.dotmarketing.portlets.order_manager.model.Order order by last_mod_date desc"); 25 return dh.list(); 26 } 27 public static java.util.List getTodaysOrders() { 28 DotHibernate dh = new DotHibernate(Order.class); 29 dh.setQuery( 30 "from inode in class com.dotmarketing.portlets.order_manager.model.Order where last_mod_date >= ? order by last_mod_date desc"); 31 GregorianCalendar cal = new GregorianCalendar (); 32 cal.setTime(new Date ()); 33 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 34 cal.set(GregorianCalendar.MINUTE, 0); 35 cal.set(GregorianCalendar.SECOND, 0); 36 dh.setParam(cal.getTime()); 37 return dh.list(); 38 } 39 40 public static java.util.List getTodaysOrders(String filter) { 41 DotHibernate dh = new DotHibernate(Order.class); 42 String query = ""; 43 if (UtilMethods.isSet(filter)) 44 query = "from inode in class com.dotmarketing.portlets.order_manager.model.Order where last_mod_date >= ? and " + filter + " order by last_mod_date desc"; 45 else 46 query = "from inode in class com.dotmarketing.portlets.order_manager.model.Order where last_mod_date >= ? order by last_mod_date desc"; 47 dh.setQuery(query); 48 GregorianCalendar cal = new GregorianCalendar (); 49 cal.setTime(new Date ()); 50 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 51 cal.set(GregorianCalendar.MINUTE, 0); 52 cal.set(GregorianCalendar.SECOND, 0); 53 dh.setParam(cal.getTime()); 54 return dh.list(); 55 } 56 57 public static java.util.List getTodaysOrders(boolean outsideUS) { 58 String shippingCountry = Config.getStringProperty("DEFAULT_COUNTRY_CODE"); 59 60 DotHibernate dh = new DotHibernate(Order.class); 61 if (outsideUS) 62 dh.setQuery( 63 "from inode in class com.dotmarketing.portlets.order_manager.model.Order where last_mod_date >= ? and shipping_country <> ? order by last_mod_date desc"); 64 else 65 dh.setQuery( 66 "from inode in class com.dotmarketing.portlets.order_manager.model.Order where last_mod_date >= ? and shipping_country = ? order by last_mod_date desc"); 67 GregorianCalendar cal = new GregorianCalendar (); 68 cal.setTime(new Date ()); 69 cal.set(GregorianCalendar.HOUR_OF_DAY, 0); 70 cal.set(GregorianCalendar.MINUTE, 0); 71 cal.set(GregorianCalendar.SECOND, 0); 72 dh.setParam(cal.getTime()); 73 dh.setParam(shippingCountry); 74 return dh.list(); 75 } 76 77 public static java.util.List getAllOrders(String orderby) { 78 DotHibernate dh = new DotHibernate(Order.class); 79 dh.setQuery( 80 "from inode in class com.dotmarketing.portlets.order_manager.model.Order order by " + orderby); 81 return dh.list(); 82 } 83 public static List getFilteredOrders(ViewOrdersForm vForm) { 84 85 Date startDate = vForm.getStartDate(); 86 Date endDate = vForm.getEndDate(); 87 long orderInode = vForm.getOrderInode(); 88 boolean outsideUS = vForm.isOrderOutsideUS(); 89 int[] paymentStatusArray = vForm.getPaymentStatusArray(); 90 int[] orderStatusArray = vForm.getOrderStatusArray(); 91 String invoiceNumber = vForm.getInvoiceNumber(); 92 93 String condition = ""; 94 95 if (orderInode >0) { 96 if (condition.length()>0) condition += " and "; 97 condition += " inode = " + orderInode; 98 } 99 if (paymentStatusArray != null) { 100 if (condition.length()>0) condition += " and "; 101 condition += " ("; 102 for (int i=0;i<paymentStatusArray.length;i++){ 103 if (i > 0) 104 condition += " OR payment_status = " + paymentStatusArray[i]; 105 else 106 condition += " payment_status = " + paymentStatusArray[i]; 107 } 108 condition += ") "; 109 } 110 111 if (orderStatusArray != null) { 112 if (condition.length()>0) condition += " and "; 113 condition += " ("; 114 for (int i=0;i<orderStatusArray.length;i++){ 115 if (i > 0) 116 condition += " OR order_status = " + orderStatusArray[i]; 117 else 118 condition += " order_status = " + orderStatusArray[i]; 119 } 120 condition += ") "; 121 } 122 123 if (UtilMethods.isSet(startDate)) { 124 if (condition.length()>0) condition += " and "; 125 condition += " date_posted >= ? "; 126 } 127 if (UtilMethods.isSet(endDate)) { 128 if (condition.length()>0) condition += " and "; 129 condition += " date_posted <= ? "; 130 } 131 if (outsideUS) { 132 if (condition.length()>0) condition += " and "; 133 condition += " shipping_country <> '" + Config.getStringProperty("DEFAULT_COUNTRY_CODE") + "' "; 134 } 135 else{ 136 if (condition.length()>0) condition += " and "; 137 condition += " (shipping_country = '" + Config.getStringProperty("DEFAULT_COUNTRY_CODE") + "' or shipping_country is NULL)"; 138 } 139 140 if (UtilMethods.isSet(invoiceNumber)) { 141 if (condition.length()>0) condition += " and "; 142 condition += " invoice_number = '" + invoiceNumber + "' "; 143 } 144 145 DotHibernate dh = new DotHibernate(WebEventRegistration.class); 147 String query = "from inode in class com.dotmarketing.portlets.order_manager.model.Order"; 148 if (condition.length()>0) { 149 query += " where " + condition; 150 } 151 query += " order by date_posted desc"; 152 dh.setQuery(query); 153 154 if (UtilMethods.isSet(startDate)) { 155 dh.setDate(startDate); 156 } 157 if (UtilMethods.isSet(endDate)) { 158 dh.setDate(endDate); 159 } 160 return dh.list(); 161 162 163 } 164 165 public static List getOrdersByCondition(String condition){ 166 DotHibernate dh = new DotHibernate(Order.class); 167 String query = "from inode in class com.dotmarketing.portlets.order_manager.model.Order where "+condition; 168 dh.setQuery(query); 169 return dh.list(); 170 171 } 172 173 public static List getAllOrderItems(Order order) { 174 return OrderItemFactory.getAllOrderItemsByParentOrder(order); 175 } 176 177 public static Order newInstance() { 178 return new Order(); 179 } 180 181 public static void saveOrder(Order Order) { 182 InodeFactory.saveInode(Order); 183 } 184 185 public static void deleteOrder(Order Order) { 186 InodeFactory.deleteInode(Order); 187 } 188 189 public static java.util.List getOrdersByUserInode(String inode) { 190 DotHibernate dh = new DotHibernate(Order.class); 191 dh.setQuery( 192 "from inode in class com.dotmarketing.portlets.order_manager.model.Order where user_inode=? order by last_mod_date desc"); 193 dh.setParam(inode); 194 return dh.list(); 195 } 196 197 public static Order getOrderById(String inode) { 198 return (Order) InodeFactory.getInode(inode, Order.class); 199 } 200 201 202 } 203 | Popular Tags |