package com.ruoyi.project.apply.mapper;

import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
import com.ruoyi.project.apply.domain.TApplySafetychange;

import java.util.List;

/**
 * 组织保护措施状态变更申请Mapper接口
 *
 * @author ruoyi
 * @date 2023-02-09
 */
public interface TApplySafetychangeMapper
{
    /**
     * 查询组织保护措施状态变更申请
     *
     * @param id 组织保护措施状态变更申请ID
     * @return 组织保护措施状态变更申请
     */
    public TApplySafetychange selectTApplySafetychangeById(Long id);

    /**
     * 查询组织保护措施状态变更申请列表
     *
     * @param tApplySafetychange 组织保护措施状态变更申请
     * @return 组织保护措施状态变更申请集合
     */
    @DataScope(deptAlias = "d")
    public List<TApplySafetychange> selectTApplySafetychangeList(TApplySafetychange tApplySafetychange);

    @DataScope(deptAlias = "d")
    public List<TApplySafetychange> selectChangeDescribe(TApplySafetychange tApplySafetychange);

    @DataScope(deptAlias = "d")
    public List<TApplySafetychange> selectChangeReason(TApplySafetychange tApplySafetychange);

    @DataScope(deptAlias = "d")
    public List<TApplySafetychange> selectSAFA(TApplySafetychange tApplySafetychange);

    /**
     * 新增组织保护措施状态变更申请
     *
     * @param tApplySafetychange 组织保护措施状态变更申请
     * @return 结果
     */
    public int insertTApplySafetychange(TApplySafetychange tApplySafetychange);

    /**
     * 修改组织保护措施状态变更申请
     *
     * @param tApplySafetychange 组织保护措施状态变更申请
     * @return 结果
     */
    public int updateTApplySafetychange(TApplySafetychange tApplySafetychange);

    /**
     * 删除组织保护措施状态变更申请
     *
     * @param id 组织保护措施状态变更申请ID
     * @return 结果
     */
    public int deleteTApplySafetychangeById(Long id);

    /**
     * 批量删除组织保护措施状态变更申请
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTApplySafetychangeByIds(Long[] ids);

    TApplySafetychange selectTApplySafetychangeByLock(String lockNo);
}
