package com.prolog.eis.dao.out;

import com.prolog.eis.dto.bindgridex.BGDExOrderDto;
import com.prolog.eis.dto.dispatch.OrderItemCountDto;
import com.prolog.eis.dto.strategy.OrderDto;
import com.prolog.eis.model.outbound.BizOutboundTask;
import com.prolog.framework.dao.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author zmr
 * @description: 出库任务表-数据处理类
 * @date 2023-07-06 11:36
 */
@Repository
public interface BizOutboundTaskMapper extends BaseMapper<BizOutboundTask>{
    List<OrderDto> getOutboundTaskByBillType(@Param("billType") String billType, @Param("warehouseArea") String warehouseArea,@Param("assemblyOrderSwitch") String assemblyOrderSwitch,@Param("checkStore") int checkStore,@Param("isBindGrid") int isBindGrid);

    List<OrderDto> getOutboundTaskList(@Param("billType") String billType, @Param("warehouseArea") String warehouseArea);

    List<OrderDto> getCreateOutboundTaskList(@Param("billType") String billType, @Param("warehouseArea") String warehouseArea);

    List<OrderDto> getOutboundTaskByBillTypeAndInit(@Param("billType") String billType, @Param("warehouseArea") String warehouseArea, @Param("assemblyOrderSwitch") int assemblyOrderSwitch);

    List<OrderDto> getOutboundTaskByArea(@Param("warehouseArea") String warehouseArea);

    List<BizOutboundTask> findOutTaskList(@Param("warehouseArea") String warehouseArea,@Param("billType") String billType);

    List<OrderItemCountDto> findOutboundTaskItemCount(@Param("billType") String billType,@Param("warehouseArea") String warehouseArea);

    List<OrderDto> getCreateOutboundTaskLSList(@Param("billType") String billType, @Param("warehouseArea") String warehouseArea);

    List<OrderDto> getOutboundTaskLSList(@Param("billType") String billType, @Param("warehouseArea") String warehouseArea);

    List<Integer> queryNotBindOrderIds();

    List<BGDExOrderDto> queryNotBindOrders();
}