package com.mortals.xhx.module.product.model;

import java.util.List;
import com.mortals.xhx.module.product.model.ProductEntity;
/**
* 产品查询对象
*
* @author zxfei
* @date 2022-04-25
*/
public class ProductQuery extends ProductEntity {
    /** 开始 主键ID，主键，自增长 */
    private Long idStart;

    /** 结束 主键ID，主键，自增长 */
    private Long idEnd;

    /** 增加 主键ID，主键，自增长 */
    private Long idIncrement;

    /** 主键ID，主键，自增长列表 */
    private List <Long> idList;

    /** 产品名称，名称唯一 */
    private List<String> productNameList;

    /** 产品编码，编码唯一 */
    private List<String> productCodeList;

    /** 交换机名称,英文必填，默认产品编码 */
    private List<String> exchangeNameList;

    /** 备注 */
    private List<String> productRemarkList;

    /** 开始 创建用户 */
    private Long createUserIdStart;

    /** 结束 创建用户 */
    private Long createUserIdEnd;

    /** 增加 创建用户 */
    private Long createUserIdIncrement;

    /** 创建用户列表 */
    private List <Long> createUserIdList;

    /** 开始 创建时间 */
    private String createTimeStart;

    /** 结束 创建时间 */
    private String createTimeEnd;

    /** 开始 更新用户 */
    private Long updateUserIdStart;

    /** 结束 更新用户 */
    private Long updateUserIdEnd;

    /** 增加 更新用户 */
    private Long updateUserIdIncrement;

    /** 更新用户列表 */
    private List <Long> updateUserIdList;

    /** 开始 更新时间 */
    private String updateTimeStart;

    /** 结束 更新时间 */
    private String updateTimeEnd;

    /** OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
    private List<ProductQuery> orConditionList;

    /** AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
    private List<ProductQuery> andConditionList;

    public ProductQuery(){}

    /**
    * 获取 开始 主键ID，主键，自增长
    * @return idStart
    */
    public Long getIdStart(){
        return this.idStart;
    }

    /**
    * 设置 开始 主键ID，主键，自增长
    * @param idStart
    */
    public void setIdStart(Long idStart){
        this.idStart = idStart;
    }

    /**
    * 获取 结束 主键ID，主键，自增长
    * @return $idEnd
    */
    public Long getIdEnd(){
        return this.idEnd;
    }

    /**
    * 设置 结束 主键ID，主键，自增长
    * @param idEnd
    */
    public void setIdEnd(Long idEnd){
        this.idEnd = idEnd;
    }

    /**
    * 获取 增加 主键ID，主键，自增长
    * @return idIncrement
    */
    public Long getIdIncrement(){
        return this.idIncrement;
    }

    /**
    * 设置 增加 主键ID，主键，自增长
    * @param idIncrement
    */
    public void setIdIncrement(Long idIncrement){
        this.idIncrement = idIncrement;
    }

    /**
    * 获取 主键ID，主键，自增长
    * @return idList
    */
    public List<Long> getIdList(){
        return this.idList;
    }

    /**
    * 设置 主键ID，主键，自增长
    * @param idList
    */
    public void setIdList(List<Long> idList){
        this.idList = idList;
    }

    /**
    * 获取 产品名称，名称唯一
    * @return productNameList
    */
    public List<String> getProductNameList(){
        return this.productNameList;
    }

    /**
    * 设置 产品名称，名称唯一
    * @param productNameList
    */
    public void setProductNameList(List<String> productNameList){
        this.productNameList = productNameList;
    }
    /**
    * 获取 产品编码，编码唯一
    * @return productCodeList
    */
    public List<String> getProductCodeList(){
        return this.productCodeList;
    }

    /**
    * 设置 产品编码，编码唯一
    * @param productCodeList
    */
    public void setProductCodeList(List<String> productCodeList){
        this.productCodeList = productCodeList;
    }
    /**
    * 获取 交换机名称,英文必填，默认产品编码
    * @return exchangeNameList
    */
    public List<String> getExchangeNameList(){
        return this.exchangeNameList;
    }

    /**
    * 设置 交换机名称,英文必填，默认产品编码
    * @param exchangeNameList
    */
    public void setExchangeNameList(List<String> exchangeNameList){
        this.exchangeNameList = exchangeNameList;
    }
    /**
    * 获取 备注
    * @return productRemarkList
    */
    public List<String> getProductRemarkList(){
        return this.productRemarkList;
    }

    /**
    * 设置 备注
    * @param productRemarkList
    */
    public void setProductRemarkList(List<String> productRemarkList){
        this.productRemarkList = productRemarkList;
    }
    /**
    * 获取 开始 创建用户
    * @return createUserIdStart
    */
    public Long getCreateUserIdStart(){
        return this.createUserIdStart;
    }

    /**
    * 设置 开始 创建用户
    * @param createUserIdStart
    */
    public void setCreateUserIdStart(Long createUserIdStart){
        this.createUserIdStart = createUserIdStart;
    }

