package com.bonus.material.basic.mapper;

import java.util.Date;
import java.util.List;
import com.bonus.material.basic.domain.BmAgreementInfo;

/**
 * 协议管理Mapper接口
 * 
 * @author xsheng
 * @date 2024-09-26
 */
public interface BmAgreementInfoMapper 
{
    /**
     * 查询协议管理
     * 
     * @param agreementId 协议管理主键
     * @return 协议管理
     */
    public BmAgreementInfo selectBmAgreementInfoByAgreementId(Long agreementId);

    /**
     * 查询协议管理列表
     * 
     * @param bmAgreementInfo 协议管理
     * @return 协议管理集合
     */
    public List<BmAgreementInfo> selectBmAgreementInfoList(BmAgreementInfo bmAgreementInfo);

    /**
     * 新增协议管理
     * 
     * @param bmAgreementInfo 协议管理
     * @return 结果
     */
    public int insertBmAgreementInfo(BmAgreementInfo bmAgreementInfo);

    /**
     * 修改协议管理
     * 
     * @param bmAgreementInfo 协议管理
     * @return 结果
     */
    public int updateBmAgreementInfo(BmAgreementInfo bmAgreementInfo);

    /**
     * 删除协议管理
     * 
     * @param agreementId 协议管理主键
     * @return 结果
     */
    public int deleteBmAgreementInfoByAgreementId(Long agreementId);

    /**
     * 批量删除协议管理
     * 
     * @param agreementIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBmAgreementInfoByAgreementIds(Long[] agreementIds);

    public int selectNumByMonth(Date nowDate);

    /**
     * 查询单位类型，是内部单位/外部单位
     * @param agreementId
     * @return
     */
    String getProtocol(String agreementId);

    /**
     * 根据协议id查询协议信息
     * @param agreementId
     * @return
     */
    int selectByagreementId(Long agreementId);

    String getDictLabel(int id);

    /**
     * 根据班组id和工程id查询协议信息
     * @param bmAgreementInfo
     * @return
     */
    BmAgreementInfo queryByTeamIdAndProjectId(BmAgreementInfo bmAgreementInfo);

    BmAgreementInfo queryByTeamIdAndProjectIdCl(BmAgreementInfo bmAgreementInfo);

    /**
     * 新增材料站协议信息
     * @param bmAgreementInfo
     * @return
     */
    int insertBmAgreementInfoClz(BmAgreementInfo bmAgreementInfo);

    /**
     * 查询材料站协议列表
     * @param nowDate
     * @return
     */
    int selectNumByMonthClz(Date nowDate);
}
