package com.brilliance.isc.mda.dao;

import com.brilliance.isc.annotation.AdrCheck;
import com.brilliance.isc.bo.Adr;
import com.brilliance.isc.vo.manager.AdrManageVo;
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 AdrMapper {

    int insert(Adr record);

    int insertSelective(Adr record);

    @AdrCheck
    int updateByPrimaryKeySelective(Adr record);

    @AdrCheck
    int updateByPrimaryKey(Adr record);

    int deleteByPrimaryKey(Adr record);

    int deleteByIds(Collection<Object> collection);

    Adr selectByPrimaryKey(Adr record);

    Adr selectByInr(String inr);

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

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

    List<AdrManageVo> queryByPtyinr(@Param("ptyinr") String ptyinr);

    Adr selectByPtaInr(@Param("ptainr") String ptainr);

    Adr queryMainAdrByPtyinr(@Param("ptyinr") String ptyinr);

    int deleteByInrs(@Param("adrlist") List<String> adrList);

    List<String> selectAllByPtaInr(@Param("ptalist") List<String> ptaList);

    int delete(String inr);

    Adr selectByVo(@Param("vo") Adr adr);

}