package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Fin;
import com.brilliance.isc.bo.finance.RelWhjDatasBo;
import com.brilliance.isc.vo.finance.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

@Mapper
public interface FinMapper {

    int insert(Fin record);

    int insertSelective(Fin record);

    int updateByPrimaryKeySelective(Fin record);

    int updateByPrimaryKey(Fin record);

    int deleteByPrimaryKey(Fin record);

    int deleteByIds(Collection<Object> collection);

    Fin selectByPrimaryKey(Fin record);

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

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

    Fin selectByInr(@Param("inr") String inr);

    Fin selectByRelref(@Param("relref") String relref);

    Fin selectByOwnref(@Param("ownref") String ownref, @Param("zxbflg") String zxbflg);

    List<Fin> selectByOwnrefAndCliExtkey(@Param("ownref") String ownref, @Param("cliextkey") String cliextkey, @Param("zxbflg") String zxbflg);

    List<ZxbselResultVo> queryFin(ZxbselQueryVo zxbselQueryVo);

    List<WgbselResultVo> queryFromFin(WgbselQueryVo wgbselQueryVo);

    List<WgbLogResultVo> queryWgbLog(@Param("fininr") String fininr);

    String initBLC(@Param("ownref") String ownref);

    String initZXB(@Param("ownref") String ownref);

    RelWhjDatasBo loadChkBLC(@Param("inr") String inr);

    RelWhjDatasBo loadRegBLC(@Param("inr") String inr);

    RelWhjDatasBo loadChkZXB(@Param("inr") String inr);

    RelWhjDatasBo loadRegZXB(@Param("inr") String inr);

    List<Fin> queryFininfos(FinQueryVo finQueryVo);
}