package com.shkj.wms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shkj.common.core.domain.Result;
import com.shkj.wms.bo.*;
import com.shkj.wms.domain.BaseBarcodesIn;
import com.shkj.wms.domain.BaseDerive;
import com.shkj.wms.third.ykl.ThirdYklResult;

import java.util.List;

/**
 * 入库条码信息Service接口
 *
 * @author zjx
 * @date 2023-03-29
 */
public interface IBaseBarcodesInService extends IService<BaseBarcodesIn> {


    /**
     *新增入库条码信息
     */

    Result<Boolean> insertByAddBo(BaseBarcodesInAddBo bo);

    /**
     *修改入库条码信息
     */
    Result<Boolean> updateByEditBo(BaseBarcodesInEditBo bo);


    List<BaseBarcodesIn> queryList(BaseBarcodesInQueryBo bo);

    ThirdYklResult thirdSyncBaseBarcodesIn(List<BaseBarcodesInThirdSyncBo> bo);

    ThirdYklResult thirdSyncRepairBarcodes(List<BaseBarcodesInThirdRepairBo> bo);

    /**
     *
     * @param qrCode 条码信息
     * @return 入库条码对象
     */
    Result<BaseBarcodesIn> getBaseBarcodesInByQrCode(String qrCode);

    BaseBarcodesIn getBaseBarcodesByQrCode(String qrCode);

    BaseBarcodesIn getBaseBarcodesInByDerice(BaseDerive bo);

    /**
     *
     * @param bo 入库计划管理
     * @return 入库条码对象
     */
    List<BaseBarcodesIn> getBillInPlanData(BaseBarcodesInQueryBo bo);

  }
