package com.fjhx.sale.mapper.contract;

import com.fjhx.sale.entity.contract.po.ContractProduct;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fjhx.sale.entity.contract.vo.ContractProductVo;
import com.ruoyi.common.utils.wrapper.IWrapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * <p>
 * 外销合同-产品 Mapper 接口
 * </p>
 *
 * @author
 * @since 2023-04-17
 */
public interface ContractProductMapper extends BaseMapper<ContractProduct> {

    /**
     * 外销合同-产品分页
     */
    Page<ContractProductVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ContractProduct> wrapper);

    /**
     * 根据合同产品ID集合查询合同产品
     * @param ids
     * @return
     */
    List<ContractProductVo> getListByIds(@Param("ew") IWrapper<ContractProduct> wrapper);

    /**
     * 根据合同ID和客户ID查询未包装的产品
     * @param customerId
     * @param contractId
     * @return
     */
    List<ContractProductVo> getNoPackContractProductById(@Param("customerId")String customerId, @Param("contractIds")List<String> contractId);

    /**
     * ehsd交接单列表
     * @param page
     * @param wrapper
     * @return
     */
    Page<ContractProductVo> getEHSDPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ContractProduct> wrapper);

    /**
     * ehsd待质检列表
     * @param page
     * @param wrapper
     * @return
     */
    Page<ContractProductVo> getEHSDQualityPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ContractProduct> wrapper);


    /**
     * 合同交接单
     * @param page
     * @param wrapper
     * @return
     */
    Page<ContractProductVo> contractHandoverPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ContractProduct> wrapper);
}
