package com.jiuqi.mobile.nigo.comeclose.manager.base;
import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList;
import com.jiuqi.mobile.nigo.comeclose.bean.base.BrandProductModelBean;
import com.jiuqi.mobile.nigo.comeclose.exception.NiGoException;
import com.jiuqi.mobile.nigo.comeclose.manager.ISimpleManger;
import com.jiuqi.mobile.nigo.comeclose.manager.ManagerAnnotation;
import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectBrandProductModelKey;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalAnnotation;
import com.jiuqi.mobile.nigo.comeclose.portal.PortalMethodAnnctation;
/**
* 品牌产品名称型号接口类
*
* @ClassName: IBrandProductModelManager
* @author xuz
* @date 2014-10-21 下午5:02:42
*
*/
@ManagerAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.base.manager.BrandProductModelManagerImpl")
@PortalAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.base.manager.BrandProductModelManagerImpl")
public interface IBrandProductModelManager extends
ISimpleManger<BrandProductModelBean> {
@Override
@PortalMethodAnnctation
public void create(BrandProductModelBean bean) throws NiGoException;
/**
* 根据code查询型号产品名称型号
*
* @Title: findByCode
* @param @param code
* @param @return
* @return BrandProductModelBean 返回类型
*/
@PortalMethodAnnctation
BrandProductModelBean findByCode(long code);
/**
* 查询下级
*
* @Title: getChildren
* @param @param code
* @param @return
* @return BrandProductModelBean[] 返回类型
*/
@PortalMethodAnnctation
BrandProductModelBean[] getChildren(long code);
/**
* 根据名称、mark模糊查询
*
* @Title: getBrandProductModelBeanByNameFuzzy
* @param @param name
* @param @param mark 1.厂商 2.品牌 3.产品名称 4.型号 0.全部
* @param @return
* @return BrandProductModelBean[] 返回类型
*/
@PortalMethodAnnctation
BrandProductModelBean[] getBrandProductModelBeanByNameFuzzy(String name,
int mark);
/**
* 根据名称、mark模糊查询(供级联组件使用)
*
* @Title: getBrandProductModelBeanByNameFuzzySimple
* @param @param name
* @param @param mark 1.厂商 2.品牌 3.产品名称 4.型号 0.全部
* @param @return
* @return BrandProductModelBean[] 返回类型
*/
@PortalMethodAnnctation
BrandProductModelBean[] getBrandProductModelBeanByNameFuzzySimple(String name,
int mark);
/**
* 根据名称、mark查询
*
* @Title: getBrandProductModelBeanByName
* @param @param name
* @param @param mark 1.厂商 2.品牌 3.产品名称 4.型号 0.全部
* @param @return
* @return BrandProductModelBean[] 返回类型
*/
@PortalMethodAnnctation
BrandProductModelBean[] getBrandProductModelBeanByName(String name,
int mark);
/**
* 根据名称、mark查询(供级联组件使用)
*
* @Title: getBrandProductModelBeanByNameSimple
* @param @param name
* @param @param mark 1.厂商 2.品牌 3.产品名称 4.型号 0.全部
* @param @return
* @return BrandProductModelBean[] 返回类型
*/
@PortalMethodAnnctation
BrandProductModelBean[] getBrandProductModelBeanByNameSimple(String name,
int mark);
/**
* 获取code下的最大brandCode或者productCode或者modelCode, 用于创建新的品牌或者产品名称或者型号
*
* @Title: maxCode
* @param @param mark 1.厂商 2.品牌 3.产品名称 4.型号
* @param @param code
* @param @return
* @return String 返回类型
*/
String maxCode(int mark, long code);
/**
* 查询所有品牌或者产品名称或者型号
*
* @Title: findByMark
* @param @param mark
* @param @return
* @return KindsOfCarBean[] 返回类型
*/
@PortalMethodAnnctation
BrandProductModelBean[] findByMark(int mark);
/**
* 带分页的查询
*
* @Title: search
* @param @param key
* @param @return
* @return LoadOnGetList<BrandProductModelBean> 返回类型
*/
@PortalMethodAnnctation
public LoadOnGetList<BrandProductModelBean> search(
SelectBrandProductModelKey key);
/**
* 查询某祖先的某一代子孙节点
* @Title: findByAncestor
* @param @param code 祖先code
* @param @param markAncestor 祖先mark
* @param @param mark 要查询的mark
* @param @return
* @return BrandProductModelBean[] 返回类型
*/
BrandProductModelBean[] findByAncestor(long code, int markAncestor, int mark);
}