package com.example.expense.order.dao; import java.util.List; import org.springframework.stereotype.Repository; import com.example.expense.entity.OrderItem; import com.norteksoft.product.api.ApiFactory; import com.norteksoft.product.orm.Page; import com.norteksoft.product.orm.hibernate.HibernateDao; import com.norteksoft.product.util.ContextUtils; @Repository public class OrderItemDao extends HibernateDao<OrderItem, Long> { public Page<OrderItem> list(Page<OrderItem> page){ return findPage(page, "from OrderItem orderItem"); } public Page<OrderItem> listWidgets(Page<OrderItem> page){ return findPage(page, "from OrderItem orderItem where orderItem.creator=? ",ContextUtils.getLoginName()); } public List<OrderItem> getAllOrderItem(){ return find("from OrderItem orderItem"); } public Page<OrderItem> search(Page<OrderItem> page) { return searchPageByHql(page, "from OrderItem o order by productName asc"); } public List<OrderItem> getOrderItemByOrder(Long orderId){ return find("from OrderItem orderItem where orderItem.order.id=?",orderId); } public Page<OrderItem> getOrderItemById(Page<OrderItem> pageItem, Long id) { return this.searchPageSubByHql(pageItem, "from OrderItem orderItems where orderItems.order.id=? ",id); } public List<Object> getOrderItem() { return find("select distinct o.productName from OrderItem o order by o.productName "); } public List<Integer> getProductAmount(String productName, Long orderId) { return find("select o.amount from OrderItem o where o.productName=? and o.order.id=? ",productName,orderId); } public Page<Object> getCombinePage(Page<Object> combinePage) { String partSql = ApiFactory.getMmsService().getColumnsByCode("ES_ITEM_COMBINE_ORDER"); StringBuilder sql = new StringBuilder("select "); sql.append(partSql); sql.append(" from ES_ORDER_ITEM orderItem "); sql.append("left join ES_ORDER o on orderItem.FK_ORDER_ID = o.id "); sql.append("where orderItem.company_id=? "); return this.searchPageBySql(combinePage, sql.toString(),ContextUtils.getCompanyId()); } }