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.BaseBarcodesOut;
import com.shkj.wms.domain.BusinDataTask;
import com.shkj.wms.vo.BaseBarcodesOutVo;
import com.shkj.wms.vo.BasePointDeviceVo;
import com.shkj.wms.vo.BusinDataTaskGoodsVo;
import com.shkj.wms.vo.BusinDataTaskVo;

import java.util.Date;
import java.util.List;

/**
 * 任务管理Service接口
 *
 * @author zjx
 * @date 2023-04-07
 */
public interface IBusinDataTaskService extends IService<BusinDataTask> {


    Result<Boolean> insertBusinTask(BaseBarcodesIn baseBarcodesIn, String taskCode) ;

    Result<Boolean>  insertBusinTask(BaseContainerCallBo pointNo);

    Result<Boolean> insertBusinTask(BusinDataTask businDataTask);

    Result<Boolean> insertBusinTask(List<BaseBarcodesOutAddBo> baseBarcodesOutList);

    /**
     *人工入库点位
     */
    Result<BasePointDeviceVo>  getManualWarehousingPoint();


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

    Result<Boolean> insertByAddBo(BusinTaskAddBo bo);

    /**
     * 补货治具出库
     */
    Result<Boolean> getReplenishmentAndOutbound(BusinOutboundQueryBo bo);

    Long insertBusinDataTask(BusinDataTask businDataTask);

    BusinDataTask getBusinDataTaskByQrCode(String qrCode);

    BusinDataTask getBusinDataTaskByTraverseDate(Date traverseDate);


    List<BusinDataTaskVo> selectBusinDataTask(BusinTaskQueryBo bo);

    /**
     * 出库分配库位信息
     * */
    List<BusinDataTask> outboundInfo(List<BusinDataTaskGoodsVo> goods);
}
