package com.srs.comprehensive.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.srs.comprehensive.domain.*;
import com.srs.comprehensive.domain.SrsHandAllKnrd;
import com.srs.comprehensive.domain.Vo.CphSearch;
import org.apache.ibatis.annotations.Param;

/**
 * 困难认定Mapper接口
 *
 * @author srs
 * @date 2024-03-19
 */
public interface SrsKnrdApplyMapper extends BaseMapper<SrsKnrdApply> {


    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 int insertSrsKnrdApply(SrsKnrdApply srsKnrdApply);

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

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

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

    SrsKnrdApply selectSrsKnrdApplyBysfz(@Param("sfzhm") String sfzhm, @Param("stuYearId")Long applyYear);

    SrsKnrdApply selectsfzhm(String sfzhm);

    SrsStudent getInfoxh(String xh);

    List<SrsFemilyMenber> getjtxx(Long stuId);

    int updateAllSrsKnrdApply(SrsHandAllKnrd srsKnrdApply);

    SrsKnrdApply selectByXhAndYear(SrsKnrdApply srsKnrdApply);

    int revoke(SrsKnrdApply srsKnrdApply);
    int fdyRevoke(SrsKnrdApply srsKnrdApply);


    int lock(SrsKnrdApply srsKnrdApply);
    int unlock(SrsKnrdApply srsKnrdApply);

    List<SrsKnrdApply> countXw(CphSearch cphSearch);

    /**
     * @date 2024年12月16日 09点46分
     * 修改学生、辅导员、二级学院、学校签名
     * @param cphSearch
     * @return
     */
    int updateStuSignature(CphSearch cphSearch);
    int updateFdySignature(CphSearch cphSearch);
    int updateEjxySignature(CphSearch cphSearch);
    int updateScSignature(CphSearch cphSearch);

}
