package com.prolog.cs.biz.inbound.dao.task;

import com.prolog.cs.biz.inbound.dto.rcv.RcvHDTO;
import com.prolog.cs.biz.inbound.dto.task.TaskInstockDetailDTO;
import com.prolog.cs.biz.inbound.model.task.TaskInstockDetail;
import com.prolog.cs.biz.inbound.vo.InsockTaskRcvQueryVO;
import com.prolog.cs.biz.inbound.vo.task.InstockTaskQueryVO;
import com.prolog.cs.biz.inbound.vo.task.TaskQueryVO;
import com.prolog.framework.dao.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @Description
 * @Date 2021-03-24
 */
public interface TaskInstockDetailMapper extends BaseMapper<TaskInstockDetail> {

	List<RcvHDTO> extractRcvHWithNativeSql(InsockTaskRcvQueryVO rcvQueryVO);

	List<TaskInstockDetailDTO> findList(TaskQueryVO queryVO);

	TaskInstockDetailDTO findByPkId(String pkId);

	List<TaskInstockDetailDTO> findListPad(InstockTaskQueryVO queryVO);

	List<String> findContainer(@Param("warehouseId") String warehouseId, @Param("mtlOwnerId") String mtlOwnerId,
			@Param("enterpriseId") String enterpriseId);

	List<TaskInstockDetailDTO> geTaskInstockDetailsByRcvLineId( @Param("rcvLineIdList")  List<String> rcvLineIdList);

	List<TaskInstockDetailDTO> findTaskListByContainerNo(@Param("containerNo") String containerNo);
	
	/**
	 * 通过EIS传入的数据寻找对应的上架任务
	 * @param containerNo
	 * @return
	 */
	List<TaskInstockDetailDTO> findEisNum(@Param("msgIds") List<String> msgIds,@Param("wareHouseId") String wareHouseId, @Param("ownerId") String ownerId);
	
	void updateStatusByMsgd (@Param("msgIds")  List<String> msgIds);

    List<TaskInstockDetailDTO> getMyTask(TaskQueryVO queryVO);

	List<TaskInstockDetail> findEisTask();

	List<TaskInstockDetail> findEisTaskPK();

	Map<String, String> checkTokenExp();

}
