package com.ruoyi.busi.service;

import java.util.List;
import com.ruoyi.busi.domain.SysOrg;
import com.ruoyi.busi.domain.vo.SysOrgOperateVO;
import com.ruoyi.busi.domain.vo.SysOrgQuery;
import com.ruoyi.busi.domain.vo.SysOrgTreeSelect;

/**
 * 司法行政机构 Service 接口
 *
 * @author ruoyi
 */
public interface ISysOrgService
{
    /**
     * 分页查询机构列表
     */
    List<SysOrg> selectSysOrgList(SysOrgQuery query);

    /**
     * 查询机构树
     */
    List<SysOrgTreeSelect> selectSysOrgTree(SysOrgQuery query);

    /**
     * 根据编码查询详情
     */
    SysOrg selectSysOrgByJgbm(String jgbm);

    /**
     * 新增机构
     */
    int insertSysOrg(SysOrgOperateVO operateVO);

    /**
     * 修改机构
     */
    int updateSysOrg(SysOrgOperateVO operateVO);

    /**
     * 逻辑删除机构
     */
    int deleteSysOrgByJgbm(String jgbm);

    /**
     * 修改机构状态
     */
    int changeStatus(String jgbm, Integer status);

    /**
     * 校验机构编码是否唯一
     */
    boolean checkJgbmUnique(String jgbm);

    /**
     * 校验机构代码是否唯一
     */
    boolean checkJgdmUnique(String jgbm, String jgdm);
}
