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

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.RcvRejectLinesDTO;
import com.prolog.cs.biz.inbound.dto.task.TaskRejectedDetailDTO;
import com.prolog.cs.biz.inbound.vo.RcvQueryVO;
import com.prolog.cs.biz.inbound.vo.TaskQcDQueryVO;
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 RcvRejectLinesService {

	/**
	 * @Description
	 * @Date 2021-03-24 add RcvRejectLinesDTO
	 */
	public Object add(RcvRejectLinesDTO rcvRejectLinesDTO);

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

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

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

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

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

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

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

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

	public Page<TaskRejectedDetailDTO> extractTask(TaskQcDQueryVO taskQcDQueryVO, PageParam pageParam);

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

	public Page<TaskRejectedDetailDTO> extractTask(TaskQueryVO queryVO, PageParam pageParam);
}
