package com.shkj.wms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shkj.common.core.domain.Result;
import com.shkj.wms.bo.BusinCallPalletBo;
import com.shkj.wms.bo.BusinPickupAddBo;
import com.shkj.wms.bo.BusinPickupDtlAddBo;
import com.shkj.wms.bo.BusinPickupQueryBo;
import com.shkj.wms.domain.BusinDataTask;
import com.shkj.wms.domain.BusinPickup;
import com.shkj.wms.vo.BusinPickupVo;
import com.shkj.wms.vo.CallPalletQtyVo;

import java.util.List;

public interface IBusinPickupService extends IService<BusinPickup> {

    /**
     * App取货-获取取货信息
     *
     * @param bo bo
     * @return 结果
     */
    public List<BusinPickupVo> getBusinPickupList(BusinPickupQueryBo bo);


    /**
     * App取货-确认取货
     *
     * @param bo bo
     * @return 结果
     */
    public Result<Boolean> saveBusinPickupRecord(BusinPickupAddBo bo);

    public Result returnNullTray();

    public Result AGVNullReach(List<String> taskids);
    public Result AGVNullReach(String taskids);

    public Result QueryPOutDerive();

    /**
     * 组装线-按下按钮盒需要放行
     * 从redis中获取数据，处理完成后，删除
     * @param
     * @return 结果
     */
    public Result<Boolean> savePickupRecordByAssemblyLine(String buttonType);


    public Boolean subtractStockDetailByLocation(BusinDataTask businDataTask);

    /**
     * 呼叫空治具
     */
    public Result<Boolean> callPallet(BusinCallPalletBo bo);

    public List<CallPalletQtyVo> callPalletQty();

}
