public int update(int oid, String quantity, String memo) { // 更新揀貨單的揀貨數量 logger.debug( "OrderPlaceDDAO.update: " + "pickId: " + oid + ", quantity: " + quantity + ", memo: " + memo); EntityManager em = XPersistence.getManager(); OrderPlaceD bean = em.find(OrderPlaceD.class, oid); logger.debug("OrderPlaceD.update: orderPlaceD: " + bean); if (bean != null) { // bean.setQuantity(quantity); bean.setRemark(memo); try { em.merge(bean); XPersistence.commit(); } catch (Exception e) { logger.error("OrderPlaceD.update: " + e); } return 1; // 1:成功 } return 0; // 0:失敗 }
public boolean insert(OrderStoreD beanD) { XPersistence.getManager().persist(beanD); XPersistence .commit(); // 若 UUID 重複,會有例外: org.hibernate.PersistentObjectException: detached entity // passed to persist: com.kaijung.jpa.OrderStoreD // XHibernate.commit(); return true; }
public Stock getStockByItem(int itemid) { // 用 商品編號 查出 該商品所在的某一貨架 Query query = XPersistence.getManager() .createQuery( "FROM Stock o WHERE o.item.oid = :itemid order by o.volume desc"); // JPQL query query.setParameter("itemid", itemid); List<Stock> beans = query.getResultList(); logger.debug("OrderPlaceDDAO.getStockByItem beans: " + beans); return beans.get(0); }
public Collection<Stock> getStocksByPlaceId(int placeid) { // 用上架單編號(單頭)查出明細檔 Query query = XPersistence.getManager() .createQuery( "FROM Stock o WHERE o.item.oid IN (SELECT p.item.oid FROM OrderPlaceD p WHERE p.orderPlace.oid = :placeid ORDER BY p.oid DESC) )"); // JPQL query query.setParameter("placeid", placeid); // select * FROM Stock o WHERE o.itemid IN (SELECT p.itemid FROM OrderPlaceD p WHERE // p.orderPlace_oid = '1' ORDER BY p.oid DESC) Collection stocks = query.getResultList(); logger.debug("OrderPlaceDDAO.getStocksByPlaceId stocks: " + stocks); return stocks; }