package cn.cslg.report.mapper;

import cn.cslg.report.common.model.vo.AvoidFeaturesVO;
import cn.cslg.report.entity.AvoidDesignLittleDirection;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 回避设计方向表的Mapper层接口
 *
 * @Author chenyu
 * @Data 2023/2/2
 */
@Repository
public interface AvoidDesignLittleDirectionMapper {
    /**
     * 批量插入回避设计方向表数据
     *
     * @param avoidDesignLittleDirections 回避设计方向数据对象集合
     * @return 返回受影响的行数
     */
    int insertBatch(List<AvoidDesignLittleDirection> avoidDesignLittleDirections);

    /**
     * 根据报告id删除回避设计方向表数据
     *
     * @param reportId 报告id
     * @return 返回受影响的行数
     */
    int deleteByReportId(Integer reportId);

    /**
     * 根据报告id查询专利号(查报告表)
     *
     * @param reportId 报告id
     * @return 返回查询到的专利号集合
     */
    String selectSignPatentNoByReportId(Integer reportId);

    /**
     * 根据报告id关联特征表查询特征和回避设计方向数据
     *
     * @param reportId 报告id
     * @return 返回查询到的特征集合
     */
    List<AvoidFeaturesVO> selectWholeByReportId(Integer reportId);

    /**
     * 根据权要id和报告id关联特征表查询特征和回避设计方向数据
     *
     * @param rightId  权要id
     * @param reportId 报告id
     * @return 返回查询到的特征集合
     */
    List<AvoidFeaturesVO> selectWholeByRightIdAndReportId(Integer rightId, Integer reportId);

}
