package cn.estsh.i3plus.core.api.iservice.busi;

import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysBarcodeRule;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @Description : 条码规则服务
 * @Reference :
 * @Author : yunhao
 * @CreateDate : 2019-03-12 16:01
 * @Modify:
 **/
public interface ISysBarcodeRuleService {

    /**
     * 添加条码规则
     * @param barcodeRule
     */
    @ApiOperation(value = "新增条码规则信息")
    SysBarcodeRule insertSysBarcodeRule(SysBarcodeRule barcodeRule);

    /**
     * 修改条码规则
     * @param barcodeRule
     */
    @ApiOperation(value = "更新条码规则信息")
    void updateSysBarcodeRule(SysBarcodeRule barcodeRule);

    /**
     * 查找全部条码规则
     * @return
     */
    @ApiOperation(value = "查询所有条码规则信息",notes = "查询所有条码规则信息")
    List<SysBarcodeRule> listSysBarcodeRule();

    /**
     * 根据id查找条码规则
     * @param id
     * @return
     */
    @ApiOperation(value = "查询条码规则信息",notes = "根据ID查询条码规则信息")
    SysBarcodeRule getSysBarcodeRuleById(Long id);

    /**
     * 根据id删除条码规则
     * @param id
     * @return
     */
    @ApiOperation(value = "根据id删除条码规则",notes = "根据id删除条码规则")
    void deleteSysBarcodeRuleById(Long id);

    /**
     * 根据规则代码查询条码规则
     * @param code
     * @return
     */
    @ApiOperation(value = "根据规则代码查询条码规则",notes = "根据规则代码查询条码规则")
    SysBarcodeRule getSysBarcodeRuleByCode(String code);

    /**
     * 条码规则复杂查询分页排序
     * @param barcodeRule
     * @param pager
     * @return
     */
    @ApiOperation(value = "根据规则代码查询条码规则",notes = "根据规则代码查询条码规则")
    ListPager<SysBarcodeRule> querySysBarcodeRuleByPager(SysBarcodeRule barcodeRule, Pager pager);
}
