package com.norteksoft.bs.options.dao; import java.util.List; import org.springframework.stereotype.Repository; import org.springframework.util.Assert; import com.norteksoft.bs.options.entity.Option; import com.norteksoft.product.orm.hibernate.HibernateDao; import com.norteksoft.product.util.ContextUtils; @Repository public class OptionDao extends HibernateDao<Option, Long> { /** * 根据选项组ID查询选项 * @param optionGroupId * @return */ public List<Option> getOptionsByGroup(Long optionGroupId){ Assert.notNull(optionGroupId, "选项组Id不能为null"); Assert.notNull(ContextUtils.getCompanyId(), "companyId不能为null"); return find("from Option o where o.companyId=? and o.optionGroup.id=? order by o.optionIndex", ContextUtils.getCompanyId(), optionGroupId); } /** * 根据选项组编号查询选项 * @param code * @return */ public List<Option> getOptionsByGroupCode(String code){ Assert.notNull(code, "选项组code不能为null"); Assert.notNull(ContextUtils.getCompanyId(), "companyId不能为null"); return find("from Option o where o.companyId=? and o.optionGroup.code=? order by o.optionIndex", ContextUtils.getCompanyId(), code); } /** * 根据选项组名称查询选项 * @param code * @return */ public List<Option> getOptionsByGroupName(String name){ Assert.notNull(name, "选项组名name不能为null"); Assert.notNull(ContextUtils.getCompanyId(), "companyId不能为null"); return find("from Option o where o.companyId=? and o.optionGroup.name=? order by o.optionIndex", ContextUtils.getCompanyId(), name); } /** * 根据选项组ID查询选项 * @param optionGroupId * @return */ public List<Option> getOptionsByGroup(Long optionGroupId,Long companyId){ return find("from Option o where o.companyId=? and o.optionGroup.id=? order by o.optionIndex", companyId, optionGroupId); } /** * 根据选项值和标题获得选项 * @param value * @param name * @param groupCode * @return */ public Option getOptionByInfo(String value,String name,String groupCode){ String hql="from Option o where o.optionGroup.code=? and o.name=? and o.value=? order by o.optionIndex"; List<Option> options=find(hql,groupCode,name,value); if(options.size()>0)return options.get(0); return null; } public Option getOptionById(Long optionId){ String hql="from Option o where o.id=? order by o.optionIndex"; List<Option> options=find(hql,optionId); if(options.size()>0)return options.get(0); return null; } }