package com.yida.data.form.apply.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yida.data.common.core.entity.applyForm.CoreApplyForm;
import com.yida.data.customForm.dto.apply.ApplyFormSelectPageDTO;
import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO;
import org.apache.ibatis.annotations.Param;

/**
 * 申请类型表单 mapper
 *
 * @author ZYJ
 * @date 2023/11/14
 */
public interface CoreApplyFormMapper extends BaseMapper<CoreApplyForm> {

    /**
     * 查询申请表单列表数据
     *
     * @param page 分页信息
     * @param dto  查询参数
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO>
     * @author ZYJ
     * @date 2023/11/14 16:17
     */
    IPage<ApplyFormSelectPageVO> listApplyFormPage(Page<CoreApplyForm> page,
                                                   @Param("dto") ApplyFormSelectPageDTO dto);

    /**
     * 返回int类型数据的动态sql
     *
     * @param sql 对应sql语句
     * @return java.lang.Integer
     * @author ZYJ
     * @date 2023/11/14 16:52
     */
    Integer initSqlReturnInt(@Param("sql") String sql);

    /**
     * 没有返回值的动态sql
     *
     * @param sql 对应sql语句
     * @author ZYJ
     * @date 2023/11/15 15:19
     */
    void initSqlReturnVoid(@Param("sql") String sql);
}
