package com.hzs.system.sys.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.system.sys.SysApproval;
import com.hzs.common.domain.system.sys.ext.SysApprovalExt;
import com.hzs.system.sys.param.ApprovalParam;
import com.hzs.system.sys.vo.ApprovalVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 审批配置表 Mapper 接口
 *
 * @author hzs
 * @since 2022-09-15
 */
public interface SysApprovalMapper extends BaseMapper<SysApproval> {

    /**
     * 审批列表
     *
     * @param param     审批查询参数
     * @param pkCountry 国家ID
     * @return
     */
    List<ApprovalVO> approvalList(@Param("param") ApprovalParam param, @Param("pkCountry") Integer pkCountry);

    /**
     * 根据审批业务类型相关最新的审批
     *
     * @param approvalBusinessList 审批业务类型列表
     * @param pkCountry            国家ID
     * @return
     */
    List<SysApproval> lastApproval(@Param("approvalBusinessList") List<Integer> approvalBusinessList, @Param("pkCountry") Integer pkCountry);

    /**
     * 根据审批业务相关最新的审批以及审批项
     *
     * @param approvalBusinessList 审批业务类型列表
     * @param pkCountry            国家ID
     * @return
     */
    List<SysApprovalExt> lastApprovalAndItem(@Param("approvalBusinessList") List<Integer> approvalBusinessList, @Param("pkCountry") Integer pkCountry);

}
