package pwc.taxtech.atms.vat.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import pwc.taxtech.atms.MyVatMapper;
import pwc.taxtech.atms.vat.dpo.BalanceSheetCondition;
import pwc.taxtech.atms.vat.entity.BalanceSheet;
import pwc.taxtech.atms.vat.entity.BalanceSheetExample;

import java.util.List;

@Mapper
public interface BalanceSheetMapper extends MyVatMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    long countByExample(BalanceSheetExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    int deleteByExample(BalanceSheetExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    int deleteByPrimaryKey(Long id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    int insert(BalanceSheet record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    int insertSelective(BalanceSheet record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    List<BalanceSheet> selectByExampleWithRowbounds(BalanceSheetExample example, RowBounds rowBounds);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    List<BalanceSheet> selectByExample(BalanceSheetExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    BalanceSheet selectByPrimaryKey(Long id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    int updateByExampleSelective(@Param("record") BalanceSheet record, @Param("example") BalanceSheetExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    int updateByExample(@Param("record") BalanceSheet record, @Param("example") BalanceSheetExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    int updateByPrimaryKeySelective(BalanceSheet record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table balance_sheet
     *
     * @mbg.generated
     */
    int updateByPrimaryKey(BalanceSheet record);

    List<BalanceSheet> selectByCondition(@Param("bsCondition") BalanceSheetCondition condition);

    int insertBatch(List<BalanceSheet> bls);
}