package com.ym.mec.education.service;

import com.ym.mec.education.base.BaseResponse;
import com.ym.mec.education.base.PageResponse;
import com.ym.mec.education.req.ApprovalReq;
import com.ym.mec.education.resp.ApprovalResp;

/**
 * @program: mec
 * @description: 教务审批相关
 * @author: xw
 * @create: 2019-10-11 15:35
 */
public interface ApprovalService {

    /**
     * 查询审批人为当前登陆人的审批事项列表
     *
     * @param approvalReq
     * @return
     */
    PageResponse<ApprovalResp> getProcessingList(ApprovalReq approvalReq);

    /**
     * 审批-已处理列表
     *
     * @param approvalReq
     * @return
     */
    PageResponse<ApprovalResp> getProcessedList(ApprovalReq approvalReq);

    /**
     * 审批-我发起的审批列表
     *
     * @param approvalReq
     * @return
     */
    PageResponse<ApprovalResp> getLaunchList(ApprovalReq approvalReq);

    /**
     * 审批-我发起的审批详情
     *
     * @param approvalReq
     * @return
     */
    BaseResponse<ApprovalResp> getLaunchInfo(ApprovalReq approvalReq);

    /**
     * 审批-我发起的审批详情-取消审批
     *
     * @param approvalReq
     * @return
     */
    BaseResponse<ApprovalResp> cancel(ApprovalReq approvalReq);

    /**
     * 审批-抄送列表
     *
     * @param approvalReq
     * @return
     */
    PageResponse<ApprovalResp> getCcList(ApprovalReq approvalReq);
}
