package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Txm;
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 TxmMapper {

    int insertSelective(Txm record);

    int updateByPrimaryKeySelective(Txm record);

    int updateByPrimaryKey(Txm record);

    int deleteByPrimaryKey(Txm record);

    int deleteByIds(Collection<Object> collection);

    Txm selectByPrimaryKey(Txm record);

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

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

    /**
     * 统计总行数
     *
     * @param txm 查询条件
     * @return 总行数
     */
    long count(Txm txm);

    /**
     * 通过ID查询单条数据
     *
     * @param inr 主键
     * @return 实例对象
     */
    Txm queryById(String inr);

    /**
     * 查询指定行数据
     *
     * @param txm 分页对象
     * @return 对象列表
     */
    List<Txm> queryAllByLimit(Txm txm);

    /**
     * 新增数据
     *
     * @param txm 实例对象
     * @return 影响行数
     */
    int insert(Txm txm);

    /**
     * 修改数据
     *
     * @param txm 实例对象
     * @return 影响行数
     */
    int update(Txm txm);

    /**
     * 通过主键删除数据
     *
     * @param inr 主键
     * @return 影响行数
     */
    int deleteById(String inr);

    int check(Txm txm);

    List<Txm> getTxmBlock(@Param("disdoc") String disdoc);

    List<Txm> selectByExtkeyAndUil(@Param("extkey") String extkey, @Param("uil") String uil);

    Txm queryOneTxmByExtkey(@Param("extkey") String extKey);

    List<Txm> selectByExtkeyAndUilOrderbyNam(@Param("extkey") String extkey, @Param("uil") String uil);

    List<Txm> selectByExtkeyAndUilOrder(
            @Param("extkey") String extkey, @Param("uil") String uil, @Param("order") String order);
}