package yangtz.cs.liu.campus.service.schoolAnnualAssessment;

import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolAnnualAssessment.SchoolAnnualAssessment;
import yangtz.cs.liu.campus.vo.schoolAnnualAssessment.SchoolAnnualAssessmentVo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 年度考核Service接口
 *
 * @author ruoyi
 * @date 2023-12-05
 */
public interface ISchoolAnnualAssessmentService extends IService<SchoolAnnualAssessment> {

    /**
     * 查询年度考核
     *
     * @param id 年度考核主键
     * @return 年度考核
     */
    public SchoolAnnualAssessment selectSchoolAnnualAssessmentById(Long id);

    /**
     * 查询年度考核列表
     *
     * @param schoolAnnualAssessmentVo 年度考核
     * @return 年度考核集合
     */
    public List<SchoolAnnualAssessment> selectSchoolAnnualAssessmentList(SchoolAnnualAssessmentVo schoolAnnualAssessmentVo);

    /**
     * 新增年度考核
     *
     * @param schoolAnnualAssessment 年度考核
     * @return 结果
     */
    public int insertSchoolAnnualAssessment(SchoolAnnualAssessment schoolAnnualAssessment);

    /**
     * 修改年度考核
     *
     * @param schoolAnnualAssessment 年度考核
     * @return 结果
     */
    public int updateSchoolAnnualAssessment(SchoolAnnualAssessment schoolAnnualAssessment);

    /**
     * 批量删除年度考核
     *
     * @param ids 需要删除的年度考核主键集合
     * @return 结果
     */
    public int deleteSchoolAnnualAssessmentByIds(Long[] ids);

    /**
     * 删除年度考核信息
     *
     * @param id 年度考核主键
     * @return 结果
     */
    public int deleteSchoolAnnualAssessmentById(Long id);

    /**
     * 校验导入数据
     * @param list
     */
    void checkImport(List<SchoolAnnualAssessment> list);

    /**
     * 导入数据
     * @param list
     * @return
     */
    String importData(List<SchoolAnnualAssessment> list);

    /**
     * 下载模板
     * @param response
     */
    void importTemplate (HttpServletResponse response);
}
