package com.tofly.feesapi.yhgl.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.feesapi.common.core.dto.PageDto;
import com.tofly.feesapi.mxcx.entity.dto.YhwjFilter;
import com.tofly.feesapi.mxcx.entity.vo.YhNdjtslSelect;
import com.tofly.feesapi.mxcx.entity.vo.YhwjSelect;
import com.tofly.feesapi.yhgl.entity.YhBtLog;
import com.tofly.feesapi.yhgl.entity.YhKhjbxx;
import com.tofly.feesapi.yhgl.entity.Yhkhjbxx2;
import com.tofly.feesapi.yhgl.entity.dto.*;
import com.tofly.feesapi.yhgl.entity.vo.*;
import com.tofly.feesapi.znbgl.entity.dto.ZnbYhdaFilter;
import com.tofly.feesapi.znbgl.entity.vo.ZnbYhdaSelect;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


public interface YhKhjbxxMapper extends BaseMapper<YhKhjbxx> {

    //当前用户是否存在多只表
    List<CbkxxDto> selectCbkh(String yhbh);

    //查询用户基本信息YhKhjbxx
    Yhkhjbxx2 selectYhDa(String yhbh);

    Page<YhkhjbxxDbhSelect> getYhDbhxxPage(@Param("page") Page<YhBtLog> page, @Param("filter") YhkhjbxxDbhlsFilter filter);

    List<YhkhjbxxDbhSelect> getYhDbhxxPage( @Param("filter") YhkhjbxxDbhlsFilter filter);

    //查询最大用户编号
    int selectMaxYhbh_jk();

    //查询最大用户编号
    int selectMaxYhbh_fjk();

    //查询用户是否存在
    int selectExistCbkxx(String yhbh);

    //查询用户是否存在
    int selectExistYhbh(String yhbh);

    //查询用户余额
    HashMap<String, Object> selectUserBalance(String yhbh);

    //获取当前财务日期
    Map<String, Object> selectCwrq();

    PageDto<YhkhjbxxSelect> getPage(PageDto page, @Param("filter") YhkhjbxxFilter filter);

    PageDto<YhkhjbxxFfgxzSelect> getFfgxPage(PageDto page, @Param("filter") YhkhjbxxFilter filter);


    PageDto<YhkhjbxxSelect> getPage_cbbwfp(PageDto page, @Param("filter") YhkhjbxxCbbWfpFilter filter);

    PageDto<YhkhjbxxSelect> getPage_cbbyfp(PageDto page, @Param("filter") YhkhjbxxCbbWfpFilter filter);

    PageDto<ZnbYhdaSelect> getZnbDaPage(PageDto pageDto, @Param("filter") ZnbYhdaFilter filter);

    List<YhkhjbxxSelect2> getList(@Param("filter") YhkhjbxxFilter filter);

    PageDto<YhkhjbxxSelect2> getPage2(PageDto pageDto, @Param("filter") YhkhjbxxFilter filter);

    PageDto<YhkhjbxxSelect2> getUserInfoPage(PageDto pageDto, @Param("filter") YhkhjbxxFilter filter);

    //自定义分页查询用户档案查询
    Page<YhkhjbxxSelect2> selectDaCustomerPage(@Param("page") Page<YhkhjbxxSelect2> page, String searchText, String ssgs, String sscbpq, String sscbb, String sblb, String sjbm, String cbry, String yhzt, String ljfbz, String ksrq, String jsrq);
    //自定义查询Excel 数据导出

    List<YhkhjbxxSelect2> selectDaCustomerPage(String searchText, String ssgs, String sscbpq, String sscbb, String sblb, String sjbm, String cbry, String yhzt, String ljfbz, String ksrq, String jsrq);

    PageDto<YhNdjtslSelect> getNdjtslxx(PageDto pageDto, @Param("yhbh") String yhbh);

    List<YhNdjtslSelect> getNdjtslxx(@Param("yhbh") String yhbh);

    PageDto<YhwjSelect> getwjPage(PageDto pageDto, @Param("filter") YhwjFilter filter);

    List<YhkhjbxxXzyhSelect> xzyhtj(@Param("filter") YhkhjbxxXzyhFilter filter);

    Yhkhqbxx getYhxx(String yhbh);

}