    /**
    * 获取 结束 创建用户
    * @return $createUserIdEnd
    */
    public Long getCreateUserIdEnd(){
        return this.createUserIdEnd;
    }

    /**
    * 设置 结束 创建用户
    * @param createUserIdEnd
    */
    public void setCreateUserIdEnd(Long createUserIdEnd){
        this.createUserIdEnd = createUserIdEnd;
    }

    /**
    * 获取 增加 创建用户
    * @return createUserIdIncrement
    */
    public Long getCreateUserIdIncrement(){
        return this.createUserIdIncrement;
    }

    /**
    * 设置 增加 创建用户
    * @param createUserIdIncrement
    */
    public void setCreateUserIdIncrement(Long createUserIdIncrement){
        this.createUserIdIncrement = createUserIdIncrement;
    }

    /**
    * 获取 创建用户
    * @return createUserIdList
    */
    public List<Long> getCreateUserIdList(){
        return this.createUserIdList;
    }

    /**
    * 设置 创建用户
    * @param createUserIdList
    */
    public void setCreateUserIdList(List<Long> createUserIdList){
        this.createUserIdList = createUserIdList;
    }

    /**
    * 获取 开始 创建时间
    * @return createTimeStart
    */
    public String getCreateTimeStart(){
        return this.createTimeStart;
    }

    /**
    * 设置 开始 创建时间
    * @param createTimeStart
    */
    public void setCreateTimeStart(String createTimeStart){
        this.createTimeStart = createTimeStart;
    }

    /**
    * 获取 结束 创建时间
    * @return createTimeEnd
    */
    public String getCreateTimeEnd(){
        return this.createTimeEnd;
    }

    /**
    * 设置 结束 创建时间
    * @param createTimeEnd
    */
    public void setCreateTimeEnd(String createTimeEnd){
        this.createTimeEnd = createTimeEnd;
    }

    /**
    * 获取 开始 更新用户
    * @return updateUserIdStart
    */
    public Long getUpdateUserIdStart(){
        return this.updateUserIdStart;
    }

    /**
    * 设置 开始 更新用户
    * @param updateUserIdStart
    */
    public void setUpdateUserIdStart(Long updateUserIdStart){
        this.updateUserIdStart = updateUserIdStart;
    }

    /**
    * 获取 结束 更新用户
    * @return $updateUserIdEnd
    */
    public Long getUpdateUserIdEnd(){
        return this.updateUserIdEnd;
    }

    /**
    * 设置 结束 更新用户
    * @param updateUserIdEnd
    */
    public void setUpdateUserIdEnd(Long updateUserIdEnd){
        this.updateUserIdEnd = updateUserIdEnd;
    }

    /**
    * 获取 增加 更新用户
    * @return updateUserIdIncrement
    */
    public Long getUpdateUserIdIncrement(){
        return this.updateUserIdIncrement;
    }

    /**
    * 设置 增加 更新用户
    * @param updateUserIdIncrement
    */
    public void setUpdateUserIdIncrement(Long updateUserIdIncrement){
        this.updateUserIdIncrement = updateUserIdIncrement;
    }

    /**
    * 获取 更新用户
    * @return updateUserIdList
    */
    public List<Long> getUpdateUserIdList(){
        return this.updateUserIdList;
    }

    /**
    * 设置 更新用户
    * @param updateUserIdList
    */
    public void setUpdateUserIdList(List<Long> updateUserIdList){
        this.updateUserIdList = updateUserIdList;
    }

    /**
    * 获取 开始 更新时间
    * @return updateTimeStart
    */
    public String getUpdateTimeStart(){
        return this.updateTimeStart;
    }

    /**
    * 设置 开始 更新时间
    * @param updateTimeStart
    */
    public void setUpdateTimeStart(String updateTimeStart){
        this.updateTimeStart = updateTimeStart;
    }

    /**
    * 获取 结束 更新时间
    * @return updateTimeEnd
    */
    public String getUpdateTimeEnd(){
        return this.updateTimeEnd;
    }

    /**
    * 设置 结束 更新时间
    * @param updateTimeEnd
    */
    public void setUpdateTimeEnd(String updateTimeEnd){
        this.updateTimeEnd = updateTimeEnd;
    }

    /**
    * 设置  主键ID，主键，自增长
    * @param id
    */
    public ProductQuery id(Long id){
	    setId(id);
		return this;
    }
	
	 /**
    * 设置 开始 主键ID，主键，自增长
    * @param idStart
    */
    public ProductQuery idStart(Long idStart){
		this.idStart = idStart;
		return this;
    }

    /**
    * 设置 结束 主键ID，主键，自增长
    * @param idEnd
    */
    public ProductQuery idEnd(Long idEnd){
		this.idEnd = idEnd;
		return this;
    }

    /**
    * 设置 增加 主键ID，主键，自增长
    * @param idIncrement
    */
    public ProductQuery idIncrement(Long idIncrement){
		this.idIncrement = idIncrement;
		return this;
    }

