package com.srs.comprehensive.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.srs.common.core.domain.AjaxResult;
import com.srs.comprehensive.domain.CphGoodAudit;
import com.srs.comprehensive.domain.Dto.CphAuditMany;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 评优审核Service接口
 *
 * @author srs
 * @date 2023-09-12
 */
public interface ICphGoodAuditService extends IService<CphGoodAudit> {
    /**
     * 查询评优审核
     *
     * @param id 评优审核主键
     * @return 评优审核
     */
    public CphGoodAudit selectCphGoodAuditById(Long id);

    Map<String,Object> fdyCountUnAudit(String tNo);

    Map<String,Object> xwCountUnAudit(Long deptId);

    Map<String,Object> jwcCountUnAudit();

    public AjaxResult voidApply(CphGoodAudit param);

    public AjaxResult changeApply(CphGoodAudit param);
    public AjaxResult manyAudit(CphAuditMany param);

    /**
     * 查询评优审核列表
     *
     * @param cphGoodAudit 评优审核
     * @return 评优审核集合
     */
    List<CphGoodAudit> selectCphGoodAuditList(CphGoodAudit cphGoodAudit);

    /**
     * 新增评优审核
     *
     * @param cphGoodAudit 评优审核
     * @return 结果
     */
    int insertCphGoodAudit(CphGoodAudit cphGoodAudit);

    /**
     * 修改评优审核
     *
     * @param cphGoodAudit 评优审核
     * @return 结果
     */
    int updateCphGoodAudit(CphGoodAudit cphGoodAudit);

    /**
     * 批量删除评优审核
     *
     * @param ids 需要删除的评优审核主键集合
     * @return 结果
     */
    int deleteCphGoodAuditByIds(Long[] ids);

    /**
     * 删除评优审核信息
     *
     * @param id 评优审核主键
     * @return 结果
     */
    int deleteCphGoodAuditById(Long id);

    /**
     * 辅导员审核申请
     * @param auditId 审核表ID
     * @param status 审核状态
     * @param common 审核意见
     * @return
     */
    AjaxResult fdyAudit(Long auditId, String status, String common);

    /**
     * 学院人员审核申请
     * @param auditId 审核表ID
     * @param status 审核状态
     * @param common 审核意见
     * @return
     */
    AjaxResult deptAudit(Long auditId, String status, String common);

    /**
     * 学工处审核申请
     * @param auditId 审核表ID
     * @param status 审核状态
     * @param common 审核意见
     * @return
     */
    AjaxResult finalAudit(Long auditId, String status, String common);
}
