package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Act;
import com.brilliance.isc.vo.manager.ActVo;
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 ActMapper {

    int insert(Act record);

    int insertSelective(Act record);

    int updateByPrimaryKeySelective(Act record);

    int updateByPrimaryKey(Act record);

    int deleteByPrimaryKey(Act record);

    int deleteByIds(Collection<Object> collection);

    Act selectByPrimaryKey(Act record);

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

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

    String getTxmcodByExtkey(@Param(value = "extkey") String extkey);

    String getZmqAcc(@Param(value = "holptyinr") String holptyinr,@Param(value = "extkey")  String extkey);

    List<Act> getActByConditionSql(@Param(value = "conditionSql") String conditionSql);

    List<String> selectPtyinrListByExtkey(String extkey);

    List<String> selectExtkeyListByPtyinr(@Param("ptyinr") String ptyinr, @Param("cur") String cur);

    List<Act> queryByPtyCondition(Act act);

    int deleteByInrs(@Param("actlist") List<String> actList);

    List<String> selectInrByPtyinr(@Param("ptyinr") String ptyinr, @Param("ptytyp") String ptytyp);

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

    Act queryDetailById(String inr);

    int edit(@Param("module") Act act);

    int add(Act act);

    int delete(String inr);

    List<Act> getActListByExtkey(@Param(value = "extkey")  String extkey);

    List<ActVo> queryAllLimit(ActVo actVo);

    List<ActVo> queryAllLimitByCon(@Param("actVo")ActVo actVo, @Param("bchlist") List<String> bchlist);

    List<Act> listByExtKey(Act act);

    //防重校验
    int check(Act act);

    List<Act> queryRmbActList(@Param("vo") Act vo);

    List<Act> listByHolptyinr(@Param("holptyinr") String holptyinr);

    List<Act> listByHolptyinrWithCur(@Param("etgextkey") String etgextkey, @Param("holptyinr") String holptyinr, @Param("trmtyp") String trmtyp, @Param("cur") String cur);

    List<Act> listByHolptyinrWithCurNotZMQ(@Param("etgextkey") String etgextkey, @Param("holptyinr") String holptyinr, @Param("trmtyp") String trmtyp, @Param("cur") String cur);

    List<Act> selectCashAccList(@Param("holptyinr") String holptyinr, @Param("cur") String cur);

    List<Act> selectByExtkeyAndActpro(@Param("extkey") String extkey);

    List<String> getSerAccByConditionSql(@Param(value = "conditionSql") String conditionSql);
}