package com.srs.comprehensive.service;

import java.util.List;

import com.srs.common.core.domain.AjaxResult;
import com.srs.comprehensive.domain.CphAuditDetails;
import com.srs.comprehensive.domain.Dto.CphCancel;
import com.srs.comprehensive.domain.Dto.CphResub;
import com.srs.comprehensive.domain.SrsAddRecord;
import com.srs.comprehensive.domain.Vo.CheckIam;
import com.srs.comprehensive.domain.Vo.CphApply;
import com.srs.comprehensive.domain.Vo.CphSearch;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 审核明细Service接口
 *
 * @author 邓
 * @date 2023-07-04
 */
public interface ICphAuditDetailsService
{

    public AjaxResult plusCheckRecord( CphAuditDetails param);

    public List<CphAuditDetails> listCheckAudit(CheckIam param);

    public List<SrsAddRecord> ListCheckRecord(CheckIam param);

    public List<CheckIam> checkIamList();

    public AjaxResult cleanCancelRecord();

    public int reSub(CphResub param);
    public AjaxResult cancelProcess(CphCancel param);
    public List<CphApply> listOwnProcessed(CphSearch param);

    public List<CphApply> listOwnApply(String stuNo);

    public void sendMsg(long uid,CphAuditDetails cad);

    public AjaxResult getDetail(long id);

    /**
     * 查询审核明细
     *
     * @param id 审核明细主键
     * @return 审核明细
     */
    public CphAuditDetails selectCphAuditDetailsById(Long id);

    /**
     * 我的已审核
     * @author zhy
     * @date 2023-07-06 16:06:02
     * @param cad
     * @param uid
     * @return
     **/
    public List<CphAuditDetails> listMyProcessed(CphAuditDetails cad,long uid);

    /**
     * 查询审核明细列表
     *
     * @param cphAuditDetails 审核明细
     * @return 审核明细集合
     */
    public List<CphAuditDetails> selectCphAuditDetailsList(CphAuditDetails cphAuditDetails);

    /**
     * 审核查询
     * @param cphAuditDetails
     * @param userId
     * @return
     */
    public List<CphAuditDetails> searchCphAuditDetailsList(CphAuditDetails cphAuditDetails,Long userId);

    /**
     * 新增审核明细
     *
     * @param cphAuditDetails 审核明细
     * @return 结果
     */
    public int insertCphAuditDetails(CphAuditDetails cphAuditDetails);

    /**
     * 修改审核明细
     *
     * @param cphAuditDetails 审核明细
     * @return 结果
     */
    public int updateCphAuditDetails(CphAuditDetails cphAuditDetails);

    /**
     * 审核操作
     * @param cphAuditDetails
     * @return
     */
    public int auditOpera(CphAuditDetails cphAuditDetails);

    /**
     * 批量同意
     * @param
     * @return
     */

    /**
     * 批量同意
     * @param
     * @return
     */
    public int auditOperaBatch(Long[] ids,Long id);

    /**
     * 批量删除审核明细
     *
     * @param ids 需要删除的审核明细主键集合
     * @return 结果
     */
    public int deleteCphAuditDetailsByIds(Long[] ids);
    //撤销
    public int cancelAuditById(Long id);

    /**
     * 删除审核明细信息
     *
     * @param id 审核明细主键
     * @return 结果
     */
    public int deleteCphAuditDetailsById(Long id);


    int completedFinish(CphAuditDetails cphAuditDetails);
}
