package com.prolog.cs.biz.outbound.dao;

import com.prolog.cs.biz.outbound.model.entity.MoveTaskDO;
import com.prolog.framework.dao.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface MoveTaskMapper extends BaseMapper<MoveTaskDO> {
   long instore(@Param("detailIds") List<String> detailIds, @Param("status") String status, @Param("opUserId") String opUserId, @Param("opUserName") String opUserName);

   List<MoveTaskDO> getList(@Param("detailIds") List<String> detailIds);

   List<MoveTaskDO> queryMoveTaskInfo(@Param("lineBillId") String lineBillId);

   String getPickModel(@Param("whAreaCode") String whAreaCode, @Param("warehouseId") String warehouseId);

   MoveTaskDO getMoveTask(
           @Param("pickTaskDId") String pickTaskDId,
           @Param("warehouseId") String warehouseId
   );

   List<MoveTaskDO> getReplenishTasksByIds(@Param("taskIds") List<String> taskIds);

   List<MoveTaskDO> getPutAwayReplenishUnshelveListByPickTaskId(@Param("pickTaskId") String pickTaskId, @Param("employeeNo") String employeeNo);

   List<MoveTaskDO> getMoveTaskByPickTaskId(@Param("pickTaskId") String pickTaskId, @Param("employeeNo") String employeeNo);

   List<MoveTaskDO> getUnShelveReplenishUnshelveListByPickTaskId(@Param("pickTaskId") String pickTaskId, @Param("employeeNo") String employeeNo);

   //根据订单明细查询对应的补货任务
   List<MoveTaskDO> getDetailIdByBillDId(String billDId);

   List<MoveTaskDO> getDetailIdByBillDIds(@Param("billDIds") String[] billDId);
}