package com.ruoyi.busi.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.busi.domain.SysOrg;
import com.ruoyi.busi.domain.vo.SysOrgQuery;

/**
 * 司法行政机构 Mapper 接口
 *
 * @author ruoyi
 */
public interface SysOrgMapper
{
    /**
     * 根据机构编码查询
     */
    SysOrg selectSysOrgByJgbm(@Param("jgbm") String jgbm);

    /**
     * 查询机构列表
     */
    List<SysOrg> selectSysOrgList(SysOrgQuery query);

    /**
     * 校验机构编码是否唯一
     */
    SysOrg checkJgbmUnique(@Param("jgbm") String jgbm);

    /**
     * 校验机构代码是否唯一
     */
    SysOrg checkJgdmUnique(@Param("jgdm") String jgdm);

    /**
     * 统计下级机构数量
     */
    int countChildByJgbm(@Param("jgbm") String jgbm);

    /**
     * 新增机构
     */
    int insertSysOrg(SysOrg sysOrg);

    /**
     * 修改机构
     */
    int updateSysOrg(SysOrg sysOrg);

    /**
     * 逻辑删除机构
     */
    int deleteSysOrgByJgbm(@Param("jgbm") String jgbm, @Param("updateBy") String updateBy);

    /**
     * 修改机构状态
     */
    int updateSysOrgStatus(@Param("jgbm") String jgbm, @Param("status") Integer status,
        @Param("updateBy") String updateBy);
}