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

import com.prolog.cs.biz.inbound.dto.PageParam;
import com.prolog.cs.biz.inbound.dto.rcv.RcvHDTO;
import com.prolog.cs.biz.inbound.dto.rcv.RcvInstockLinesDTO;
import com.prolog.cs.biz.inbound.dto.rqc.RqcLinesDTO;
import com.prolog.cs.biz.inbound.dto.task.TaskExceptionDetailDTO;
import com.prolog.cs.biz.inbound.vo.RcvQueryVO;
import com.prolog.cs.biz.inbound.vo.task.TaskQueryVO;
import com.prolog.framework.core.pojo.Page;

import java.util.List;

/**
 * @Description  
 * @Date 2021-03-24 
 */

public interface TaskExceptionDetailService {

	/**
 	* @Description   
 	* @Date 2021-03-24 
 	* add TaskExceptionDetailDTO 
 	*/
	public Object add(TaskExceptionDetailDTO taskExceptionDetailDTO);

	/**
 	* @Description  
 	* @Date 2021-03-24 
 	* edit TaskExceptionDetailDTO 
 	*/
	public Object edit(String pkId,TaskExceptionDetailDTO taskExceptionDetailDTO);

	/**
 	* @Description  
 	* @Date 2021-03-24 
 	* delete TaskExceptionDetailDTO 
 	*/
	public Object deletePkId(String pkId);

	/**
 	* @Description  
 	* @Date 2021-03-24 
 	* delete TaskExceptionDetailDTO 
 	*/
	public Object delIds(List<String> pkIdList);

	/**
 	* @Description  
 	* @Date 2021-03-24 
 	* page condition search TaskExceptionDetailDTO 
 	*/
	public Page<TaskExceptionDetailDTO> findList(TaskExceptionDetailDTO taskExceptionDetailDTO,PageParam pageParam);

	/**
 	* @Description  
 	* @Date 2021-03-24 
 	* batchAdd TaskExceptionDetailDTO 
 	*/
	public Object batchAdd(List<TaskExceptionDetailDTO> taskExceptionDetailDTOList);

	/**
 	* @Description  
 	* @Date 2021-03-24 
 	* batchEdit TaskExceptionDetailDTO 
 	*/
	public Object batchEdit(List<TaskExceptionDetailDTO> taskExceptionDetailDTOList);

	/**
 	* @Description  
 	* @Date 2021-03-24 
 	* condition search all TaskExceptionDetailDTO 
 	*/
	public List<TaskExceptionDetailDTO> findAll(TaskExceptionDetailDTO taskExceptionDetailDTO);

	/**
 	* @Description  
 	* @Date 2021-03-24 
 	* findOne TaskExceptionDetailDTO 
 	*/
	public TaskExceptionDetailDTO findByPkId(String pkId);

	/**
	 * 保存质检的异常错误
	 * @param rqcLinesDTOList
	 * @return
	 */
	public Object saveTaskListByRq(List<RqcLinesDTO> rqcLinesDTOList);

	public Object saveTaskListByInStock(List<RcvInstockLinesDTO> rcvInstockLinesDTOList);

	public Page<TaskExceptionDetailDTO> extractTaskWithNativeSql(TaskQueryVO taskQueryVO, PageParam pageParam);

	public Page<RcvHDTO> extractRcvHWithNativeSql(RcvQueryVO rcvQueryVO, PageParam pageParam);

	public Page<TaskExceptionDetailDTO> findList(TaskQueryVO queryVO, PageParam pageParam);
}