    /**
    * 设置 主键ID，主键，自增长
    * @param idList
    */
    public ProductQuery idList(List<Long> idList){
        this.idList = idList;
		return this;
        }


	/**
    * 设置 产品名称，名称唯一
    * @param productName
    */
    public ProductQuery productName(String productName){
        setProductName(productName);
		return this;
    }

    /**
    * 设置 产品名称，名称唯一
    * @param productNameList
    */
    public ProductQuery productNameList(List<String> productNameList){
        this.productNameList = productNameList;
		return this;
    }


	/**
    * 设置 产品编码，编码唯一
    * @param productCode
    */
    public ProductQuery productCode(String productCode){
        setProductCode(productCode);
		return this;
    }

    /**
    * 设置 产品编码，编码唯一
    * @param productCodeList
    */
    public ProductQuery productCodeList(List<String> productCodeList){
        this.productCodeList = productCodeList;
		return this;
    }


	/**
    * 设置 交换机名称,英文必填，默认产品编码
    * @param exchangeName
    */
    public ProductQuery exchangeName(String exchangeName){
        setExchangeName(exchangeName);
		return this;
    }

    /**
    * 设置 交换机名称,英文必填，默认产品编码
    * @param exchangeNameList
    */
    public ProductQuery exchangeNameList(List<String> exchangeNameList){
        this.exchangeNameList = exchangeNameList;
		return this;
    }


	/**
    * 设置 备注
    * @param productRemark
    */
    public ProductQuery productRemark(String productRemark){
        setProductRemark(productRemark);
		return this;
    }

    /**
    * 设置 备注
    * @param productRemarkList
    */
    public ProductQuery productRemarkList(List<String> productRemarkList){
        this.productRemarkList = productRemarkList;
		return this;
    }

    /**
    * 设置  创建用户
    * @param createUserId
    */
    public ProductQuery createUserId(Long createUserId){
	    setCreateUserId(createUserId);
		return this;
    }
	
	 /**
    * 设置 开始 创建用户
    * @param createUserIdStart
    */
    public ProductQuery createUserIdStart(Long createUserIdStart){
		this.createUserIdStart = createUserIdStart;
		return this;
    }

    /**
    * 设置 结束 创建用户
    * @param createUserIdEnd
    */
    public ProductQuery createUserIdEnd(Long createUserIdEnd){
		this.createUserIdEnd = createUserIdEnd;
		return this;
    }

    /**
    * 设置 增加 创建用户
    * @param createUserIdIncrement
    */
    public ProductQuery createUserIdIncrement(Long createUserIdIncrement){
		this.createUserIdIncrement = createUserIdIncrement;
		return this;
    }

    /**
    * 设置 创建用户
    * @param createUserIdList
    */
    public ProductQuery createUserIdList(List<Long> createUserIdList){
        this.createUserIdList = createUserIdList;
		return this;
        }


    /**
    * 设置  更新用户
    * @param updateUserId
    */
    public ProductQuery updateUserId(Long updateUserId){
	    setUpdateUserId(updateUserId);
		return this;
    }
	
	 /**
    * 设置 开始 更新用户
    * @param updateUserIdStart
    */
    public ProductQuery updateUserIdStart(Long updateUserIdStart){
		this.updateUserIdStart = updateUserIdStart;
		return this;
    }

    /**
    * 设置 结束 更新用户
    * @param updateUserIdEnd
    */
    public ProductQuery updateUserIdEnd(Long updateUserIdEnd){
		this.updateUserIdEnd = updateUserIdEnd;
		return this;
    }

    /**
    * 设置 增加 更新用户
    * @param updateUserIdIncrement
    */
    public ProductQuery updateUserIdIncrement(Long updateUserIdIncrement){
		this.updateUserIdIncrement = updateUserIdIncrement;
		return this;
    }

    /**
    * 设置 更新用户
    * @param updateUserIdList
    */
    public ProductQuery updateUserIdList(List<Long> updateUserIdList){
        this.updateUserIdList = updateUserIdList;
		return this;
        }


    /**
    * 获取 OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
    * @return orConditionList
    */
    public List<ProductQuery> getOrConditionList(){
    return this.orConditionList;
    }

    /**
    * 设置 OR条件集合，列表项之间是OR，项内容之间是AND，如：(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
    * @param orConditionList
    */
    public void setOrConditionList(List<ProductQuery> orConditionList){
        this.orConditionList = orConditionList;
    }

    /**
    * 获取 AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
    * @return andConditionList
    */
    public List<ProductQuery> getAndConditionList(){
        return this.andConditionList;
    }

    /**
    * 设置 AND条件集合，列表项之间是AND，项内容之间是OR，如：(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
    * @param andConditionList
    */
    public void setAndConditionList(List<ProductQuery> andConditionList){
        this.andConditionList = andConditionList;
    }

}