package com.fs.his.mapper;

import java.util.List;
import com.fs.his.domain.FsDoctorExtract;
import com.fs.his.param.FsDoctorExtractListSParam;
import com.fs.his.vo.FsDoctorExtractListSVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 医生提现管理Mapper接口
 *
 * @author fs
 * @date 2023-06-25
 */
public interface FsDoctorExtractMapper
{
    /**
     * 查询医生提现管理
     *
     * @param extractId 医生提现管理主键
     * @return 医生提现管理
     */
    public FsDoctorExtract selectFsDoctorExtractByExtractId(String extractId);

    /**
     * 查询医生提现管理列表
     *
     * @param fsDoctorExtract 医生提现管理
     * @return 医生提现管理集合
     */
    public List<FsDoctorExtract> selectFsDoctorExtractList(FsDoctorExtract fsDoctorExtract);

    /**
     * 新增医生提现管理
     *
     * @param fsDoctorExtract 医生提现管理
     * @return 结果
     */
    public int insertFsDoctorExtract(FsDoctorExtract fsDoctorExtract);

    /**
     * 修改医生提现管理
     *
     * @param fsDoctorExtract 医生提现管理
     * @return 结果
     */
    public int updateFsDoctorExtract(FsDoctorExtract fsDoctorExtract);

    /**
     * 删除医生提现管理
     *
     * @param extractId 医生提现管理主键
     * @return 结果
     */
    public int deleteFsDoctorExtractByExtractId(String extractId);

    /**
     * 批量删除医生提现管理
     *
     * @param extractIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFsDoctorExtractByExtractIds(String[] extractIds);
    @Select({"<script> " +
            "select e.*  from   fs_doctor_extract e   " +
            "where 1=1  " +
            "<if test = 'maps.doctorId != null     '> " +
            "and e.doctor_id = #{maps.doctorId} " +
            "</if>" +
            "<if test = 'maps.status != null     '> " +
            "and e.status = #{maps.status} " +
            "</if>" +
            "<if test = 'maps.extractType != null and maps.extractType != \"\"     '> " +
            "and e.extract_type = #{maps.extractType} " +
            "</if>" +
            " order by e.extract_id desc "+
            "</script>"})
    List<FsDoctorExtractListSVO> selectFsDoctorExtractListSVO(@Param("maps") FsDoctorExtractListSParam param);
}
