package com.shkj.wms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shkj.common.core.domain.Result;
import com.shkj.wms.bo.BaseBarcodesOutAddBo;
import com.shkj.wms.bo.BaseDeriveAddBo;
import com.shkj.wms.bo.BaseDeriveEditBo;
import com.shkj.wms.bo.BaseDeriveQueryBo;
import com.shkj.wms.domain.BaseBarcodesOut;
import com.shkj.wms.domain.BaseDerive;

import java.util.List;

/**
 * 派生保险杠关系Service接口
 *
 * @author zjx
 * @date 2023-04-13
 */
public interface IBaseDeriveService  extends IService<BaseDerive> {
    /**
     * 查询派生保险杠关系
     *
     * @param id 派生保险杠关系主键
     * @return 派生保险杠关系
     */
    public BaseDerive selectBaseDeriveById(Long id);

    /**
     * 查询派生保险杠关系列表
     *
     * @param baseDerive 派生保险杠关系
     * @return 派生保险杠关系集合
     */
    public List<BaseDerive> selectBaseDeriveList(BaseDerive baseDerive);

    /**
     * 新增派生保险杠关系
     *
     * @param bo 派生保险杠关系
     * @return 结果
     */
    public Result<Boolean> insertBaseDerive(BaseDeriveAddBo bo);

    /**
     * 修改派生保险杠关系
     *
     * @param bo 派生保险杠关系
     * @return 结果
     */
    public Result<Boolean> updateBaseDerive(BaseDeriveEditBo bo);

    /**
     * 删除派生保险杠关系信息
     *
     * @param id 派生保险杠关系主键
     * @return 结果
     */
    public int deleteBaseDeriveById(Long id);

    public List<BaseDerive> getBaseDeriveListByVehiche(BaseBarcodesOutAddBo bo);

    public BaseDerive getBaseDeriveBybarcodes(BaseDeriveQueryBo bo);

}
