package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Dfd;
import com.brilliance.isc.vo.finance.DfdQueryVo;
import com.brilliance.isc.vo.finance.DfdWithPtsCbbResponseVo;
import com.brilliance.isc.vo.lg.RptselRequestVo;
import com.brilliance.isc.vo.report.DfdReportVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Map;

@Mapper
public interface DfdMapper {

    int insert(Dfd record);

    int insertSelective(Dfd record);

    int updateByPrimaryKeySelective(Dfd record);

    int updateByPrimaryKey(Dfd record);

    int deleteByPrimaryKey(Dfd record);

    int deleteByIds(Collection<Object> collection);

    Dfd selectByPrimaryKey(Dfd record);

    int dyncDelete(Map<String, Object> dyncMap);

    List<Dfd> dyncRead(Map<String, Object> dyncMap);

    Dfd  getDfdByParentInrAndType(@Param("pnttyp") String pnttyp, @Param("pntinr") String pntinr);

    List<DfdWithPtsCbbResponseVo> queryDfd(DfdQueryVo dfdQueryVo);

    int getDfdByPntinrAndPnttyp(@Param("pntinr") String pntinr, @Param("pnttyp") String pnttyp);

    List<DfdWithPtsCbbResponseVo> queryDfdInfo(DfdQueryVo dfdQueryVo);

    /**
     * 境内代付余额明细报表
     */
    List<DfdReportVo> getDfdOpnamt(RptselRequestVo rptselRequestVo);

    Dfd selectByWhere(Dfd record);

}