package com.bonus.system.dept.service;

import com.bonus.system.basic.domain.SysTree;
import com.bonus.system.basic.domain.vo.TreeSelect;
import com.bonus.system.dept.entity.SubOrgBean;

import java.util.List;

/**
 * 组织 业务层
 *
 * @author bonus
 */
public interface SubOrgService {

	/**
	 * 查询组织列表
	 *
	 * @param SubOrgBean 组织信息
	 * @return 菜单列表
	 */
	List<SubOrgBean> selectSubOrgList(SubOrgBean SubOrgBean);

	/**
	 * 根据组织编号获取详细信息
	 * @param orgId 组织编号
	 * @return bean
	 */
	SubOrgBean selectOrgById(Long orgId);

	/**
	 * 新增组织
	 * @param org 组织对象
	 * @return 1|0
	 */
	int insertOrg(SubOrgBean org);

	/**
	 * 校验组织名称是否唯一
	 * @param org 组织信息
	 * @return true|false
	 */
	Boolean checkOrgNameUnique(SubOrgBean org);

	/**
	 * 修改组织
	 * @param org 组织信息
	 * @return 1|0
	 */
	int updateOrg(SubOrgBean org);

	/**
	 * 查询组织是否有父子级
	 * @param orgId 组织编号
	 * @return true|false
	 */
	boolean hasChildByOrgId(Long orgId);

	/**
	 * 检查组织是否绑定用户
	 * @param orgId 组织编号
	 * @return true|false
	 */
	boolean checkOrgExistUser(Long orgId);

	/**
	 * 删除组织
	 * @param orgId 组织编号
	 * @return 1|0
	 */
	int deleteOrgById(Long orgId);


	int changeStatus(SubOrgBean org);
}
