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

import com.prolog.cs.biz.inbound.dto.CargoChangeIn;
import com.prolog.cs.biz.inbound.dto.rqc.RqcLinesDTO;
import com.prolog.cs.biz.inbound.dto.rqc.WmsInRqcSampleDTO;
import com.prolog.framework.authority.core.dto.UserDTO;
import com.prolog.framework.bz.core.model.PageParam;
import com.prolog.framework.core.pojo.Page;

import java.util.List;

/**
 * @Description
 * @Date 2021-05-20
 */

public interface WmsInRqcSampleService {

	/**
	 * @Description
	 * @Date 2021-05-20 add WmsInRqcSampleDTO
	 */
	public Object add(WmsInRqcSampleDTO wmsInRqcSampleDTO);

	/**
	 * @Description
	 * @Date 2021-05-20 edit WmsInRqcSampleDTO
	 */
	public Object edit(String pkId, WmsInRqcSampleDTO wmsInRqcSampleDTO);

	/**
	 * @Description
	 * @Date 2021-05-20 delete WmsInRqcSampleDTO
	 */
	public Object deletePkId(String pkId);

	/**
	 * @Description
	 * @Date 2021-05-20 delete WmsInRqcSampleDTO
	 */
	public Object delIds(List<String> pkIdList);

	/**
	 * @Description
	 * @Date 2021-05-20 page condition search WmsInRqcSampleDTO
	 */
	public Page<WmsInRqcSampleDTO> findList(WmsInRqcSampleDTO wmsInRqcSampleDTO, PageParam pageParam);

	/**
	 * @Description
	 * @Date 2021-05-20 batchAdd WmsInRqcSampleDTO
	 */
	public Object batchAdd(List<WmsInRqcSampleDTO> wmsInRqcSampleDTOList,String type);

	/**
	 * @Description
	 * @Date 2021-05-20 batchEdit WmsInRqcSampleDTO
	 */
	public Object batchEdit(List<WmsInRqcSampleDTO> wmsInRqcSampleDTOList);

	/**
	 * @Description
	 * @Date 2021-05-20 condition search all WmsInRqcSampleDTO
	 */
	public List<WmsInRqcSampleDTO> findAll(WmsInRqcSampleDTO wmsInRqcSampleDTO);

	/**
	 * @Description
	 * @Date 2021-05-20 findOne WmsInRqcSampleDTO
	 */
	public WmsInRqcSampleDTO findByPkId(String pkId);

	public List<WmsInRqcSampleDTO> getPreList(List<RqcLinesDTO> rqcLinesDTOList);

	public Object autoGen(List<RqcLinesDTO> lineList, String rcvType, CargoChangeIn cargoChangeIn , UserDTO userDTO);

	public List<WmsInRqcSampleDTO> getPreListByPad(List<RqcLinesDTO> rqcLinesDTOList);

	public Object batchAddByPad(List<WmsInRqcSampleDTO> wmsInRqcSampleDTOList);
}
