package com.hxhq.business.service;

import java.util.List;
import com.hxhq.business.domain.StudySubject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxhq.business.form.study.StudySubjectSaveForm;

/**
 * 试验-学科Service接口
 *
 * @author hxhq
 * @date 2025-12-29
 */
public interface IStudySubjectService extends IService<StudySubject>
{
    /**
     * 获取已经设置的学科信息
     * @param studyId
     * @return
     */
    List<StudySubject> getListByStudyId(Long studyId);

    /**
     * 设置学科下的用户idList，用于前端subject默认选中
     * @param list
     * @return
     */
    List<StudySubject> initUserIdList(List<StudySubject> list);

    /**
     * 获取试验下的学科设置信息(含未设置的学科)
     * @param studyId
     * @return
     */
    List<StudySubject> getAllListByStudyId(Long studyId);

    /**
     * 设置学科信息
     * @param form
     */
    void saveInfo(StudySubjectSaveForm form);

    /**
     * 查询是否有新增功能（学科下的才能新增+详情的填报）
     * @param studySubjectId
     * @return
     */
    Boolean isMatchSubject(Long studySubjectId);

    /**
     * 判断是否是QA部门的用户
     * @return
     */
    Boolean isQA();

}
