package com.jwipc.order.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jwipc.order.entity.BasicForcaseQuota;
import com.jwipc.order.model.po.BasicForcaseQuotaPO;
import com.jwipc.order.model.query.BasicForeignQuotaQuery;
import com.jwipc.order.model.query.BasicPlanQuery;
import java.util.List;

/**
 * @Author: swq
 * @Date: 2024/3/14 11:17
 */
public interface IBasicForcaseQuotaService extends IService<BasicForcaseQuota> {
    /**
     * 查看所有数据
     *
     * @param pg 分页信息
     * @param query 查询参数
     * @param planId 计划ID
     * @param page   分页
     * @param limit  分页
     * @return 数据
     */
    List<BasicForcaseQuotaPO> getDateDataByPlanId(Page<BasicForcaseQuotaPO> pg, BasicPlanQuery query, Long planId, Integer page, Integer limit);
    /**
     * 根据明细ID和供应商编码获取数据
     *
     * @param detailId 明细ID
     * @param supplierCode 供应商编码
     * @return 数据
     */
    List<BasicForcaseQuotaPO> getDataByDetailAndSupplier(Long detailId, String supplierCode);

    /**
     * 获取供应商回复列表
     */
    List<BasicForcaseQuotaPO> findForPage(Page<BasicForcaseQuotaPO> toPage, BasicForeignQuotaQuery query, Long id);


    /**
     * 根据版本 获取回复数据
     *
     * @param version 版本
     * @return 回复数据
     */
    List<BasicForcaseQuotaPO> findReplyListByVersionId(Long version);


    /**
     * 根据计划获取供应商回复进度
     *
     * @param planId 计划ID
     */
    List<BasicForcaseQuotaPO> getSupplierReply(Long planId);

    List<BasicForcaseQuotaPO> bySupplierCodeGetReply(
             Long planId, String supplierCode,
           Long replyUserId, String isRiskMaterial,  String purchaseGroup,
           List<Long> detailIdList);
    /**
     * 获取时间区间
     *
     * @param planId 计划ID
     * @return 区间
     */
    List<BasicForcaseQuotaPO> findDateInterval(Long planId);



}
