package com.srs.comprehensive.service;

import java.util.List;

import com.srs.common.core.domain.AjaxResult;
import com.srs.comprehensive.domain.*;
import com.srs.comprehensive.domain.Vo.CphSearch;


/**
 * 困难认定Service接口
 * 
 * @author srs
 * @date 2024-03-19
 */
public interface ISrsKnrdApplyService 
{

    public List<SrsKnrdApply> listView(CphSearch param);
    /**
     * 查询困难认定
     * 
     * @param id 困难认定主键
     * @return 困难认定
     */
    public SrsKnrdApply selectSrsKnrdApplyById(Long id);

    /**
     * 查询困难认定列表
     * 
     * @param srsKnrdApply 困难认定
     * @return 困难认定集合
     */
    public List<SrsKnrdApply> selectSrsKnrdApplyList(SrsKnrdApply srsKnrdApply);

    /**
     * 新增困难认定
     * 
     * @param srsKnrdApply 困难认定
     * @return 结果
     */
    public AjaxResult insertSrsKnrdApply(SrsKnrdApply srsKnrdApply);

    /**
     * 修改困难认定
     * 
     * @param srsKnrdApply 困难认定
     * @return 结果
     */
    public int updateSrsKnrdApply(SrsKnrdApply srsKnrdApply);

    /**
     * 批量删除困难认定
     * 
     * @param ids 需要删除的困难认定主键集合
     * @return 结果
     */
    public int deleteSrsKnrdApplyByIds(Long[] ids);

    /**
     * 删除困难认定信息
     * 
     * @param id 困难认定主键
     * @return 结果
     */
    public int deleteSrsKnrdApplyById(Long id);

    SrsStudent getInfoxh(String xh);

    int updateAllSrsKnrdApply(SrsHandAllKnrd srsKnrdApply);


    SrsKnrdApply selectByXhAndYear(SrsKnrdApply srsKnrdApply);


    //辅导员保存修改
    int fdySave(SrsKnrdApply srsKnrdApply);

    //驳回
    int reject(SrsKnrdApprovalRecord record);

    //撤回
    int revoke(SrsKnrdApply srsKnrdApply);

    int fdyRevoke(SrsKnrdApply srsKnrdApply);

    //锁定和解锁
    int lock(SrsKnrdApply srsKnrdApply);
    int unlock(SrsKnrdApply srsKnrdApply);

    //
    List<SrsKnrdApply> countXw(CphSearch cphSearch);

    /**
     * 修改学生、辅导员、二级学院、学校签名
     * @param cphSearch
     * @return
     */
    int updateSignature(CphSearch cphSearch);
}
