package com.bonus.material.materialStation.mapper;

import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeasePublishInfo;
import com.bonus.material.materialStation.domain.ProAuthorizeDetails;
import com.bonus.material.materialStation.domain.ProAuthorizeInfo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

/**
 * @author hay
 * @description 项目部授权
 * @date 2025/6/18 21:54
 */
@Mapper
public interface ProAuthorizeMapper {

    /**
     * 获取项目部授权列表
     * @param leaseApplyInfo
     * @return
     */
    List<LeasePublishInfo> getPublishList(LeaseApplyInfo leaseApplyInfo);

    /**
     * 添加项目部授权信息
     * @param bean
     * @return
     */
    int insertProAuthorizeInfo(ProAuthorizeInfo bean);

    /**
     * 添加项目部授权详情信息
     * @param details
     * @return
     */
    int insertProAuthorizeDetails(ProAuthorizeDetails details);

    /**
     * 获取项目部授权信息
     * @param bean
     * @return
     */
    ProAuthorizeInfo selectProAuthorizeInfo(ProAuthorizeInfo bean);

    /**
     * 获取项目部授权详情信息
     * @param id
     * @return
     */
    List<ProAuthorizeDetails> getDetailsList(Long id);

    /**
     * 删除项目部授权详情信息
     * @param authId
     * @return
     */
    int deleteProAuthorizeDetails(Long authId);

    ProAuthorizeInfo selectProAuthorizeInfoView(ProAuthorizeInfo bean);

    List<ProAuthorizeInfo> getAuthorList(ProAuthorizeInfo bean);

    int updateAuthorizeInfoSign(ProAuthorizeDetails bean);

    int updateAuthorizeInfoSignStatus(ProAuthorizeDetails bean);
}
