package com.brilliance.isc.mda.dao;
import java.math.BigDecimal;

import com.brilliance.isc.bo.Gle;
import com.brilliance.isc.vo.PvcRequestVo;
import com.brilliance.isc.vo.PvcResponseVo;
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 GleMapper {

    int insert(Gle record);

    int insertSelective(Gle record);

    int updateByPrimaryKeySelective(Gle record);

    int updateByPrimaryKey(Gle record);

    int deleteByPrimaryKey(Gle record);

    int deleteByIds(Collection<Object> collection);

    Gle selectByPrimaryKey(Gle record);

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

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

    Gle selectByCondition(Gle record);

    List<Gle>  selectByTrninr(@Param("trninr")String trninr);

    Gle selectByNewactcodAndCurAndTrninr(@Param("newactcod") String newactcod, @Param("cur")String cur, @Param("trninr")String trninr);

    int updateByTrninr(@Param("itfinr") String itfinr,@Param("trninr")String trninr);

    int selectCountByTrninr(@Param("trninr")String trninr);

    List<Gle> selectByTrninrLikeTaxinf(@Param("trninr") String trninr);

    Gle selectByTrninrAndAmt(@Param("trninr") String trninr, @Param("amt") BigDecimal amt);

    int deleteByTrninr(@Param("trninr") String trninr);

    Gle selectForeignGle(@Param("trninr") String trninr);

    List<PvcResponseVo> selectPVCList(PvcRequestVo gleRequestVo);

}