package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Bopcod;
import com.brilliance.isc.vo.manager.BopcodVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface BopcodMapper {

    int insertSelective(Bopcod record);

    int updateByPrimaryKeySelective(Bopcod record);

    int updateByPrimaryKey(Bopcod record);

    int deleteByPrimaryKey(Bopcod record);

    List<Bopcod> selectByCod(@Param("cod") String cod, @Param("dir") String dir);

    /**
     * 申报维护交易使用
     *
     * @param cod
     * @return
     */
    List<Bopcod> selectByCodShenBao(@Param("cod") String cod);


    Bopcod selectByPrimaryKey(Bopcod record);

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

    /**
     * 查询指定行数据
     *
     * @param bopcod 查询条件
     * @return 对象列表
     */
    List<Bopcod> queryAllByLimit(Bopcod bopcod);

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

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

    /**
     * 通过主键删除数据
     *
     * @param bopcod 实例对象
     * @return 影响行数
     */
    int deleteById(Bopcod bopcod);

    int checkadd(Bopcod bopcod);

    List<Bopcod> listFuzzyByRecord(BopcodVo record);

    List<Bopcod> listByUniqueKey(Bopcod record);

    List<Bopcod> getBopcodByCondition(@Param("dir") String dir, @Param("sta") String sta, @Param("notCod") String notCod, @Param("cod") String cod);

    List<Bopcod> listByGhutyp(Bopcod record);

    List<Bopcod> listByWaitjm(Bopcod record);

    List<Bopcod> queryBopcodList(Bopcod record);

    String getBopcodType(@Param("dir") String dir, @Param("cod") String cod);

    @Select("select distinct cod from bopcod where typ='C' and sta='A'")
    List<String> selectZbxmCod();

    List<Bopcod> getBopcod(@Param("dir") String dir, @Param("notCod") String notCod, @Param("cod") String cod);

    List<Bopcod> getBopcodByCodNoZmq();

    List<Bopcod> getBopcodByCodAndZmq();
}