package com.aegis.resource.requisition.mapper;

import java.util.List;
import com.aegis.resource.requisition.domain.RequisitionAgreement;

/**
 * 征用协议Mapper接口
 * 
 * @author aegis
 */
public interface ResourceRequisitionAgreementMapper {

    /**
     * 查询征用协议列表
     * 
     * @param agreement 协议信息
     * @return 协议集合
     */
    public List<RequisitionAgreement> selectRequisitionAgreementList(RequisitionAgreement agreement);

    /**
     * 根据征用ID查询协议列表
     * 
     * @param requisitionId 征用ID
     * @return 协议集合
     */
    public List<RequisitionAgreement> selectRequisitionAgreementListByRequisitionId(Long requisitionId);

    /**
     * 根据ID查询协议
     * 
     * @param id 协议ID
     * @return 协议信息
     */
    public RequisitionAgreement selectRequisitionAgreementById(Long id);

    /**
     * 新增征用协议
     * 
     * @param agreement 协议信息
     * @return 结果
     */
    public int insertRequisitionAgreement(RequisitionAgreement agreement);

    /**
     * 修改征用协议
     * 
     * @param agreement 协议信息
     * @return 结果
     */
    public int updateRequisitionAgreement(RequisitionAgreement agreement);

    /**
     * 删除征用协议
     * 
     * @param id 协议ID
     * @return 结果
     */
    public int deleteRequisitionAgreementById(Long id);

    /**
     * 根据征用ID删除所有协议
     * 
     * @param requisitionId 征用ID
     * @return 结果
     */
    public int deleteRequisitionAgreementByRequisitionId(Long requisitionId);
}